Prüfen, ob der Wert der Zelle in der Spalte vorhanden ist, und dann den Wert der NÄCHSTEN Zelle abrufen

Nach der Prüfung, ob ein Zellwert in einer Spalte vorhanden ist, muss ich den Wert der Zelle neben der übereinstimmenden Zelle abrufen. Ich prüfe zum Beispiel, ob der Wert in "Zelle A1" in "Spalte B" existiert, und wenn er mit "B5" übereinstimmt, möchte ich den Wert in "Zelle C5".

Um die erste Hälfte des Problems zu lösen, habe ich Folgendes getan...

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

...und es hat funktioniert. Dank einer früheren Antwort auf SO konnte ich dann auch die Zeilennummer der passenden Zelle ermitteln:

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

Um den Wert der nächsten Zelle zu erhalten, habe ich natürlich versucht...

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

...und es funktioniert nicht.

Was übersehe ich? Wie kann ich die Spaltennummer an die zurückgegebene Zeilennummer anhängen, um das gewünschte Ergebnis zu erhalten?

Verwenden Sie eine andere Funktion, wie VLOOKUP:

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

Nach [t.thielemans' Antwort] (https://stackoverflow.com/a/12915478/979621), habe ich gearbeitet, dass gerade

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

gut funktioniert und das tut, was ich wollte, außer dass es #N/A für Nicht-Übereinstimmungen zurückgibt; es ist also für den Fall geeignet, dass bekannt ist, dass der Wert definitiv in der Nachschlage-Spalte existiert.

Edit (basierend auf t.thielemans' Kommentar):

Um #N/A für Nicht-Übereinstimmungen zu vermeiden, tun Sie:

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

Wie wäre es damit?

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

Die "3" am Ende bedeutet für Spalte C.

Kommentare (1)