Condividi:        

funzione se incompleta

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

funzione se incompleta

Postdi Assurdo1 » 30/05/16 11:04

Ciao a tutti,
ho un problema con la funzione "se", purtroppo non so come superare il limite delle nidificazioni che con il mio excell è di 7.
ho scritto la seguente formula:

=SE(D4 >= 1;(SE(F4=3;CONCATENA("m-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x" & STRINGA.ESTRAI(D4;3;6)));SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x" & STRINGA.ESTRAI(D4;3;6))));"")

è il risultato di una estrazione dati un po particolare, ma in breve mi servirebbe che se:

F4=3 restituisca m- (ora lo fa e va bene)
F4=6 restituisca forex
F4=c restituisca cartoncino.

Ovviamente lasciando invariate le altre condizioni.

E' possibile?

Grazie a tutti.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Sponsor
 

Re: funzione se incompleta

Postdi wallace&gromit » 30/05/16 14:26

non penso che tu sia arrivato alla fine delle possibilità di annidamento, in fondo, in questo modo, hai 3 livelli.
ecco la formula che sembra funzionare:
Codice: Seleziona tutto
=SE(D4>=1;(SE(F4=3;CONCATENA("m-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4=6;CONCATENA("fore";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4="c";CONCATENA("cartoncino";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));""))));"")
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 15:36

Ciao,
ho provato la formula, ora scrive le opzioni di F4=, ma se il valore non è 3, 6 o c, non mi restituisce il valore della D4.
Ho provato così:

=SE(D4 >= 1;(SE(F4=3;CONCATENA("m - ";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x" & STRINGA.ESTRAI(D4;3;6)));SE(F4 = 6;CONCATENA("forex - ";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x" & STRINGA.ESTRAI(D4;3;6)));SE(F4 = "c";CONCATENA("cartoncino - ";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)& "x" &STRINGA.ESTRAI(D4;3;6)));D4))));"")

mi da il valore D4, ma non mi scrive la x da sinistra!!!

aiutooo
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi wallace&gromit » 30/05/16 15:49

il concetto del trova("x";D4) non l'avevo capito prima e continuo a non capirlo, esattamente cosa dovrebbe fare?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 16:29

Nella cella d4 viene inserita una misura ad es. 30x40 o 30x115, capita che a volte non è presente la x è quindi se manca deve inserirla.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 16:30

E comunque deve scrivere il valore della d4
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi wallace&gromit » 30/05/16 17:24

ok, tutto chiaro, mancava tutta la trafila dell'inserimento della x nell'ultimo caso.
Codice: Seleziona tutto
=SE(D4>=1;(SE(F4=3;CONCATENA("m-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4=6;CONCATENA("fore";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4="c";CONCATENA("cartoncino";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)))));"")
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 19:59

Perdona la mia ottusaggine,
ora la formula è quasi perfetta, solo che se in d4 è presente la misura con la x (es. 30x45), senza condizioni f4, mi scrive la misura con la doppia x (30xx45), mentre se non è presente va a scrivere correttamente con una sola x. la cella f4 può contenere anche valori diversi da c, 6 e 3 che non hanno alcuna descrizioni aggiuntiva a d4.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi wallace&gromit » 30/05/16 20:21

hai ragione, mancava ancora una condizione, ecco qui

Codice: Seleziona tutto
=SE(D4>=1;(SE(F4=3;CONCATENA("m-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4=6;CONCATENA("fore";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(F4="c";CONCATENA("cartoncino";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6))))));"")


Edit: mi rimane il dubbio che si possa semplificare, perché sembrerebbe funzionare comunque solo se il secondo numero è a due cifre. Se fossero tutti sempre solo a due cifre ecco una variante semplificata:
Codice: Seleziona tutto
=SE(D4>=1;(SE(F4=3;"m-"&SINISTRA(D4;2)&"x"&DESTRA(D4;2);SE(F4=6;"fore"&SINISTRA(D4;2)&"x"&DESTRA(D4;2);SE(F4="c";"cartoncino"&SINISTRA(D4;2)&"x"&DESTRA(D4;2);SINISTRA(D4;2)&"x"&DESTRA(D4;2)))));"")
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 21:01

Perfetto, funziona tutto alla perfezione.
Grazie mille.

Quella semplificata purtroppo non va bene perchè capitano anche con più di due cifre.

Sei grande.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Assurdo1 » 30/05/16 21:20

Visto il numero di se inseriti, credi si possano aggiungere altre condizioni per f4?
ad es: se f4=5 allora f1; f4=7 allora c1 etc..
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Anthony47 » 31/05/16 00:56

Spesso si parla di "max numero di SE nidificati", ma il limite e' relativo a "funzioni" (qualsiasi Funzione) nidificate; nella formula di w&g ad esempio la funzione TROVA (in TROVA("x";D4)) mi pare sia gia' al settimo livello.
Non so se questa e' equivalente:
Codice: Seleziona tutto
=SE(F4=3;"m-";"")&SE(F4=6;"forex";"")&SE(F4="c";"cartoncino";"")&SE(VAL.ERR(TROVA("x";D4));SINISTRA(D4;2)&"x"&DESTRA(D4;2);D4)

In questo caso il max livello di nifìdificazione e' 3 (sempre Trova in TROVA("x";D4))

Non ho capito la richiesta di ulteriore Se per F4; forse intendevi cosi'?
Codice: Seleziona tutto
=SE(F4=5;F1;"")& SE(F4=5;C1;"")&SE(F4=3;"m-";"")&SE(F4=6;"forex";"")&etc etc


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: funzione se incompleta

Postdi Assurdo1 » 31/05/16 16:31

Ok,
ma sempre da inserire in quella formula di w&g come condizioni aggiuntive...
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Anthony47 » 31/05/16 21:54

Ok,
ma sempre da inserire in quella formula di w&g come condizioni aggiuntive...

:undecided:
Non ho capito a cosa si riferisce "Ok", ne' il significato della seconda riga.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: funzione se incompleta

Postdi Assurdo1 » 01/06/16 09:39

l'ok era riferito all'ulteriore se per F4, che mi servirebbe inserire nella formula sviluppata e funzionante.
ora è relativa a f4 solo se è uguale a 3, 6 o c.
Vorrei sapere se si potrebbe implementare la formula con altre opzioni per f4, ora è:

se f4=3 allora m-
se f4=6 allora forex-
se f4=c allora cartoncino-;

in pratica se possibile aggiungere anche:

se f4=5 allora f1-
se f4=7 allora f2-
se f4=8 allora c1-
se f4=9 allora c2-
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Anthony47 » 01/06/16 13:00

Ho capito.
L'implementazione di ulteriori SE e' gia' nella seconda formula che ti ho scritto "ieri mattina presto"; salvo che, visto che ora e' chiaro che "f1, c1 etc" non sono celle ma stringhe, invece di
=SE(F4=5;F1;"")& SE(F4=5;C1;"")&SE(F4=3;"m-";"")&SE(F4=6;"forex";"")&etc etc
devi usare
Codice: Seleziona tutto
=SE(F4=5;"f1-";"")& SE(F4=5;"c1-";"")&SE(F4=3;"m-";"")&SE(F4=6;"forex";"")&etc etc

In questo modo puoi aggiungere tutti i SE che ti servono.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: funzione se incompleta

Postdi Assurdo1 » 01/06/16 15:02

come inserisco il tutto nella formula?

=SE(D4>=1;(SE(F4=3;CONCATENA("m-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));
SE(F4=6;CONCATENA("forex-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));
SE(F4="c";CONCATENA("cartoncino-";SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6)));
SE(VAL.NUMERO(TROVA("x";D4));D4;SINISTRA(D4;2)&"x"&STRINGA.ESTRAI(D4;3;6))))));"")
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Anthony47 » 01/06/16 15:06

La mia modifica va sulla mia formula: viewtopic.php?f=26&t=106971&p=626791#p626719
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: funzione se incompleta

Postdi Assurdo1 » 01/06/16 15:30

Allora credo non vada bene purtroppo.
la tua formula non la ho provata, ma vedo che cerca il valore x e scrive da sinistra e da destra. da destra possono essere due o tre le cifre, non solo due.
mentre la formula di w&g è ok.
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Re: funzione se incompleta

Postdi Assurdo1 » 01/06/16 15:34

Ho provato la tua soluzione e credo funzioni!!!!
Assurdo1
Utente Junior
 
Post: 22
Iscritto il: 23/10/14 18:51

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "funzione se incompleta":


Chi c’è in linea

Visitano il forum: Marius44 e 56 ospiti