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-08T12:27:52+00:00

    meglio questa, più veloce in qunto esegue la somma in un solo ciclo di test:

    =SE(SOMMA(SE(O(A2&Foglio2!$A$2=$A$3:$A$10&$B$3:$B$10;A2&Foglio2!$A$3=$A$3:$A$10&$B$3:$B$10;A2&Foglio2!$A$4=$A$3:$A$10&$B$3:$B$10;A2&Foglio2!$A$5=$A$3:$A$10&$B$3:$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
  2. Anonimo
    2010-05-08T10:08:29+00:00

    dimenticavo: la formula è matriciale; da confermare con Ctrl+Maiusc+Invio


    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
  3. Anonimo
    2010-05-08T10:06:05+00:00

    Sicuramente si può fare meglio ma non ci sono riuscito. Il problema è creare una matrice con il nome del foglio1 ed i codici del foglio2 da confrontare con la matrice del foglio 1.

    Però se hai un numero di codici ristretto a 4 potrebbe anche essere utile, se ne hai 7 com mi pare di avere visto in un tuo esempio puoi implementarla con altre SOMMA(SE(...

    Vedi un po' tu, fino a quando un guru non trova una soluzione più intelligente:

    in C2: =SE(SOMMA(SE(A2&Foglio2!$A$2=$A$3:$A$10&$B$3:$B$10;1))+SOMMA(SE(A2&Foglio2!$A$3=$A$3:$A$10&$B$3:$B$10;1))+SOMMA(SE(A2&Foglio2!$A$4=$A$3:$A$10&$B$3:$B$10;1))+SOMMA(SE(A2&Foglio2!$A$5=$A$3:$A$10&$B$3:$B$10;1));"OK";"NO")

    da copiare in basso.


    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
  4. Anonimo
    2010-05-07T08:58:21+00:00

    Davide ancora no grazie per l'impegno, ma non funziona, iocreda che si potrebbe risolvere così:

    la formula da applicare sulla cella D1 dovrebbe essere =CERCA.VERT(A2&Foglio2!$A$2:$A$5;$C3:$C$5;1;FALSO) il problema è che rileva solo  il primo valore dell'elenco del foglio 2

    Foglio 1

    Persona Codice concatena
    Mario Rossi PS012 Mario RossiPS012
    Giuseppe Verdi ANT04 Giuseppe VerdiANT04
    Mario Rossi psa04 Mario Rossipsa04
    Mario Rossi PS016 Mario RossiPS016

    Foglio 2

    Codice
    PS012
    PS016
    PSA04
    PAS06

    AIUTOOOOOOO!

    La risposta è stata utile?

    0 commenti Nessun commento