2014-04-14 17 views
11

Quello che voglio fare è dire se il contenuto della cella D3 (sul foglio di lavoro corrente) esiste nella colonna A nella prima foglio di lavoro (nel mio caso l'elenco con diritto). (e esistono sempre da qualche parte). Restituisce il contenuto della riga corrispondente nella colonna C.Verificare se esiste una cella Excel su un altro foglio di lavoro in una colonna e restituire il contenuto di un'altra colonna

In altre parole se la cella corrispondente si trova nella riga 12 - restituire i dati da C12.

Ho usato la seguente sintassi ma non riesco a far funzionare correttamente l'ultima parte.

=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:A,1,TRUE)) 

Come risolvere la formula?

risposta

15

È possibile utilizzare le seguenti formule.

Per Excel 2007 o versioni successive:

=IFERROR(VLOOKUP(D3,List!A:C,3,FALSE),"No Match") 

Per Excel 2003:

=IF(ISERROR(MATCH(D3,List!A:A, 0)), "No Match", VLOOKUP(D3,List!A:C,3,FALSE)) 

nota, che

  • sto usando List!A:C in VLOOKUP e ritorna il valore dalla colonna № 3
  • Sto usando quarto argomento per VLOOKUP uguale a FALSE, in quel caso VLOOKUP servirà solo a trovare una corrispondenza esatta, ed i valori nella prima colonna della List!A:C fanno non bisogno di essere ordinati (di fronte al caso in cui si sta utilizzando TRUE).
+0

Ha funzionato! = SE.ERRORE (! VLOOKUP (D3, Elenco A: C, 3, FALSE), "No Match") Non sono del tutto sicuro di aver capito la Lista A: C (la A: C) parte. Ho pensato che la funzione funzionasse come tale: trovare i dati in una colonna e restituire il contenuto di un'altra (Cosa succede se la voglio solo cercare nella Colonna A e restituire sempre la Colonna C o la D ... ma non cercare mai in quelle colonne). – YelizavetaYR

+1

'Elenco! A: C, 3,' significa che stai andando a cercare nella prima colonna dell'intervallo 'Elenco! A: C' (cioè' Elenco! A: A') e restituisce il valore corrispondente dalla terza colonna dell'intervallo 'List! A: C' (cioè' List! C: C') –

+1

Meraviglioso! Grazie! – YelizavetaYR