Kontrollera om cellvärdet finns i kolumnen och hämta sedan värdet i NÄSTA cell.

Efter att ha kontrollerat om ett cellvärde finns i en kolumn måste jag hämta värdet i cellen bredvid den matchande cellen. Jag kontrollerar t.ex. om värdet i cell A1 finns i kolumn B, och om det stämmer med B5 vill jag ha värdet i cell C5.

För att lösa den första halvan av problemet gjorde jag så här...

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

...och det fungerade. Tack vare ett tidigare svar på SO kunde jag också få fram radnumret för den matchande cellen:

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

Så för att få fram värdet på nästa cell försökte jag naturligtvis...

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

...och det fungerar inte.

Vad är det jag missar? Hur lägger jag till kolumnnumret till det returnerade radnumret för att uppnå önskat resultat?

Använd en annan funktion, till exempel VLOOKUP:

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

Efter t.thielemans' answer, arbetade jag att bara

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

fungerar bra och gör vad jag ville, förutom att den returnerar #N/A för icke-matchningar; så den är lämplig för det fall där man vet att värdet definitivt finns i uppslagskolumnen.

Redigering (baserat på t.thielemans' kommentar):

För att undvika #N/A för icke-matchningar, gör följande:

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

Vad sägs om det här?

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

"3" i slutet betyder för kolumn C.

Kommentarer (1)