Trova elementi in una colonna che non si trovano in un'altra colonna


Risposte:


91
  1. Seleziona l'elenco nella colonna A
  2. Fare clic con il tasto destro e selezionare Assegna un intervallo ...
  3. Inserisci "ColumnToSearch"
  4. Fai clic sulla cella C1
  5. Inserisci questa formula: =MATCH(B1,ColumnToSearch,0)
  6. Trascina la formula verso il basso per tutti gli elementi in B

Se la formula non riesce a trovare una corrispondenza, verrà contrassegnata con # N / D, altrimenti sarà un numero.

Se desideri che sia VERO per la corrispondenza e FALSO per nessuna corrispondenza, utilizza invece questa formula:

=ISNUMBER(MATCH(B1,ColumnToSearch,0))

Se si desidera restituire il valore infondato e restituire una stringa vuota per i valori trovati

=IF(ISNUMBER(MATCH(B1,ColumnToSearch,0)),"",B1)

6
Quindi ... Metti questa formula in Formattazione condizionale in entrambi gli elenchi e usala per evidenziare (o qualsiasi altra cosa) le celle non corrispondenti
Kije,

4
"Name a Range" non appare per me? Testato su Excel 2010 e 2016.
KERR

Se, come @KERR e I, non hai "Assegna un nome a un intervallo ...", usa semplicemente A:Ao il tuo intervallo al posto delle ColumnToSearchformule.
Michael,

Se, come me, non ti rendi conto inizialmente dove inserire "ColumnToSearch" (passaggio 3), inseriscilo come nome dell'intervallo denominato che stai creando.
DaveL17

"Assegna un intervallo" appare come Define Name...(Excel 2019)
oliver-clare il

29

Ecco un metodo rapido e sporco.

Evidenzia la colonna B e apri la formattazione condizionale .

Seleziona Usa una formula per determinare quali celle evidenziare .

Immettere la seguente formula, quindi impostare il formato preferito.

=countif(A:A,B1)=0

Ho usato "= ISODD (COUNTIF (A: A, B1) = 0)" per stampare vero per '1' o falso per '0'
Ramraj,

15

Seleziona le due colonne. Vai a Formattazione condizionale e seleziona Evidenzia regole cella. Seleziona valori duplicati. Quando si passa al passaggio successivo, è possibile modificarlo in valori univoci. L'ho appena fatto e ha funzionato per me.


se hai ripetuto un valore nella colonna B, questo non li evidenzierà
magodiez,

1
Sicuramente questa è la risposta più semplice e pertinente? Nessuna formula richiesta.
KERR,

Non succede nulla quando lo fai.
Overmind

12

Mi ha preso per sempre per capirlo, ma è molto semplice. Supponendo che i dati inizino in A2 e B2 (per le intestazioni) inserire questa formula in C2:

=MATCH(B2,$A$2:$A$287,0)

Quindi fare clic e trascinare verso il basso.

Una cella con #N/Aindica che il valore direttamente accanto ad esso nella colonna B non viene visualizzato in nessun punto dell'intera colonna A.

Tieni presente che devi modificare $ A $ 287 in modo che corrisponda all'intero array di ricerca nella colonna A. Ad esempio, se i dati nella colonna A scendono per 1000 voci, dovrebbero essere $ A $ 1000.


3
=MATCH(B2,$A:$A,0)ha funzionato per me.
nilgun,

4

Vedi la mia formula della matrice risposta all'elenco A non trovato in B qui:

= SE.ERRORE (INDEX ($ A $ 2: $ A $ 1999 MATCH (0, IFERROR (MATCH ($ A $ 2: $ A $ 1999 $ B $ 2: $ B $ 399,0), COUNTIF ($ C $ 1: $ C1, $ A $ 2: $ A $ 1999)), 0)), "")

Confronto tra due colonne di nomi e restituzione di nomi mancanti


Questa soluzione è buona, ma dipende dal fatto che le colonne di origine siano ordinate alfabeticamente, oppure recupera i duplicati.
Steve Taylor,

3

Le mie esigenze non erano di evidenziare ma di mostrare tutti i valori tranne quelli che sono duplicati tra 2 colonne. Ho preso l'aiuto della soluzione di @ brenton e ho ulteriormente migliorato per mostrare i valori in modo da poter utilizzare direttamente i dati:

=IF(ISNA(MATCH(B2,$A$2:$A$2642,0)), A2, "")

Copia questo nella prima cella della 3a colonna e applica la formula attraverso la colonna in modo che elencherà tutti gli elementi dalla colonna B che non sono elencati nella colonna A.


C'è un errore nella formula sopra = IF (ISNA (MATCH (B2, $ A $ 2: $ A $ 2642,0)), A2, "") dovrebbe essere = IF (ISNA (MATCH (B2, $ A $ 2: $ A $ 2642,0)), B2, "")

1

Grazie a coloro che hanno condiviso le loro risposte. Grazie alle tue soluzioni, sono stato in grado di raggiungere la mia.

Nella mia versione di questa domanda, avevo due colonne da confrontare: una classe di laurea completa (Col A) e un sottoinsieme di quella classe di laurea (Col B). Volevo essere in grado di evidenziare nella classe di laurea completa quegli studenti che erano membri del sottoinsieme.

Ho inserito la seguente formula in una terza colonna:

=if(A2=LOOKUP(A2,$B$2:$B$91),1100,0)

Questo ha codificato la maggior parte dei miei studenti, sebbene abbia prodotto alcuni errori nelle prime righe di dati.


-3

per C1iscritto =if(A1=B1 , 0, 1). Quindi in Conditional formatting, selezionare Data barso Color scales. È il modo più semplice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.