Επαναχρησιμοποιήσιμο VLOOKUP (VLOOKUP)

Περιεχόμενα

Έχουμε μια λίστα παραγγελιών με αριθμούς και ονόματα προϊόντων. Θα ήθελα, για παράδειγμα, να βγάλω από τον πίνακα με αριθμό παραγγελίας όλα τα αγαθά που περιλαμβάνονται σε αυτόν. Λίγο πολύ σαν αυτό:

 

Υπέροχο χαρακτηριστικό VLOOKUP (VLOOKUP) σε μια τέτοια κατάσταση θα βοηθήσει μόνο εν μέρει, επειδή είναι σε θέση να εξαγάγει δεδομένα μόνο από την πρώτη αντιστοίχιση, δηλαδή θα μας δώσει μόνο μήλα. Για να βρείτε και να εξαγάγετε όλα τα στοιχεία από τον πίνακα, είναι καλύτερο να χρησιμοποιήσετε έναν τύπο πίνακα. Σαν αυτό:

=ΔΕΊΚΤΗΣ($B$2:$B$16;ΕΛΑΧΙΣΤΑ(IF($ E $ 2=A2: A16;LINE(Β2: Β16)-1;»»);LINE()-5))

Πρέπει να εισαχθεί ως εξής:

  1. επιλέξτε τα κελιά όπου πρέπει να εμφανίζονται τα αποτελέσματα (στο παράδειγμά μας, αυτή είναι η περιοχή D6:D20)
  2. εισάγετε (αντιγράψτε τον τύπο στο πρώτο κελί) της περιοχής
  3. τύπος Ctrl + αλλαγή + εισάγετε

Αφαίρεση μονάδων σε θραύσμα STRING(B2:B16)-1 γίνεται λόγω της κεφαλίδας του πίνακα. Για τον ίδιο λόγο, για να αντισταθμιστεί η μετατόπιση του προκύπτοντος εύρους σε σχέση με το αρχικό, αφαιρείται ο αριθμός πέντε στο θραύσμα STRING()-5

Για να κρύψετε το #NUM! σφάλμα που θα εμφανιστεί σε κενά κελιά στην προκύπτουσα περιοχή D6:D20, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις ελέγχου σφαλμάτων IF και EOSH, αντικαθιστώντας τον τύπο μας με έναν ελαφρώς πιο περίπλοκο:

=IF(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))

Στο Excel 2007, εμφανίστηκε μια πιο βολική συνάρτηση IFERROR - σας επιτρέπει να λύσετε το πρόβλημα πιο συμπαγή:

=IFERROR(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)

PS

Στην αγγλική έκδοση του Excel, αυτές οι λειτουργίες θα μοιάζουν με αυτό:

=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))

=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))

=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)

  • Χρησιμοποιώντας τη συνάρτηση VLOOKUP για την εύρεση δεδομένων σε έναν πίνακα
  • Μια βελτιωμένη έκδοση της συνάρτησης VLOOKUP2 που μπορεί να κάνει αναζήτηση σε οποιαδήποτε στήλη και όχι μόνο στην πρώτη τιμή
  • Λειτουργίες VLOOKUP2 και VLOOKUP3 από το πρόσθετο PLEX
  • Τι είναι οι τύποι πίνακα και σε τι χρησιμεύουν;

 

Αφήστε μια απάντηση