Συγχώνευση 2 φύλλων Google και ενημέρωση δεδομένων με βάση κοινές εγγραφές

  • Μοιραστείτε Αυτό
Michael Brown

Η σημερινή δημοσίευση στο blog παρουσιάζει όλους τους τρόπους για τη συγχώνευση 2 φύλλων Google. Θα χρησιμοποιήσετε το VLOOKUP, INDEX/MATCH, QUERY και το πρόσθετο Merge Sheets για να ενημερώσετε τα κελιά σε ένα φύλλο από εγγραφές από ένα άλλο φύλλο με βάση τις αντιστοιχίες σε κοινές στήλες.

    Συγχώνευση φύλλων Google χρησιμοποιώντας τη λειτουργία VLOOKUP

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

    Σύνταξη & χρήση

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

    Αν και το VLOOKUP του Google Sheets θεωρείται συνήθως ως μία από τις δύσκολες λειτουργίες, στην πραγματικότητα είναι αρκετά απλό και εύκολο μόλις το μάθετε.

    Ας ρίξουμε μια γρήγορη ματιά στα συστατικά του:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • search_key είναι η τιμή κλειδί που αναζητάτε. Μπορεί να είναι οποιαδήποτε συμβολοσειρά κειμένου, αριθμός ή αναφορά κελιού.
    • εύρος είναι εκείνη η ομάδα κελιών (ή ένας πίνακας) όπου θα αναζητήσετε το search_key και από πού θα αντλήσετε τις σχετικές εγγραφές.

      Σημείωση. Το VLOOKUP στο Google Sheets σαρώνει πάντα την πρώτη στήλη της εύρος για το search_key .

    • δείκτης είναι ο αριθμός της στήλης εντός της εν λόγω εύρος από όπου θέλετε να αντλήσετε τα δεδομένα.

      Π.χ., αν το εύρος αναζήτησης είναι A2:E20 και πρέπει να λάβετε τα δεδομένα από τη στήλη E, πληκτρολογήστε 5. Αλλά αν το εύρος αναζήτησης είναι D2:E20, θα πρέπει να πληκτρολογήσετε 2 για να λάβετε εγγραφές από τη στήλη E.

    • [is_sorted] είναι το μόνο όρισμα που μπορείτε να παραλείψετε. Χρησιμοποιείται για να πει αν η στήλη με τις τιμές κλειδιών είναι ταξινομημένη (TRUE) ή όχι (FALSE). Αν TRUE, η συνάρτηση θα λειτουργήσει με την πλησιέστερη αντιστοιχία, αν FALSE - με μια πλήρη. Όταν παραλείπεται, χρησιμοποιείται εξ ορισμού το TRUE.

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

    Με αυτά τα επιχειρήματα κατά νου, ας χρησιμοποιήσουμε το VLOOKUP για να συγχωνεύσουμε δύο φύλλα Google.

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

    Ας ονομάσουμε αυτόν τον πίνακα κύριο, αφού ο στόχος μου είναι να τον συμπληρώσω.

    Υπάρχει επίσης ένας άλλος πίνακας στο Φύλλο1 με όλα τα δεδομένα στη θέση τους, συμπεριλαμβανομένης της διαθεσιμότητας αποθεμάτων:

    Θα τον ονομάσω πίνακα αναζήτησης, δεδομένου ότι θα τον εξετάσω για να πάρω τα δεδομένα.

    Θα χρησιμοποιήσω τη συνάρτηση VLOOKUP του Google Sheets για να συγχωνεύσω αυτά τα 2 φύλλα. Η συνάρτηση θα ταιριάξει τα μούρα και στους δύο πίνακες και θα τραβήξει τις αντίστοιχες πληροφορίες "αποθέματος" από την αναζήτηση στον κύριο πίνακα.

    =VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)

    Δείτε πώς αυτός ο τύπος συγχωνεύει ακριβώς δύο φύλλα Google:

    1. Αναζητά την τιμή από το B2 (κύριο φύλλο) στη στήλη B στο φύλλο1 (φύλλο αναζήτησης).

      Σημείωση. Θυμηθείτε, το VLOOKUP σαρώνει την 1η στήλη του καθορισμένου εύρους - Φύλλο1!$B$2:$C$10 .

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

    2. Το FALSE στο τέλος λέει ότι τα δεδομένα στη στήλη B (στο φύλλο αναζήτησης) δεν είναι ταξινομημένα, οπότε θα ληφθούν υπόψη μόνο οι ακριβείς αντιστοιχίες.
    3. Μόλις υπάρξει ταύτιση, το VLOOKUP του Google Sheets αντλεί τη σχετική εγγραφή από τη 2η στήλη του εν λόγω εύρους (στήλη C).

    Απόκρυψη σφαλμάτων που επιστρέφονται από το VLOOKUP στο Google Sheets - IFERROR

    Αλλά τι γίνεται με αυτά τα #N/A λάθη;

    Τις βλέπετε σε εκείνες τις γραμμές όπου τα μούρα δεν έχουν αντιστοιχίες σε άλλο φύλλο και δεν υπάρχει τίποτα να επιστρέψετε. Ευτυχώς, υπάρχει ένας τρόπος να κρατάτε τέτοια κελιά κενά.

    Απλά τυλίξτε το VLOOKUP του Google Sheets σε IFERROR:

    =IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")

    Συμβουλή. Εντοπίστε και διορθώστε άλλα σφάλματα που μπορεί να επιστρέψει το Google Sheets VLOOKUP χρησιμοποιώντας λύσεις από αυτόν τον οδηγό.

    Match & ενημέρωση εγγραφών για ολόκληρη τη στήλη ταυτόχρονα - ArrayFormula

    Ένα ακόμη πράγμα που θα ήθελα να αναφέρω είναι ο τρόπος αντιστοίχισης και συγχώνευσης δεδομένων του Google Sheets για ολόκληρη τη στήλη ταυτόχρονα.

    Τίποτα φανταχτερό εδώ, απλώς μια ακόμη συνάρτηση - ArrayFormula.

    Απλά αντικαταστήστε την εγγραφή κλειδιού ενός κελιού στο Google Sheets VLOOKUP με ολόκληρη τη στήλη και τοποθετήστε ολόκληρο αυτόν τον τύπο μέσα στο ArrayFormula:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))

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

    Παρόλο που το VLOOKUP στο Google Sheets είναι ιδανικό για τέτοιες απλές εργασίες, έχει κάποια όρια. Ακολουθεί ένα από τα μειονεκτήματά του: δεν μπορεί να κοιτάξει στα αριστερά του. Όποιο εύρος και αν υποδείξετε, σαρώνει πάντα την πρώτη στήλη του.

    Έτσι, αν πρέπει να συγχωνεύσετε 2 φύλλα Google και να τραβήξετε τα IDs (δεδομένα της 1ης στήλης) με βάση τα μούρα (2η στήλη), το VLOOKUP δεν θα σας βοηθήσει. Απλώς δεν θα μπορέσετε να φτιάξετε έναν σωστό τύπο.

    Σε τέτοιες περιπτώσεις, το INDEX MATCH για το Google Sheets μπαίνει στο παιχνίδι.

    Αντιστοίχιση &; συγχώνευση φύλλων Google χρησιμοποιώντας το δίδυμο INDEX MATCH

    Η INDEX MATCH, ή μάλλον η INDEX & MATCH, είναι στην πραγματικότητα δύο διαφορετικές λειτουργίες του Google Sheets. Όταν όμως χρησιμοποιούνται μαζί, είναι σαν ένα VLOOKUP επόμενου επιπέδου.

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

    Αλλά το κάνουν πολύ καλύτερα αφού αγνοούν όλους αυτούς τους περιορισμούς που έχει το VLOOKUP.

    Δεν θα καλύψω όλα τα βασικά σήμερα, επειδή το έκανα αυτό σε αυτή την ανάρτηση ιστολογίου. Θα σας δώσω όμως μερικά παραδείγματα τύπων INDEX MATCH, ώστε να μπορέσετε να δείτε πώς λειτουργούν απευθείας στα λογιστικά φύλλα της Google. Θα χρησιμοποιήσω τους ίδιους πίνακες-δείγματα από τα παραπάνω.

    INDEX MATCH σε δράση στο Google Sheets

    Πρώτον, ας συγχωνεύσουμε αυτά τα φύλλα Google και ας ενημερώσουμε τη διαθεσιμότητα αποθεμάτων για όλα τα αντίστοιχα μούρα:

    =INDEX(Φύλλο1!$C$1:$C$10,MATCH(B2,Φύλλο1!$B$1:$B$10,0))

    Πώς λειτουργούν τα INDEX & MATCH όταν χρησιμοποιούνται μαζί με αυτόν τον τρόπο;

    1. Η MATCH εξετάζει το B2 και αναζητά την ίδια ακριβώς εγγραφή στη στήλη B του φύλλου1. Μόλις βρεθεί, επιστρέφει τον αριθμό της γραμμής που περιέχει αυτή την τιμή - 10 στην περίπτωσή μου.
    2. Το INDEX πηγαίνει επίσης σε αυτή τη 10η γραμμή στο φύλλο1, μόνο που παίρνει την τιμή από μια άλλη στήλη - C.

    Τώρα ας δοκιμάσουμε να δοκιμάσουμε το INDEX MATCH ενάντια σε αυτό που δεν μπορεί να κάνει το Google Sheets VLOOKUP - να συγχωνεύσει φύλλα και να ενημερώσει την αριστερότερη στήλη με τα απαιτούμενα ID:

    =INDEX(Φύλλο1!$A$2:$A$10,MATCH(B2,Φύλλο1!$B$2:$B$10,0))

    Εύκολο-εύκολο :)

    Χειρισμός σφαλμάτων που επιστρέφονται από INDEX MATCH στο Google Sheets

    Ας προχωρήσουμε περαιτέρω και ας απαλλαγούμε από αυτά τα σφάλματα στα κελιά χωρίς αντιστοιχίες. Το IFERROR θα βοηθήσει και πάλι. Απλά βάλτε το INDEX MATCH του Google Sheets ως πρώτο όρισμά του.

    Παράδειγμα 1.

    =IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")

    Παράδειγμα 2.

    =IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")

    Τώρα, πώς μπορείτε να συγχωνεύσετε αυτά τα φύλλα Google χρησιμοποιώντας INDEX MATCH και να ενημερώσετε όλα τα κελιά σε ολόκληρη τη στήλη ταυτόχρονα;

    Λοιπόν... Δεν το κάνετε. Υπάρχει ένα μικρό πρόβλημα: η ArrayFormula δεν λειτουργεί με αυτά τα δύο.

    Θα χρειαστεί να αντιγράψετε τον τύπο INDEX MATCH κάτω από τη στήλη ή να χρησιμοποιήσετε τη λειτουργία QUERY του Google Sheets ως εναλλακτική λύση.

    Συγχώνευση φύλλων Google & ενημέρωση κυττάρων χρησιμοποιώντας QUERY

    Το Google Sheets QUERY είναι η πιο ισχυρή λειτουργία στα λογιστικά φύλλα. Με αυτό το πράγμα στο μυαλό, δεν αποτελεί έκπληξη το γεγονός ότι προσφέρει έναν τρόπο για να συγχωνεύσετε κατά κάποιο τρόπο πίνακες - να ταιριάξετε & να συγχωνεύσετε τιμές από διαφορετικά φύλλα.

    =QUERY(δεδομένα, ερώτημα, [επικεφαλίδες])

    Συμβουλή: Εάν δεν έχετε χρησιμοποιήσει ποτέ πριν το Google Sheets QUERY, αυτό το σεμινάριο θα σας βοηθήσει να κατανοήσετε την ιδιόμορφη γλώσσα του.

    Τι θα πρέπει να είναι ο τύπος QUERY μοιάζει να ενημερώσει το Απόθεμα στήλη με τα πραγματικά δεδομένα;

    =QUERY(Φύλλο1!$A$2:$C$10, "select C where&Φύλλο4!$B2:$B$10&"""")

    • Google Sheets QUERY κοιτάζει lookup φύλλο μου (Sheet1 με τις εγγραφές που πρέπει να τραβήξει να κύρια πίνακα μου)
    • και επιστρέφει όλα εκείνα τα κελιά από τη στήλη C όπου η στήλη B ταιριάζει με τα μούρα του κύριου πίνακα μου

    Επιτρέψτε μου να χάσω αυτά τα σφάλματα για τα κελιά χωρίς αντιστοιχίες:

    =IFERROR(QUERY(Φύλλο1!$A$2:$C$10, "select C where&Φύλλο4!$B2:$B$10&"""),"")

    Λοιπόν, αυτό είναι καλύτερο :)

    Συγχώνευση πινάκων από διαφορετικά λογιστικά φύλλα Google - λειτουργία IMPORTRANGE

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

    Η συνάρτηση ονομάζεται IMPORTRANGE:

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • το πρώτο είναι ο σύνδεσμος προς το λογιστικό φύλλο από το οποίο αντλείτε τα δεδομένα.
    • το τελευταίο πηγαίνει το φύλλο &- το εύρος που θέλετε να πάρετε από αυτό το φύλλο

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

    Φανταστείτε ότι το φύλλο αναζήτησης (με τα δεδομένα αναφοράς) βρίσκεται στο φύλλο 2 (ή αλλιώς φύλλο αναζήτησης). Το κύριο φύλλο σας βρίσκεται στο φύλλο 1 (κύριο φύλλο).

    Σημείωση: Για να λειτουργήσει το IMPORTRANGE, πρέπει να συνδέσετε και τα δύο αρχεία. Και ενώ το Google Sheet προτείνει ένα κουμπί γι' αυτό αμέσως μετά την πληκτρολόγηση του τύπου σας σε ένα κελί και το πάτημα του πλήκτρου Εισάγετε το , για τους παρακάτω τύπους μπορεί να χρειαστεί να το κάνετε αυτό εκ των προτέρων. Αυτός ο οδηγός βήμα προς βήμα θα σας βοηθήσει.

    Ακολουθούν τα παραδείγματα για τη συγχώνευση φύλλων Google από διαφορετικά αρχεία με τη χρήση του IMPORTRANGE με κάθε λειτουργία που μάθατε νωρίτερα σήμερα.

    Παράδειγμα 1. IMPORTRANGE + VLOOKUP

    Χρησιμοποιήστε το IMPORTRAGE ως εύρος στο VLOOKUP για να συγχωνεύσετε 2 ξεχωριστά λογιστικά φύλλα Google:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),""))

    Παράδειγμα 2. IMPORTRANGE + INDEX MATCH

    Όσον αφορά την INDEX MATCH & IMPORTRANGE, ο τύπος γίνεται πιο ογκώδης, καθώς πρέπει να αναφέρετε ένα άλλο φύλλο δύο φορές: ως εύρος για την INDEX και ως εύρος για την MATCH:

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10")),0)),"")

    Παράδειγμα 3. IMPORTRANGE + QUERY

    Αυτό το ταντέμ τύπων είναι το προσωπικό μου αγαπημένο. Μπορούν να αντιμετωπίσουν σχεδόν τα πάντα στα λογιστικά φύλλα όταν χρησιμοποιούνται μαζί. Η συγχώνευση φύλλων Google από ξεχωριστά λογιστικά φύλλα δεν αποτελεί εξαίρεση.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&"""),"")

    Ουφ!

    Αυτά είναι όλα για τις συναρτήσεις και τους τύπους.

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

    ή...

    ...δοκιμάστε ένα ειδικό εργαλείο που συγχωνεύει φύλλα Google για εσάς! ;)

    Τρόπος αντιστοίχισης & συγχώνευσης δεδομένων χωρίς τύπους - Πρόσθετο Merge Sheets για Google Sheets

    Αν δεν έχετε χρόνο να δημιουργήσετε ή ακόμα και να μάθετε τύπους ή αν απλά ψάχνετε τον ευκολότερο τρόπο για να ενώσετε δεδομένα με βάση κοινές εγγραφές, το Merge Sheets θα είναι ιδανικό.

    Το μόνο που θα χρειαστεί να κάνετε είναι να τσεκάρετε τα κουτάκια σε 5 φιλικά προς το χρήστη βήματα:

    1. επιλέξτε το κύριο φύλλο σας
    2. επιλέξτε το φύλλο αναζήτησης
    3. επισημάνετε τις στήλες-κλειδιά (αυτές που περιέχουν εγγραφές προς αντιστοίχιση) με πλαίσια ελέγχου
    4. επιλέξτε στήλες για ενημέρωση:

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

    Παρακολουθήστε αυτό το βίντεο επίδειξης 3 λεπτών για να δείτε πώς λειτουργεί:

    Σας ενθαρρύνω να εγκαταστήσετε τα φύλλα συγχώνευσης από το κατάστημα Google Sheets και να ακολουθήσετε αυτές τις οδηγίες για να προσπαθήσετε να ενημερώσετε τον δικό σας πίνακα με τις πληροφορίες από ένα άλλο φύλλο.

    Υπολογιστικό φύλλο με παραδείγματα τύπων

    Συγχώνευση φύλλων Google & ενημέρωση δεδομένων - παραδείγματα τύπων (δημιουργήστε ένα αντίγραφο του αρχείου)

    Ο Michael Brown είναι ένας αφοσιωμένος λάτρης της τεχνολογίας με πάθος για την απλοποίηση πολύπλοκων διαδικασιών χρησιμοποιώντας εργαλεία λογισμικού. Με περισσότερο από μια δεκαετία εμπειρίας στον κλάδο της τεχνολογίας, έχει βελτιώσει τις δεξιότητές του στο Microsoft Excel και το Outlook, καθώς και στα Φύλλα Google και στα Έγγραφα. Το blog του Michael είναι αφιερωμένο στο να μοιράζεται τη γνώση και την τεχνογνωσία του με άλλους, παρέχοντας εύκολες συμβουλές και σεμινάρια για τη βελτίωση της παραγωγικότητας και της αποτελεσματικότητας. Είτε είστε έμπειρος επαγγελματίας είτε αρχάριος, το ιστολόγιο του Michael προσφέρει πολύτιμες πληροφορίες και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτά τα βασικά εργαλεία λογισμικού.