2013-08-12 12 views
6

Utilizzo una combinazione di if, vlookup, match, iserror e, purtroppo, non sono riuscito a trovare la formula corretta.Confronto tra due colonne e la restituzione di una cella adiacente specifica in Excel

Confrontare due colonne per le corrispondenze è abbastanza semplice. la parte difficile ha restituito una cella specifica una volta trovata una corrispondenza.

Così che cosa ho a che fare con è qualcosa di un po 'come questo:

Header  Column A Column B Column C Column D 
Row 1  111  AAA  112 
Row 2  222  BBB  111 
Row 3  333  CCC  221 
Row 4  444  DDD  333 

Sto cercando di abbinare i valori delle colonne in Column A, con Column C. Quindi, se c'è una corrispondenza, voglio che il valore corrispondente in Column B compaia in Column D. Non una grande spiegazione, ma mi permetta di mostrare visivamente ciò che sto cercando

Header  Column A Column B Column C Column D 
Row 2  111  AAA  112 
Row 3  222  BBB  111  AAA 
Row 4  333  CCC  221 
Row 5  444  DDD  333  CCC 

poiché le cellule A1 partite cellule C3, voglio D per tornare B2

Stessa cosa con Row 5. Dal A4 e C5 corrispondenza, voglio il valore per B5

Fatemi sapere se questo ha un senso o se avete bisogno di ulteriori chiarimenti.

+0

perché VLOOKUP non funziona ?? –

risposta

8

molto simile a this question, e mi suggerire la stessa formula in colonna D, sebbene alcune modifiche alle gamme:

=IFERROR(VLOOKUP(C1, A:B, 2, 0), "") 

Se si voleva utilizzare la corrispondenza, che avrebbe dovuto usare INDEX così, in questo modo:

=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "") 

ma questo è davvero lungo per me e avete bisogno di sapere come usare correttamente due funzioni (o tre, se non sai come funziona IFERROR)!

Nota: =IFERROR() può essere un sostituto di =IF() e =ISERROR() in alcuni casi :)

+0

+1 per avermi insegnato il selettore colonne in CERCA.VERT - thx - Mi piace usare anche IFERROR, rende il foglio pulito. –

+0

Salve se nello stesso senario se voglio dati di riga intera fino a colum b che mai mathcng allora come modificare la formula di cui sopra – Mallik

+0

@ user1345837 Vuoi li combinati o in due colonne? Avrai bisogno di più di una formula per il secondo caso. – Jerry

1

Ecco cosa ha bisogno di andare in D1: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

Si dovrebbe quindi essere in grado di copiare questo verso il basso per il resto della colonna D.

+0

Ora, quello che sto cercando di fare è abbinare i valori delle colonne nella colonna A, con la colonna E. Quindi, se c'è una corrispondenza, voglio che il valore corrispondente nella colonna B, C, D compaia nella colonna F, G, H. Come fare questo ?? – vinita

0

Nella cella D2 e ​​trascritto:

=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE)) 
0

io vi consiglio di di swap B e C colonne per la ragione che vi spiegherò. Poi nel tipo D2: = VLOOKUP (A2, B2: C4, 2, FALSE)

Infine, copiare la formula per celle rimanenti.

Spiegazione: VLOOKUP per prima cosa trova il valore di A2 nell'intervallo da B2 a C4 (secondo argomento). NOTA: VLOOKUP cerca sempre la prima colonna in questo intervallo. Questo è il motivo per cui è necessario scambiare le due colonne prima di fare qualsiasi cosa.

Una volta trovata la corrispondenza esatta, verrà restituito il valore nella cella adiacente (terzo argomento).

Ciò significa che, se si inserisce 1 come terzo argomento, la funzione restituirà il valore nella prima colonna dell'intervallo (che sarà lo stesso valore che si stava cercando). Se inserisci 2, restituirà il valore dalla seconda colonna dell'intervallo (il valore nella cella adiacente-RIGHT SIDE del valore trovato).

FALSE indica che si sta verificando la corrispondenza esatta. Se inserisci TRUE, cercherai la corrispondenza approssimativa.