Ελέγξτε αν υπάρχει τιμή κελιού στη στήλη και στη συνέχεια λάβετε την τιμή του ΕΠΟΜΕΝΟΥ κελιού

Αφού ελέγξω αν υπάρχει μια τιμή κελιού σε μια στήλη, πρέπει να λάβω την τιμή του κελιού που βρίσκεται δίπλα στο αντίστοιχο κελί. Για παράδειγμα, ελέγχω αν η τιμή στο "κελί A1" υπάρχει στη "στήλη B", και αν υποθέσουμε ότι ταιριάζει με το "B5", τότε θέλω την τιμή στο "κελί C5".

Για να λύσω το πρώτο μισό του προβλήματος, έκανα το εξής...

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

...και δούλεψε. Στη συνέχεια, χάρη σε μια προηγούμενη απάντηση στο SO, μπόρεσα επίσης να βρω τον αριθμό γραμμής του αντίστοιχου κελιού:

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

Έτσι, φυσικά, για να πάρω την τιμή του επόμενου κελιού, δοκίμασα...

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

...και δεν δουλεύει.

Τι μου διαφεύγει; Πώς μπορώ να προσθέσω τον αριθμό της στήλης στον αριθμό της γραμμής που επιστρέφεται για να επιτύχω το επιθυμητό αποτέλεσμα;

Χρησιμοποιήστε μια διαφορετική λειτουργία, όπως το VLOOKUP:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
Σχόλια (9)
Λύση

Μετά την t.thielemans' απάντηση, δούλεψα ότι ακριβώς

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

δουλεύει μια χαρά και κάνει αυτό που ήθελα, εκτός από το ότι επιστρέφει #N/A για μη-συναρτήσεις- οπότε είναι κατάλληλο για την περίπτωση όπου είναι γνωστό ότι η τιμή υπάρχει σίγουρα στη στήλη αναζήτησης.

Επεξεργασία (με βάση το σχόλιο του t.thielemans'):

Σχόλια (1)

Τι λες γι' αυτό;

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

Το "3" στο τέλος σημαίνει για τη στήλη Γ.

Σχόλια (1)