Excel: confronta le stringhe in due celle per trovare corrispondenze (senza distinzione tra maiuscole e minuscole o esatte)

  • Condividi Questo
Michael Brown

L'esercitazione mostra come confrontare le stringhe di testo in Excel senza distinzione tra maiuscole e minuscole e con corrispondenza esatta. Si apprenderà una serie di formule per confrontare due celle in base ai loro valori, alla lunghezza della stringa o al numero di occorrenze di un carattere specifico, nonché come confrontare più celle.

Quando si utilizza Excel per l'analisi dei dati, l'accuratezza è l'aspetto più importante: informazioni errate portano a scadenze non rispettate, tendenze sbagliate, decisioni errate e perdite di fatturato.

Sebbene le formule di Excel siano sempre perfettamente veritiere, i loro risultati possono essere sbagliati perché nel sistema sono penetrati dati errati. In questo caso, l'unico rimedio è controllare l'accuratezza dei dati. Non è un grosso problema confrontare manualmente due celle, ma è quasi impossibile individuare le differenze tra centinaia e migliaia di stringhe di testo.

Questa esercitazione vi insegnerà come automatizzare il compito noioso e soggetto a errori del confronto tra celle e quali formule è meglio utilizzare in ogni caso particolare.

    Come confrontare due celle in Excel

    Esistono due modi diversi per confrontare le stringhe in Excel, a seconda che si desideri un confronto sensibile alle maiuscole o insensibile alle minuscole.

    Formula senza distinzione tra maiuscole e minuscole per confrontare 2 celle

    Per confrontare due celle in Excel ignorando il caso, utilizzare una semplice formula come questa:

    =A1=B1

    Dove A1 e B1 sono le celle da confrontare. Il risultato della formula sono i valori booleani VERO e FALSO.

    Se si desidera produrre testi personalizzati per le corrispondenze e le differenze, incorporare l'istruzione precedente nel test logico della funzione IF. Per esempio:

    =IF(A1=B1, "Uguale", "Non uguale")

    Come si vede nella schermata seguente, entrambe le formule confrontano stringhe di testo, date e numeri con la stessa efficacia:

    Formula sensibile alle maiuscole per confrontare le stringhe in Excel

    In alcune situazioni può essere importante non solo confrontare i valori di testo di due celle, ma anche il caso dei caratteri. Il confronto del testo sensibile alle maiuscole e minuscole può essere eseguito con la funzione EXACT di Excel:

    ESATTO (testo1, testo2)

    Dove testo1 e testo2 sono le due celle da confrontare.

    Supponendo che le stringhe si trovino nelle celle A2 e B2, la formula è la seguente:

    =EXACT(A2, B2)

    Il risultato è VERO se le stringhe di testo corrispondono esattamente, compreso il caso di ogni carattere, FALSO altrimenti.

    Se si desidera che la funzione EXACT fornisca altri risultati, incorporarla in una formula IF e digitare il proprio testo per valore_se_vero e valore_se_falso argomenti:

    =IF(EXACT(A2 ,B2), "Esattamente uguale", "Non uguale")

    La seguente schermata mostra i risultati del confronto tra stringhe sensibili alle maiuscole e minuscole in Excel:

    Come confrontare più celle in Excel

    Per confrontare più di 2 celle in una riga, utilizzate le formule discusse negli esempi precedenti in combinazione con l'operatore AND. I dettagli completi seguono.

    Formula senza distinzione tra maiuscole e minuscole per confrontare più di 2 celle

    A seconda di come si desidera visualizzare i risultati, utilizzare una delle seguenti formule:

    =E(A2=B2, A2=C2)

    o

    =IF(AND(A2=B2, A2=C2), "Uguale", "Non uguale")

    La formula AND restituisce VERO se tutte le celle contengono lo stesso valore, FALSO se un valore è diverso. La formula IF restituisce le etichette digitate, " Pari " e " Non uguale " in questo esempio.

    Come dimostrato nella schermata seguente, la formula funziona perfettamente con qualsiasi tipo di dati: testo, date e valori numerici:

    Formula sensibile alle maiuscole per confrontare il testo in più celle

    Per confrontare più stringhe tra loro e vedere se corrispondono esattamente, utilizzare le seguenti formule:

    =E(EXACT(A2,B2), EXACT(A2, C2))

    Oppure

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Esattamente uguale", "Non uguale")

    Come nell'esempio precedente, la prima formula fornisce i valori VERO e FALSO, mentre la seconda visualizza i testi personalizzati per le corrispondenze e le differenze:

    Confrontare un intervallo di cellule con una cellula campione

    Gli esempi seguenti mostrano come verificare che tutte le celle di un determinato intervallo contengano lo stesso testo di una cella di esempio.

    Formula senza distinzione tra maiuscole e minuscole per confrontare le celle con un testo di esempio

    Se il caso dei caratteri non è importante, è possibile utilizzare la formula seguente per confrontare le celle con un campione:

    VOCI( gamma )*COLORI( gamma )=COUNTIF( gamma , cella campione )

    Nel test logico della funzione IF, si confrontano due numeri:

    • Il numero totale di celle in un intervallo specificato (il numero di righe moltiplicato per il numero di colonne), e
    • Il numero di celle che contengono lo stesso valore della cella campione (restituito dalla funzione COUNTIF).

    Supponendo che il testo di esempio sia in C2 e che le stringhe da confrontare siano nell'intervallo A2:B6, la formula è la seguente:

    =FRECCE(A2:B6)*COLONNE(A2:B6)=COUNTIF(A2:B6,C2)

    Per rendere i risultati più facili da usare, cioè per produrre qualcosa come "Tutti corrispondono" e "Non tutti corrispondono" invece di VERO e FALSO, utilizzare la funzione IF come abbiamo fatto negli esempi precedenti:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "Tutti corrispondono", "Non tutti corrispondono")

    Come mostrato nella schermata precedente, la formula è in grado di gestire perfettamente un intervallo di stringhe di testo, ma può essere utilizzata anche per confrontare numeri e date.

    Formula sensibile alle maiuscole per confrontare le stringhe con un testo campione

    Se il caso dei caratteri fa differenza, è possibile confrontare le stringhe con il testo di esempio utilizzando le seguenti formule di array.

    SE(VOCI( gamma )*COLORI( gamma )=SOMMA(-ESATTO( cella_campione , gamma )), " text_if_match ", " testo_se_non_corrisponde ")

    Con l'intervallo di origine in A2:B6 e il testo di esempio in C2, la formula assume la forma seguente:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "Tutti corrispondono", "Non tutti corrispondono")

    A differenza delle normali formule di Excel, le formule di matrice si completano premendo Ctrl + Maiusc + Invio. Se inserita correttamente, Excel racchiude la formula di matrice tra {griffe graffe}, come mostrato nella schermata:

    Come confrontare due celle in base alla lunghezza della stringa

    A volte è possibile verificare se le stringhe di testo di ogni riga contengono lo stesso numero di caratteri. La formula per questa operazione è molto semplice: per prima cosa si ottiene la lunghezza della stringa di due celle utilizzando la funzione LEN, quindi si confrontano i numeri.

    Supponendo che le stringhe da confrontare si trovino nelle celle A2 e B2, utilizzate una delle seguenti formule:

    =LEN(A2)=LEN(B2)

    Oppure

    =IF(LEN(A2)=LEN(B2), "Uguale", "Non uguale")

    Come già sapete, la prima formula restituisce i valori booleani VERO o FALSO, mentre la seconda formula produce i vostri risultati:

    Come mostrato nella schermata precedente, le formule funzionano sia per le stringhe di testo che per i numeri.

    Suggerimento: se due stringhe apparentemente uguali restituiscono lunghezze diverse, molto probabilmente il problema è in leader o trailing spazi In questo caso, rimuovete gli spazi extra utilizzando la funzione TRIM. La spiegazione dettagliata e gli esempi di formule sono disponibili qui: Come tagliare gli spazi in Excel.

    Confronto tra due celle in base alle occorrenze di un carattere specifico

    Questo è l'ultimo esempio del nostro tutorial Excel Confronta stringhe e mostra una soluzione per un compito piuttosto specifico. Supponiamo di avere due colonne di stringhe di testo che contengono un carattere importante per noi. Il nostro obiettivo è verificare se due celle in ogni riga contengono lo stesso numero di occorrenze di un dato carattere.

    Per rendere le cose più chiare, si consideri il seguente esempio. Supponiamo di avere due elenchi di ordini spediti (colonna B) e ricevuti (colonna C). Ogni riga contiene ordini per un articolo specifico, il cui identificatore univoco è incluso in tutti gli ID ordine ed è elencato nella stessa riga della colonna A (si veda la schermata qui sotto). Si vuole fare in modo che ogni riga contenga un numero uguale di ordini spediti e ricevuti.con quell'ID specifico.

    Per risolvere questo problema, scrivere una formula con la seguente logica.

    • Innanzitutto, sostituite l'identificatore univoco con un valore nullo utilizzando la funzione SUBSTITUTE:

      SUBSTITUTE(A1, carattere_da_contare,")

    • Quindi, calcolare quante volte l'identificatore univoco compare in ogni cella. A tale scopo, ottenere la lunghezza della stringa senza l'identificatore univoco e sottrarla dalla lunghezza totale della stringa. Questa parte deve essere scritta per le celle 1 e 2 singolarmente, ad esempio:

      LEN(cella 1) - LEN(SUBSTITUTE(cella 1, carattere_da_contare, ""))

      e

      LEN(cella 2) - LEN(SUBSTITUTE(cella 2, carattere_da_contare, ""))

    • Infine, si confrontano i due numeri inserendo il segno di uguaglianza (=) tra le parti precedenti.
    LEN( cella 1 ) - LEN(SOSTITUTO( cella 1 , carattere_a_conteggio , ""))=

    LEN( cella 2 ) - LEN(SOSTITUTO( cella 2 , carattere_a_conteggio , ""))

    Nel nostro esempio, l'identificatore univoco è in A2 e le stringhe da confrontare sono nelle celle B2 e C2. La formula completa è quindi la seguente:

    =LEN(B2)-LEN(SOSTITUTO(B2,$A2,""))=LEN(C2)-LEN(SOSTITUTO(C2,$A2,""))

    La formula restituisce VERO se le celle B2 e C2 contengono un numero uguale di occorrenze del carattere in A2, FALSO altrimenti. Per rendere i risultati più significativi per gli utenti, è possibile incorporare la formula nella funzione IF:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Uguale", "Non uguale")

    Come si può vedere nella schermata qui sopra, la formula funziona perfettamente nonostante un paio di complicazioni aggiuntive:

    • Il carattere da contare (identificatore unico) può comparire in qualsiasi punto di una stringa di testo.
    • Le stringhe contengono un numero variabile di caratteri e diversi separatori come il punto e virgola, la virgola o lo spazio.

    Ecco come si confrontano le stringhe in Excel. Per dare un'occhiata più da vicino alle formule discusse in questa esercitazione, potete scaricare il foglio di lavoro di Excel Confronta stringhe. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana.

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.