formula condizione
Hai un problema con Excel? 
formula condizione
di save#5 (utente non iscritto) data: 31/08/2015 16:09:54
Ciao a tutti vi espongo brevemente il mio problema:
ho costruito la seguente formula con i se che vi mostro:
=+SE(A30="WL 45/2 S";LP!F4;SE(A30="WL 65/2 S";LP!F9;SE(A30="WL 85/3 S";LP!F13;SE(A30="WL 105/4 S";LP!F17;SE(A30="WL 125/4 S";LP!F21;SE(A30="WL 125/5 S";LP!F21;SE(A30="WL 145/5 S";LP!F25)))))))
e fin qui tutto ok.
Adesso vorrei modificarla dicendo la seguente cosa:
se A30= "WL 45/2 S" allora mi metti il valore x ma se A30="WL 45/2 F" mi metti il valore y. (ovviamente per tutti i casi menzionati sopra)
Come potrei fare???
di save#5 (utente non iscritto) data: 31/08/2015 20:46:42
C'è nessuno che riesce a darmi un consulto????
di ninai data: 31/08/2015 21:53:53
forse, come me, anche altri non hanno capito cosa vuoi ottenere e/o hanno notato qualche incongruenza nella tua esposizione,
es.
nella formula riporti:
SE(A30="WL 45/2 S";LP!F4.......
ma poi dici:
Adesso vorrei modificarla dicendo la seguente cosa:
se A30= "WL 45/2 S" allora mi metti il valore x
inoltre concludi:
ma se A30="WL 45/2 F" mi metti il valore y. (ovviamente per tutti i casi menzionati sopra)
quell'"ovviamente", a me ha fatto perdere la bussola del tutto
di cromagno data: 31/08/2015 21:56:19
Io non riesco a capire cosa non riesci a fare...
Hai già scritto una formula con vari SE annidati, annidane altrettanti per le nuove condizioni.
Se non dovesse essere così, ripeto, non capisco che vuoi fare.
Comunque, quando hai molte condizioni conviene creare una tabella di due colonne con a sinistra il valore cercato e a destra il valore da restituire, e dopo usi la funzione CERCA.VERT per trovare il valore giusto.
[EDIT]
@ninai
io sono un'altro che ha perso la bussola...
di save#5 (utente non iscritto) data: 31/08/2015 22:17:43
Allora mi spiego meglio.
Quello che voglio ottenere e questo :
Se A30="wl 45/2 S" allora prendi come valore il valore di una cella ( che nel mio caso è LP!F4 che è una valore che ho in un altro foglio dello stesso file) e se A30=° wl 45/2 F" mi prendi come valore il valore di un altra cella ancora che sta sempre in un altro foglio e così via facendo la stessa cosa per tutti i casi che ho scritto nella prima formula.
COSÌ NEL MOMENTO CHE IN UN ALTRO FOGLIO DIGITO WL 45/2 s mi scrive un valore e se digito WL 45/2 F me ne scrive un altro.
Ora chiedo tutto ciò come può essere scrotto utilizzando una formula excel?
Grazie anticipatamente per il vostro supporto.
"
di cromagno data: 31/08/2015 22:23:31
Come detto prima...
o con i vari SE annidati, oppure ti crei una tabella ed usi CERCA.VERT.
Non ti scrivo tutta la formula perchè ora ho solo il cellulare, ma se hai scritto tu quella che hai postato prima, non avrai problemi ad aggiungere altri SE.
di save#5 (utente non iscritto) data: 31/08/2015 22:48:21
E invece caro cromagno arrivato all'8 SE poi nn funziona più. Per cui mi chiedevo se magari utilizzando qualche E o O si riusciva a ovviare il problema.
Cmq se quando hai tempo riesci a scriverla la formula, magari io nn l'ho scritta giusta (anzi sicuramente sarà cosi) mi faresti un enorme piacere.
Grazie mille ancora.
di ninai data: 31/08/2015 23:23:16
ciao
credo che sbagli qualche sintassi nei vari SE annidati.
Come ti ha consigliato prima cromagno, ti conviene crearti una tabella con tutte le casistiche possibili.
esempio:
in A1:B10 (o dove vuoi tu E GRANDE QUANTO TI SERVE)
ti crei una tabella
metti in A1,A2, A3 ecc. i vari valori possibili di A30,
WL 45/2 S , WL 65/2 S , WL 85/3 S ecc. ecc.
in B1, B2, B3 ecc. i rispettivi riscontri,
=LP!F4, =LP!F9, =LP!F13, ecc. ecc.
La formula che userai sarà:
=CERCA.VERT(A30;$A$1:$B$10;2;FALSO)
di cromagno data: 31/08/2015 23:35:00
@ save#5
visto che con le condizioni che ti servono superi il limite massimo di SE devi fare esattamente come ti ha spiegato "ninai" (se dovessi avere la necessità di aggiungere qualche altra condizione non avresti nessun limite).
Ciao
di save#5 (utente non iscritto) data: 02/09/2015 12:58:51
Purtroppo la tua soluzione col cerca vert ,ninai, non è conforme al mio caso.
Allego l'esempio.
In pratica nel foglio due c'è un menù a tendina dal quale io posso selezionare vari modelli di macchine: WS 45/2, WS 65/2 ecc, che si differenziano come potete vedere nell'elenco del menù a tendina da due sigle finali S e F.
Queste due sigle vanno a richiamare dei valori che stanno nel foglio 1 per ogni taglia di macchina.
Ora io volevo tramite formula dire che nel momento che dal menù a tendina seleziono per esempio WS 45/2 S mi prende il valore il valore corrispondente dall'altro foglio e viceversa se seleziono sempre dal menu WS 45/2 F, mi prende l'altro valore. Lo stesso vale per le altre taglie.
Ora io sono riuscito a mettere giù una formula con tanti se, come potete vedere dall'esempio, e devo dire che funziona perchè mi prende esattamente il valore che voglio.
L'unica cosa che non va e che non mi mette il valore in valuta in euro, ma vi da il valore con cifre decimali: per essere chiari invece di mettermi 289,80 euri mi mette 289,79999999999999 e tale valore non me lo fa cambiare .
Adesso chiedo se qualcuno di voi sa come ovviare a questa cosa o magari trova un metodo ancora più efficace .
Attendo nuove consulenze.
di Raffaele_53 data: 02/09/2015 13:43:06
Il Tuo allegato è un Xlsx, pertanto da excel 2007 ci stanno 64 "SE" nidificati.
Nell'allegato Ti faccio vedere il cerca.vert che intendeva ninai (ciao)
Molto più facile di assemblare tanti "SE"
di save#5 (utente non iscritto) data: 02/09/2015 14:18:59
Caro raffaele,
grazie per la risposta, la tua lunga formula l'avevo provato ad usare ma mentre a te funzione quando la uso io mi da cella vuota e nn mi scrive niente.
di Raffaele_53 data: 02/09/2015 14:38:05
Ho spostato un allegato, non dire che non funziona (a meno che la usi in excel 2003).
di save#5 (utente non iscritto) data: 02/09/2015 15:04:47
Assolutamente non volevo dire che la tua formula non funziona, anche perchè effettivamente nell'esempio che ho fatto funziona benissimo.
Ho solo detto che nel mio file originale non funziona: non so perchè.
Cmq ho utilizzato l'altro metodo è ho risolto.
Grazie mille ancora.
Vedrò poi perchè non funziona nel mio caso reale.
di ninai data: 02/09/2015 15:48:43
ciao
ricambio il saluto a Raffaele.
Non so cosa cambia nella struttura del tuo file originale ma in quello di esempio ti propongo una formula alternativa che non necessita altra tabella di appoggio.
in E10:
=INDICE(Foglio1!$F$6:$I$29;CONFRONTA(SINISTRA($D$10;TROVA(" ";$D10;4)-1);Foglio1!$B$6:$B$27;0)+1+(DESTRA($D10;1)="f");RIF.COLONNA(A1))
devi però togliere gli spazi vuoti finali in alcune delle celle in B6:B27.
ti allego il file di lavoro, derivante dall'esempio originale
Sarebbe giusto che quando si pubblica un file di esempio, questo, come ovvio, sia coerente con quello originale.
di save#5 (utente non iscritto) data: 02/09/2015 16:38:55
Ragazzi provo a complicare la situazione. Allego anche un secondo esempio questa volta valido.
Come potete vedere nel foglio RSW_LP c'è il file sorgente dove ci sono tutti i calcoli che poi sono presi nel foglio LP che è uguale a quello che ho messo nel primo esempio. Cambia soltanto il fatto che ci sono dei menu a tendina nelle colonne Kw dove selezionando una certa potenza viene preso dal foglio RSW_LP il valore giusto e messo nelle tabelle a fianco.
Adesso vi chiedevo questo: oltre al quello che abbiamo fatto nel primo esempio se io volessi prendere il valore oltre che in base delle scelta della tipo di taglia macchina (WS 45/2 S, WS 45/2 F ecc...) anche in base alla potenza??
Cioè nel foglio 1 vorrei una volta selezionata la macchina avere il valore giusto, anche cambiando simultaneamente la potenza, in modo da fare tutto nel foglio 1 senza passare prima dal foglio LP e poi dal foglio 1.
E' una cosa fattibile???
di cromagno data: 02/09/2015 19:14:46
@save#5
ma nel Foglio1 non hai fatto nessuna tabella... dove vorresti venissero messi i dati e soprattutto di quali dati stiamo parlando???
Più sarai chiaro, prima riusciremo a capire cosa vorresti...
Quindi, il Foglio1 impostalo già come lo vorresti nella "versione finale", con tabelle e dati, magari scrivendo manualmente quello che vorresti ottenere con le formule.
Alle formule ci pensiamo dopo...
di save#5 (utente non iscritto) data: 02/09/2015 21:26:39
Caro cromagno adesso nn sono davanti al PC quindi provo ancora a spiegarti cosa mi serve poi nel caso domani posto ancora un file di esempio.
Allora nel foglio 1 dove vedi 1years 2 years....ecc nelle celle sotto devono essere messi i numeri che mi servono che nn sono altro che quelli presenti nel foglio LP.
Precisamente vorrei che al cambiare modello di taglia digitando il menu a tendina del foglio 1 mi automaticamente mi vengano messi quei numeri del foglio LP. Altra cosa che chiedevo e che nel foglio LP i valori sono altri intercambiabili digitando nel menu a tendina Kw , cioè per esempio se scelgo 18 Kw ho dei valori se scelgo 37 Kw ho altri valori e così via per tutte le taglie. Adesso quello che per me sarebbe ideale é che nel foglio 1 in quella unica riga digitando il modello mi prenda i valori giusti, tenendo conto anche però dei Kw bypassando il foglio LP cioè fare tutto nel foglio 1 ma in una sola riga.
Non so se sono stato chiaro. Cmq domani riposto ancora un esempio.
Grazie dell'attenzione cmq cromagno.
di ninai data: 02/09/2015 23:41:12
ciao
anche io come cromagno, nutro molte perplessità sull'obiettivo e soprattutto su come sono strutturati dati.
Premetto che non ritengo carino da parte tua aver messo nuova "carne al fuoco", lasciando in sospeso la risposta mia per le precedenti disposizioni.
Comunque, in base a quanto vedo nel secondo file, credo di aver intuito.
Ho apportato delle modifiche al tuo file:
-Convalida dinamica nel foglio1 , in B e C, per la scelta del modello e dei KW
per fare questo ho creato due nomi e disposto i dati della scelta in AE2:AP9 del foglio RSW_LP
inoltre ho aggiunto colonne di appoggio I e J, (eventualmente da nascondere)
la formula in D8:
=INDICE(RSW_LP!$L$9:$O$133;CONFRONTA($B8&$C8;INDICE(RSW_LP!$I$9:$I$133&RSW_LP!$J$9:$J$133;);0);RIF.COLONNA(A1))
da trascinare a destra ed eventualmente in basso , per ricerche multiple.
il foglio LP, dovrebbe essere inutile, i dati vengono estratti direttamente dal foglio RSW_LP
allego il file
NB
la procedura da me usata per la seconda convalida dinamica (per i KW), probabilmente, meriterebbe una disamina analitica, eventualmente si farà
di cromagno data: 03/09/2015 04:38:05
@ninai
Leggendo l'ultimo post di "save#5" direi che la tua scelta di tagliare definitivamente fuori l'intermediario (Foglio "LP") sia la più pratica
Perchè ritieni si debba riesaminare la seconda convalida dinamica (per i KW)???
di ninai data: 03/09/2015 07:59:38
@cromagno
per riesaminare, intendo dare altri dettagli, visto che non era prevista nel quesito iniziale e che l'utente non fa uso di convalide con nome.
Comunque, in sintesi:
-ho creato un nome: "modelli", per la prima convalida (AE2:AP2)
-ho creato un nome: "KW" per i dati della seconda convalida AE3:AP9
-un terzo nome per la seconda convalida "Kwscelta", mettendo la formula:
=SCARTO(kw;0;CONFRONTA(Foglio1!B8;modelli;0)-1;CONTA.VALORI(INDICE(kw;;CONFRONTA(Foglio1!B8;modelli;0)));1)
Credo che il terzo nome si potesse evitare mettendo la formula direttamente nella seconda convalida.
di save#5 (utente non iscritto) data: 03/09/2015 08:38:23
Caro ninai, la tua soluzione cosi come fatta è perfetta!!!!!!
Quello che chiedevo, se fosse possibile, e fare tutto quello che hai fatto in un unica riga.
E infatti vedo che in un unica riga posso fare tutto.
grazie mille.
di save#5 (utente non iscritto) data: 03/09/2015 08:56:06
Ultima domanda ninai;
la formula: =SCARTO(kw;0;CONFRONTA(Foglio1!B8;modelli;0)-1;CONTA.VALORI(INDICE(kw;;CONFRONTA(Foglio1!B8;modelli;0)));1)
dove va messa???
di save#5 (utente non iscritto) data: 03/09/2015 09:30:52
Altra cosa ninai non ho capito come hai creato i nomi "modelli" ;"KW"; e "KW scelta" con la sua corrispondente formula: =SCARTO(kw;0;CONFRONTA(Foglio1!B8;modelli;0)-1;CONTA.VALORI(INDICE(kw;;CONFRONTA(Foglio1!B8;modelli;0)));1)
di save#5 (utente non iscritto) data: 03/09/2015 10:32:56
Ninai ci 6 ancora???
di ninai data: 03/09/2015 15:34:18
ciao
i nomi si attribuisco dal menù nomi, definisci nomi.
il nome kwscegli , lo potresti anche eliminare e la formula che attualmente lo definisce:
=SCARTO(kw;0;CONFRONTA(B8;modelli;0)-1;CONTA.VALORI(INDICE(kw;;CONFRONTA(B8;modelli;0)));1)
puoi inserirla direttamente nella seconda convalida dati ---- elenco, C8:C12.
di save#5 (utente non iscritto) data: 03/09/2015 15:57:17
ok ma mi chiedevo come faccio a inserire la formula =SCARTO(kw;0;CONFRONTA(B8;modelli;0)-1;CONTA.VALORI(INDICE(kw;;CONFRONTA(B8;modelli;0)));1)
nella seconda convalida dati????
di ninai data: 03/09/2015 16:51:51
ciao
dopo aver definito i nomi, Modelli e Kw, come prima suggerito
copi la formula dal forum e la incolli in convalida dati---elenco--origine, della cella C8
di save#5 (utente non iscritto) data: 04/09/2015 08:50:17
Ciao ninai scusa se ti disturbo ancora ma voglio capir per bene la tua formula:
INDICE(RSW_LP!$L$9:$O$133;CONFRONTA($B8&$C8;INDICE(RSW_LP!$I$9:$I$133&RSW_LP!$J$9:$J$133;);0);RIF.COLONNA(A1)).
Come hai fatto a selezionare solo dalla cella L9 alla cella O133. Perchè quando ci provo mi prende anche i valori fuori dai numeri, tipo la colonna costo le colonne anni ecc... Ho provato a scriverla a mano ma poi non funziona e non mi da nessun valore ma invece mi da #N/D.
Grazie ancora del tuo prezioso aiuto.
P.S per gli elenchi dinamici grazie a te li ho capiti e sono molto utili.
di save#5 (utente non iscritto) data: 04/09/2015 09:06:58
come non detto ninai, errore mio nel leggere la formula.
Formula perfetta!!!!!
Grazie mille....posso finalmente spuntare la discussione risolta.
Vuoi Approfondire?