Kontroller, om der findes en celleværdi i kolonnen, og hent derefter værdien af den NÆSTE celle

Når jeg har kontrolleret, om der findes en celleværdi i en kolonne, skal jeg hente værdien af den celle, der ligger ved siden af den tilsvarende celle. Jeg kontrollerer f.eks., om værdien i celle A1 findes i kolonne B, og hvis den passer med B5, vil jeg have værdien i celle C5.

For at løse den første halvdel af problemet gjorde jeg dette...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")

...og det virkede. Derefter kunne jeg takket være et tidligere svar på SO også få række-nummeret for den matchende celle:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))

Så for at få værdien af den næste celle prøvede jeg naturligvis...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))

...og det virker ikke.

Hvad er det jeg mangler? Hvordan tilføjer jeg kolonnenummeret til det returnerede rækkenummer for at opnå det ønskede resultat?

Brug en anden funktion, f.eks. VLOOKUP:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
Kommentarer (9)
Løsning

Efter t.thielemans' svar, arbejdede jeg, at bare

=VLOOKUP(A1, B:C, 2, FALSE) 

fungerer fint og gør det jeg ønskede, bortset fra at den returnerer #N/A for ikke-matches; så den er velegnet til det tilfælde hvor man ved at værdien helt sikkert findes i opslagskolonnen.

Redigér (baseret på t.thielemans' kommentar):

For at undgå #N/A for ikke-overensstemmelser, gør man:

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")
Kommentarer (1)

Hvad med dette?

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", INDIRECT(ADDRESS(MATCH(A1,B:B, 0), 3)))

"3" i slutningen betyder for kolonne C.

Kommentarer (1)