Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Possibile sostituzione delle funzione SE

Ultimo Aggiornamento: 07/12/2016 14:29
Post: 11
Registrato il: 16/07/2016
Città: MILANO
Età: 31
Utente Junior
2013
OFFLINE
30/11/2016 11:57

Ho 4 celle che hanno la stessa funzione circa uguale cambia solo alcune celle di riferimento.
Questa funzione é di base un SE con 67 variabili, legate ad un elenco e ad una cella con anch'essa 2 variabili.
Per semplificare metto una versione semplice
Visto che tale funzione é alquanto grande e se sbaglio qualcosa mando in pappa tutto, é possibile convertire questa funzione in una piu semplice da impostare?

=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))

le celle $B$74 e $j$8 sono fisse per tutte, le variabili sono mod!$A$[numero] e la loro quantitá come per il risultato A e B
Post: 911
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
30/11/2016 12:08

ciao
senza file è difficile

prova a dare un'occhiata alla formula di Ninai
in questo post

Formula Se con molteplici condizioni



domanda di Di Dio Ivano

poche righe più sotto alla tua richiesta
Post: 747
Registrato il: 24/04/2004
Città: TERAMO
Età: 63
Utente Senior
2010
OFFLINE
30/11/2016 18:27

Ciao.
Non riesco a vedere il post di Ninai, quindi dico la mia.
Se la formula è davvero complessa come dici, può essere conveniente scrivere una UDF in VBA...
Ecco una "formulaccia" scritta "a orecchio" a solo titolo di esempio

Option Explicit

'=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))

Public Function RockAndRoll(B74, A40, A41, J8) As Variant
    If ((B74 = A40) Or (B74 = A41)) Then
        If J8 = "piccola" Then
            RockAndRoll = "A"
        ElseIf J8 = "media" Then
            RockAndRoll = "B"
        End If
    End If
End Function


naturalmente i nomi di cella nella funzione sono in realtà nomi di variabili (parametri, in questo caso)...
[Modificato da Zer0kelvin 30/11/2016 18:51]
__________________________
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-Dai ad un uomo un pesce e lo avrai sfamato per un giorno; insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
-Il sonno della ragione genera mostri. (Francisco Goya)
Post: 11
Registrato il: 16/07/2016
Città: MILANO
Età: 31
Utente Junior
2013
OFFLINE
02/12/2016 13:18

Re:
Zer0kelvin, 30/11/2016 18.27:

Ciao.
Non riesco a vedere il post di Ninai, quindi dico la mia.
Se la formula è davvero complessa come dici, può essere conveniente scrivere una UDF in VBA...
Ecco una "formulaccia" scritta "a orecchio" a solo titolo di esempio

Option Explicit

'=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))

Public Function RockAndRoll(B74, A40, A41, J8) As Variant
    If ((B74 = A40) Or (B74 = A41)) Then
        If J8 = "piccola" Then
            RockAndRoll = "A"
        ElseIf J8 = "media" Then
            RockAndRoll = "B"
        End If
    End If
End Function


naturalmente i nomi di cella nella funzione sono in realtà nomi di variabili (parametri, in questo caso)...


visto che ne devo unire 12 sono costretto a fare 12 macro cosi o posso anche unirle in una sola?


Post: 3.570
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Master
2010
OFFLINE
02/12/2016 15:03

ciao
dovresti allegare un file rappresentativo della situazione e di quello che vorresti ottenere, al momento non mi è chiaro



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 754
Registrato il: 24/04/2004
Città: TERAMO
Età: 63
Utente Senior
2010
OFFLINE
03/12/2016 17:05


visto che ne devo unire 12 sono costretto a fare 12 macro cosi o posso anche unirle in una sola?

Questo dipende dalle tue reali necessità.
Come già suggerito da Ninai, sarebbe meglio avere a disposizione un file con le varie situazioni possibili e con qualche noticina esplicativa.
__________________________
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-Dai ad un uomo un pesce e lo avrai sfamato per un giorno; insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
-Il sonno della ragione genera mostri. (Francisco Goya)
Post: 12
Registrato il: 16/07/2016
Città: MILANO
Età: 31
Utente Junior
2013
OFFLINE
04/12/2016 14:42

ecco il file esempio, dovrebbe essere capibile
Post: 13
Registrato il: 16/07/2016
Città: MILANO
Età: 31
Utente Junior
2013
OFFLINE
06/12/2016 15:41

attualmente sto usando la funzione SE concatenata con &" "&
formula usata
ma mi risulta molto lungo e con un alto rischio di commettere errori
Post: 3.577
Registrato il: 04/07/2012
Città: BARCELLONA POZZO DI GOTTO
Età: 61
Utente Master
2010
OFFLINE
06/12/2016 19:12

ciao
puoi usare qualcosa di simile
=CERCA.VERT(B74;tabella;3+(J8="media");FALSO),
ma non la puoi applicare alle immagini, ci vogliono i riferimenti di cella, per quanto riguarda l'indice da mettere nella formula, è calibrato da +(J8="media"), questo lo farà aumentare di una colonna, qualora fosse VERO.



--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8
Post: 14
Registrato il: 16/07/2016
Città: MILANO
Età: 31
Utente Junior
2013
OFFLINE
07/12/2016 14:29

Re:
ninai, 06/12/2016 19.12:


=CERCA.VERT(B74;tabella;3+(J8="media");FALSO)


b74 é la cella di riferimento ; tabella = lista dove ho l'elenco ?; il +3 che significa?

Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 11:04. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com