› Excel e gli applicativi Microsoft Office › Funzione Trova annidata in una Funzione SE con più di una condizione
-
AutoreArticoli
-
Ciao a tutti,
ho un problema che non riesco a risolvere e spero che qualcuno possa darmi una mano.
Ho inserito in un file xls una macro che mi permette di digitare nelle celle della colonna C valori multipli, da selezionare in un elenco inserito tramite una convalida e fin quì nessun problema.
Ora, quello che non riesco a fare è scrivere una formula che, se trova un determinato valore (sempre testo) nella cella C3 (es. Carne) ed un altro valore nella cella C4 (es. Rosso) mi restitusisca nella cella es. D3 X altrimenti nulla.
Ho usato la formula TROVA perchè nella colonna C può esserci, come dicevo, più di un valore ma non riesco a farla funzionare con più di una condizione.
La formula SE(VAL.ERRORE(TROVA("Carne", C3)),"","X") che trovate nel file allegato (vedi celle evidenziate in verde), funziona perfettamente fino a quando non provo a mettere la seconda condizione.
Allego file di esempio.
La mia versione di Office è 365
Allegati:
You must be logged in to view attached files.secondo me ti basta usare la funzione E che combina due condizioni che devono essere entrambe vere
Hai allegato un file con un foglio protetto.
SE(E(VAL.Numero(TROVA("Carne", C3)),VAL.Numero(TROVA("Nero", C4))),"X","")
=IF(AND(ISNUMBER(FIND("Carne";C3));ISNUMBER(FIND("Nero";C4)));"X";"")
oppure usare una funzione O che combina due condizioni ed è falsa se entrambe sono false
SE(O(VAL.ERRORE(TROVA("Carne", C3)),VAL.ERRORE(TROVA("Nero", C4))),"","X")
=IF(OR(ISERROR(FIND("Carne", C3));ISERROR(FIND("Nero", C4)));"";"X")
Non l'ho testata in italiano quanto il mio excel è in inglese
Ciao Luca
ciao
guarda che avendo una convalida mirata
l'unica possibilità è che la cella rimanga vuota
Basta
=SE(C3="";"";"X")
in futuro non allegare fogli protetti
@luca 73, grazie 1000, così funziona perfettamente!!
Vorrei chiederti un'altra cosa, se posso: come faccio a combinare la condizione "E" e la condizione "O"?
Provo a spiegarmi meglio.
Se io volessi che nella cella D3 mi metta un "x" se si verifica almeno una delle seguenti condizioni (se nella cella C3 trovi "Carne" e nella cella C4 trovi "Nero"; O se nella cella C3 trovi "Pesce" e nella cella C4 trovi "Rosso"), che formula dovrei utilizzare?
P.S. scusate per il file, mi sono dimenticata di rimuovere la protezione 🙁 Lo riallego senza protezione
Allegati:
You must be logged in to view attached files.ciao
scusa per la risposta sopra non avevo notato che dovevi individuare 2 celle
=SE(O(E(C3="carne";C4="nero");E(C3="pesce";C4="rosso"));"x";"")
non capisco il ricerca la convalida ha solo dei nomi singoli o l'originale è diverso
@ Gianfranco55,
purtoppo se la scrivo così la fromula mi da errore.
La necessità di utilizzare la funzione Trova dipende dal fatto che, con la marcro, posso digitare più di un valore della convalida dati nella stessa cella (C3 e C4), che quindi può contenere più di un valore appunto.
ciao
=SE(O(E(VAL.NUMERO(RICERCA("CARNE";C3));VAL.NUMERO(RICERCA("NERO";C4)));E(VAL.NUMERO(RICERCA("PESCE";C3));VAL.NUMERO(RICERCA("ROSSO";C4))));"X";"")
ma nel tuo file la convalida ha sempre una parola sola perciò il RICERCA(non serve)dovrebbero esserci più parole sulla stessa stringa..........quella, sopra visto, il file è esatta.
nb
uso ricerca perchè non fa differenza da maiuscole e minuscole il TROVA() invece si
Niente...purtroppo quando provo ad inserire la formula continua a darmi errore sia utilizzando il RICERCA che il TROVA 🙁
Ecco un esempio di formula (in inglese) che cerca alcune delle coppie
=IF(
OR(
AND(ISNUMBER(FIND("CARNE"; UPPER(C3)));ISNUMBER(FIND("NERO"; UPPER(C4))));
AND(ISNUMBER(FIND("PASTA"; UPPER(C3)));ISNUMBER(FIND("ROSSO"; UPPER(C4))));
AND(ISNUMBER(FIND("PESCE"; UPPER(C3)));ISNUMBER(FIND("VERDE"; UPPER(C4)))););
"X";"")@gianfranco55, non riesco a scaricare il file :(.
Potresti copiarmi le formule in un messaggio, per favore?
ciao
le formule sono quelle del post sopra
=SE(O(E(VAL.NUMERO(RICERCA("CARNE";C3));VAL.NUMERO(RICERCA("NERO";C4)));E(VAL.NUMERO(RICERCA("PESCE";C3));VAL.NUMERO(RICERCA("ROSSO";C4))));"X";"")
=IF(OR(AND(ISNUMBER(SEARCH("CARNE",C3)),ISNUMBER(SEARCH("NERO",C4))),AND(ISNUMBER(SEARCH("PESCE",C3)),ISNUMBER(SEARCH("ROSSO",C4)))),"X","")
-
AutoreArticoli
