Παρασκευή 19 Ιουλίου 2024

Απλές χρήσεις του VLOOKUP

0


Για κάποιον που δουλεύει με δεδομένα, χρησιμοποιώντας την Excel, η συνάρτηση VLΟΟΚUP είναι ένα ισχυρό πολυεργαλείο στα χέρια του. Και δεν μπορεί κανείς να ισχυριστεί ότι γνωρίζει την Excel, χωρίς να ξέρει να χρησιμοποιεί το VLOOKUP.

Τι κάνει, όμως, το VLOOKUP;

Σε πολύ γενικές γραμμές, ψάχνει σε μια λίστα δεδομένων δομημένη κατακόρυφα για μία τιμή σε μία στήλη που είναι πρώτη στην περιοχή αναζήτησης, και μόλις την εντοπίσει, την αντιστοιχεί με μία άλλη τιμή, στην ίδια γραμμή, από μία διαφορετική στήλη. Η στήλη αυτή μπορεί να είναι στο ίδιο αρχείο, στο ίδιο ή σε διαφορετικό φύλλο (sheet), ή σε διαφορετικό. 

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

Σωστό. Όμως το VLOOKUP κάνει πολύ περισσότερα από αυτό. 

Η βασική δομή της συνάρτησης αποτελείται από 4 μέρη.

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

lookup_value: είναι η τιμή την οποία αναζητούμε στην πρώτη στήλη μίας περιοχής αναζήτησης στο αρχείο μας. Μπορεί να είναι αριθμητική τιμή ή μία αναφορά σε κείμενο. Είναι γνωστή και ως τιμή αναζήτησης.

table_array: αναφέρεται στην περιοχή στην οποία αναζητούμε τη μεταβλητή μας, επομένως μπορούμε να την ονομάσουμε περιοχή αναζήτησης. Μπορεί να είναι το όνομα ενός εύρους τιμών ή απλά το ίδιο το εύρος τιμών. Μπορεί να αναφέρεται στο ίδιο αρχείο, στο ίδιο ή διαφορετικό φύλλο (sheet), ή και σε διαφορετικό. H πρώτη στήλη της περιοχής αναζήτησης πρέπει να περιέχει την τιμή αναζήτησης. 

col_index: είναι ο αριθμός της στήλης που περιέχει την τιμή την οποία θέλουμε να αντιστοιχίσουμε με την τιμή αναζήτησης. Προσοχή: εάν έχουμε ορίσει την περιοχή αναζήτησής μας ως Β2:D11, η πρώτη μας στήλη είναι η Β, η δεύτερη η C κ.ο.κ. 

[range_lookup]: καθορίζει αν επιθυμούμε ακριβή αντιστοίχιση (FALSE ή 0) ή κατά προσέγγισεη αντιστοίχιση (TRUE ή 1). Αν δεν ορίσουμε κάτι, η προεπιλεγμένη τιμή θα είναι πάντα TRUE ή κατά προσέγγιση αντιστοίχιση.

Η ανάρτηση αυτή δεν αποτελεί οδηγό σχετικά με το VLOOKUP. Άλλωστε, υπάρχουν τόσες πολλές δυνατότητες, που σίγουρα θα άφηνε πίσω πολλά. Επιπλέον, υπάρχουν εκατοντάδες οδηγοί στο διαδίκτυο, για καθεμιά από τις λειτουργίες του. Επιχειρούμε, όμως, μέσα από λίγα στοχευμένα παραδείγματα, να δώσουμε στον αρχάριο χρήστη τη βασική ιδέα γύρω από τη χρήση της συνάρτησης αυτής.

Βάλτε ζώνες, και φύγαμε.

 

Παράδειγμα 1

Ας υποθέσουμε ότι έχουμε ένα αρχείο με δεδομένα από τους βαθμούς μαθητών ενός σχολείου. Θέλουμε να βρούμε στα γρήγορα τον βαθμό του Πέτρου στα Μαθηματικά. Δεν μιλούμε, βέβαια, για μικρά αρχεία, όπως το πιο κάτω, με 5 μόλις μαθητές και 4 μαθήματα. Μιλούμε για αρχεία μεγάλα, στα οποία η απάντηση δεν είναι προφανής. 



Τι κάνουμε, λοιπόν, για να βρούμε τον βαθμό του Πέτρου στα Μαθηματικά; 
  • Βεβαιωνόμαστε ότι το lookup_value, στην περίπτωσή μας ψάχνουμε για όνομα, βρίσκεται στην πρώτη στήλη της περιοχής αναζήτησής μας.
  • Πάμε σε ένα άδειο κελί στο αρχείο, στην περίπτωσή μας επιλέξαμε το κελί G2.
  • Πληκτρολογούμε =VLOOKUP(
  • Πληκτρολογούμε το lookup_value που θέλουμε να αναζητήσουμε, στην περίπτωσή μας "Πέτρος" και προσθέτουμε κόμμα. Προσοχή: όταν γράφουμε κείμενο και όχι αριθμούς, χρησιμοποιούμε εισαγωγικά. 
  • Επιλέγουμε με το mouse μας το πεδίο στο οποίο θέλουμε να γίνει η αναζήτηση (ολόκληρο τον πίνακα) και προσθέτουμε κόμμα.
  • Πληκτρολογούμε τον αριθμό της στήλης που περιέχει την πληροφορία που θέλουμε να αντιστοιχίσουμε με το όνομα Πέτρος. Εφόσον μάς ενδιαφέρει ο βαθμός του Πέτρου στα Μαθηματικά, χρειαζόμαστε τη στήλη που περιέχει τους βαθμούς στα Μαθηματικά. Αυτή είναι η στήλη 2. Προσθέτουμε κόμμα.
  • Εφόσον θέλουμε τον βαθμό του Πέτρου στα Μαθηματικά, χρειαζόμαστε μία ακριβή αναζήτηση, οπότε πληκτρολογούμε FALSE. Εναλλακτικά, πληκτρολογούμε 1. Κλείνουμε την παρένθεση.
  • Επιλέγουμε ENTER.
  • Ο βαθμός του Πέτρου στα Μαθηματικά (87) θα εμφανιστεί στο κελί G2.
  • Αλλάζοντας το όνομα σε Δώρα, θα πάρουμε τον βαθμό της Δώρας, κ.ο.κ. Αλλάζοντας τη στήλη 2 σε στήλη 3, θα πάρουμε τον βαθμό στη Φυσική, κ.ο.κ.

Παράδειγμα 2

Υπάρχουν φορές που αντί ονόματα έχουμε αριθμούς. Είτε κωδικούς ατόμων, είτε ταυτότητες, είτε οποιονδήποτε άλλον μοναδικό αριθμό. 



Η συνάρτηση VLOOKUP στην περίπτωση αυτή, περιλαμβάνει τον κωδικό του μαθητή 123456 στη θέση του ονόματος "Πέτρος". Δεν χρειάζονται τα εισαγωγικά τώρα που έχουμε να κάνουμε με αριθμό. Το αποτέλεσμά μας εμφανίζεται στο κελί G8, εκεί που ξεκινήσαμε να γράφουμε τη συνάρτησή μας. Αλλάζοντας στη συνάρτηση τον κωδικό, θα αλλάζει και η τιμή στο G8, ανάλογα. Αντίστοιχα, αλλάζοντας τη στήλη 2 σε στήλη 3, θα πάρουμε τον βαθμό στη Φυσική, κ.ο.κ. Προσοχή: επιλέγουμε την περιοχή του κάτω πίνακα αυτή τη φορά. 


Παράδειγμα 3

Στο παράδειγμα αυτό, προχωρούμε ένα βήμα παραπέρα, σε σχέση με τα προηγούμενα παραδείγματα. 

Δέστε τις στήλες Ι και J. Στο κελί Ι2 έχουμε γράψει ΟΝΟΜΑ και στο κελί J2 έχουμε γράψει ΜΑΘ. Θα μπορούσαμε να τα ονομάσουμε και διαφορετικά. Δεν έχει σημασία. Σημασία έχει πώς διαμορφώνουμε τη συνάρτησή μας. Στην περίπτωσή μας, την έχουμε πληκτρολογήσει στο κελί J3 ως εξής:

=VLOOKUP(I3,Table3[#All],2,FALSE)

Αυτό σημαίνει ότι όποιο όνομα πληκτρολογήσουμε στο κελί I3, θα παίρνουμε στο κελί J3 τον βαθμό του στα Μαθηματικά. Κι αυτό γιατί έχουμε επιλέξει τη στήλη 2 στη συνάρτησή μας. 

Μην σας μπερδεύει το bold μέρος της συνάρτησης, το οποίο παρουσιάζει την περιοχή αναζήτησης, και μην σκέφτεστε πώς να το πληκτρολογήσετε στη συνάρτηση. Μόλις επιλέξετε τον πίνακα (στην περίπτωση αυτή τον πάνω πίνακα), η συνάρτηση αυτοσυμπληρώνεται. 



Με τον ίδιο ακριβώς τρόπο λειτουργεί η συνάρτηση για τον πίνακα με τους κωδικούς αντί των ονομάτων.

=VLOOKUP(I9,Table35[#All],2,FALSE)

Πληκτρολογούμε έναν κωδικό μαθητή στο κελί Ι9, και παίρνουμε τον βαθμό του στα Μαθηματικά στο J9. 




Παράδειγμα 4

Στο παράδειγμα αυτό, τελειοποιούμε περισσότερο τη συνάρτησή μας, έτσι ώστε να μπορούμε να αλλάζουμε ονόματα μαθητών και μαθήματα, και να παίρνουμε αυτόματα τους αντίστοιχους βαθμούς. Όπως θα δείτε στην εικόνα πιο κάτω, το όνομα που μας ενδιαφέρει το γράφουμε στο κελί L3, ενώ το μάθημα στο κελί Μ2. 

Η συνάρτησή μας, την οποία πληκτρολογούμε στο κελί Μ3, περιλαμβάνει αυτή τη φορά το MATCH, και τροποποιείται ως εξής:

=VLOOKUP(L3,Table3,MATCH(M2,Table3[#Headers],FALSE),FALSE)

To μπλε μέρος της συνάρτησης ορίζει ότι η τιμή αναζήτησης είναι το όνομα στο κελί L3, και θα το ψάξουμε στον πίνακα που ονομάζεται Table3. 

To κόκκινο μέρος της συνάρτησης ορίζει ότι υπάρχει μία νέα τιμή αναζήτησης, το μάθημα στο κελί Μ2, την οποία θα αναζητήσουμε στις επικεφαλίδες του πίνακα Table3, τις οποίες και επιλέγουμε.

Το MATCH, θα συνδυάσει τα δύο αυτά μέρη, και θα μας επιστρέψει το ανάλογο αποτέλεσμα. 




Παράδειγμα 5

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

Ας υποθέσουμε ότι έχουμε ένα αρχείο που περιέχει στην πρώτη στήλη τις ταυτότητες των πελατών ενός ιατρείου και στη δεύτερη τις ημερομηνίες γεννήσεώς τους. Υπάρχει και μία τρίτη στήλη, η οποία είναι κενή. Είναι η στήλη στην οποία θα πρέπει να καταχωριστεί η ομάδα αίματος του κάθε πελάτη.



Ένα δεύτερο αρχείο περιέχει αυτή την πληροφορία, της ομάδας αίματος, όμως δεν έχει ακριβώς τους ίδιους πελάτες στην πρώτη στήλη με αυτούς του πρώτου αρχείου. Επιπλέον, η σειρά καταχώρισης διαφέρει στα δύο αρχεία.



Τι κάνουμε; Αν τα δεδομένα μας είναι λίγα, μπορούμε απλά να κάνουμε μία χειροκίνητη αντιστοίχιση για να πάρουμε την πληροφορία που μας λείπει. Τι γίνεται, όμως, αν τα δεδομένα μας είναι μερικές χιλιάδες στο κάθε αρχείο;

Εδώ είναι που έρχεται να μας λύσει τα χέρια το VLOOKUP.

Η δομή της συνάρτησης είναι η ίδια, όπως ακριβώς περιγράφηκε πιο πάνω:

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Ας δούμε πώς ερμηνεύουμε το καθετί στην πράξη. 
  • Πάμε στο πρώτο αρχείο, το οποίο θέλουμε να ενημερώσουμε με την πληροφορία της ομάδας αίματος.
  • Στo πρώτο κελί κάτω από τη στήλη με τίτλο BLOOD, ξεκινούμε να γράφουμε τη συνάρτησή μας: =VLOOKUP(
  • Επιλέγουμε το lookup_value. Αυτό είναι το πρώτο κελί κάτω από τον τίτλο της στήλης που είναι κοινή και στα δύο αρχεία, και περιέχει τις μοναδικές τιμές για τον κάθε πελάτη. Στην περίπτωσή μας, η στήλη αυτή είναι η στήλη με τίτλο ID. Επιλέγουμε, λοιπόν, το πρώτο κελί κάτω από τον τίτλο, που είναι το κελί Α2. Δεν ξεχνούμε να βάλουμε το κόμμα αμέσως μετά. 
  • Πάμε στο δεύτερο μας αρχείο, το οποίο περιέχει την πληροφορία που θέλουμε να προσθέσουμε στο πρώτο αρχείο. Επιλέγουμε την περιοχή στην οποία θέλουμε να ψάξουμε την πληροφορία αυτή, έτσι ώστε η πρώτη στήλη της περιοχής αναζήτησης να είναι η στήλη ID, αυτή, δηλαδή, που περιέχει το lookup_value. 
  • Με το που επιλέγουμε την περιοχή αναζήτησής μας, βλέπουμε πώς διαμορφώνεται η συνάρτησή μας. Στην περίπτωσή μας, επιλέξαμε την περιοχή που εμπερικλείεται ανάμεσα στις στήλες Α και C. 

  • Επιστρέφουμε στο πρώτο αρχείο και συνεχίζουμε το χτίσιμο της συνάρτησής μας, προσθέτοντας τον αριθμό της στήλης που περιέχει την πληροφορία για την ομάδα αίματος στο αρχείο 2. Είναι η στήλη 3, δεδομένου ότι ξεκινούμε να μετρούμε από τη στήλη που περιέχει το vlookup_value μας.
  • Ολοκληρώνουμε με FALSE και ENTER.
  • Θα δούμε αμέσως ότι το πρώτο κελί της στήλης BLOOD έχει συμπληρωθεί.

  • Για να δούμε όλα τα δεδομένα, απλά τραβούμε με το mouse μας την άκρη του πράσινου πλαισίου στο κελί, όπως φαίνεται πιο πάνω. Και έχουμε δεδομένα για όλους τους πελάτες! 

  • Αν δούμε τιμές #Ν/Α, όπως πιο πάνω, σημαίνει ότι δεν υπάρχουν δεδομένα για τις περιπτώσεις αυτές στο αρχείο 2. 


ΤΙΠ

Στην περίπτωση που τα έχουμε κάνει όλα σωστά, αλλά εξακολουθητικά παίρνουμε ένα προειδοποιητικό μήνυμα ότι η συνάρτησή μας περιέχει λάθη, τότε πολύ πιθανό να φταίει η χρήση του κόμματος αντί του ερωτηματικού. Αυτό έχει να κάνει με τα Regional Settings στον υπολογιστή μας, και συγκεκριμένα στη ρύθμιση που αφορά στο List Separator.

Για να το ελέγξουμε αυτό, πάμε στο Control Panel > Region > Additional Settings

Αν υπάρχει το κόμμα ως List separator, τότε το VLOOKUP χρειάζεται το κόμμα. Αντίθετα, αν έχει οριστεί το ερωτηματικό ως List separator, τότε το VLOOKUP χρειάζεται το ερωτηματικό. 



Αν εξακολουθούμε να παίρνουμε το μήνυμα για λάθος, κάνουμε και έναν έλεγχο στα Settings της Excel μας. 

Πάμε File > Options > Advanced  και ελέγχουμε κάτω από τον τίτλο Editing options να είναι τικαρισμένη η επιλογή Use system separators. 




Σχετικά





Δεν υπάρχουν σχόλια :

Δημοσίευση σχολίου