Funzione Cerca a 2 variabili

Anonimo
2010-05-04T15:08:12+00:00

Salve,

vorrei sapere se è possibile effettuare su excel una “cerca” secondo 2 variabili.

Mi spiego meglio:

supponiamo che ho 2 sole colonne “frutta” e “colore” e che ho

Mela                gialla

Banana             gialla

Mela                Verde

Banana            Verde

Mela                Rossa

Ho bisogno di sapere se nei record precedenti all’ultimo esiste un record “Mela Verde”

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-05-10T07:39:08+00:00

ciao Marvelito, volendo ormai mantenere l'orribile formula di partenza direi di ricomprendere il tutto in un'unica formula:

=SE(SINISTRA(B2;2)="PS";"la prima formula";"la seconda") eventualmente da implementare con i tuoi ulteriori controlli

dove "La prima formula" è quella già postata, però modificata con un controllo sul codice del primo foglio per indirizzare la lettura sul secondo o sul terzo, evitando così di fare tutto il ciclo di lettura anche se il codice non è quello giusto:

prima formula:

SE(SOMMA(SE(E(SINISTRA($B2;2)="PS";O(A2&Foglio2!$A$2=$A3:$A$10&$B3:$B$10;A2&Foglio2!$A$3=$A3:$A$10&$B3:$B$10;A2&Foglio2!$A$4=$A3:$A$10&$B3:$B$10;A2&Foglio2!$A$5=$A3:$A$10&$B3:$B$10));1));"OK";"NO")    matriciale, da implementare con ulteriori righe per più codici.

nota che nella prima uguaglianza $A$2=$A3: ho tolto il $ davanti al numero di riga per costringere il controllo nell'intervallo alla riga successiva a quella in esame.

seconda formula:

SE(SOMMA(SE(E(SINISTRA($B2;2)="AN";O(A2&Foglio3!$A$2=$A3:$A$10&$B3:$B$10;A2&Foglio3!$A$3=$A3:$A$10&$B3:$B$10));1));"OK";"NO") matriciale


fai sapere, grazie

ciao paoloard

http://riolab.org

***********************************************

Se la risposta ti ha aiutato clicca su "Vota come Utile".

Se ha risolto il problema clicca su "Segna come Risposta".

La risposta è stata utile?

0 commenti Nessun commento

34 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-05-05T07:25:02+00:00

    Ci siamo quasi questo è il db creato

    1 Etichetta Colore
    2 mela rossa
    3 banana verde
    4 prugna gialla
    5 mela rossa
    6 arancia rossa

    =CONFRONTA(CONCATENA(A2;Foglio2!A2:A6);$A$3:$A$6&$B$3:$B$6;0) ctrl+shit+invio

    sul foglio 2 ho

    Colore
    rossa
    verde
    gialla
    blu
    rossa

    in sostanza applicando la formula sulla cella "C2" dovrebbe apparirmi "ok" se dal record successivo in poi esiste almeno 1 record che soddifa la condizione A1 "Frutto" + uno dei colori presenti sul foglio 2 nell'esempio dovrebbe essere il record 5

    Attualmente l'errore sulla formula credo che sia sul CONCATENA(A2;Foglio2!A2:A6)

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-05-04T23:35:33+00:00

    Ciao.

    Nella tua richiesta originale non si parlava di elenco, ma di un solo argomento di ricerca.

    Prova:

    Frutta Colore
    Mela Gialla

    | Banana | Gialla |

    | Mela | Verde | | Banana | Verde | | Mela | Rossa | | Mela | Blu | | Banana | Nera | | | | | | | | Elenco | Riga | | MelaVerde | 4 | | MelaRossa | 6 | | MelaGialla | 2 | | La formula di Paolo | | | =CONFRONTA(D2;$A$1:$A$10&$B$1:$B$10;0) | | formula matriciale(Ctrl+Shift+Enter) |

    Saluti

    Eliano

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-05-04T16:01:59+00:00

    Ciao,

    ho provato a fare come dici tu ma non è esattamente quello che mi serve, in altre parole io avrei bisogno di un cerca verticale che non si limiti al primo valore che trova, ma che una volta trovato, valuta anche quello presente sulla seconda colonna, se tale valore rientra in uno di quelli previsti in un elenco separato mi da risposta altrimenti continua la ricerca nei record successivi fino al penultimo record del db.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-05-04T15:45:57+00:00

    ciao Marvelito,

    puoi usare la funzione CONFRONTA(...)

    nell'ipotesi che i dati siano in colonna A e B

    =CONFRONTA("melaverde";A1:A100&B1:B100;0) da inserire in forma matriciale con Ctrl+Maiusc+Invio.

    ovviamente gestisci tu gli estremi degli intervalli.

    Se trova la stringa ti restituisce il numero di riga in cui si trova altrimenti un messaggio di errore.


    fai sapere, grazie

    ciao paoloard

    http://riolab.org

    ***********************************************

    Se la risposta ti ha aiutato clicca su "Vota come Utile".

    Se ha risolto il problema clicca su "Segna come Risposta".

    La risposta è stata utile?

    0 commenti Nessun commento