Excel: Σύγκριση συμβολοσειρών σε δύο κελιά για αντιστοιχίες (χωρίς ευαισθησία στην πεζότητα ή ακριβείς)

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

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

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

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

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

    Πώς να συγκρίνετε δύο κελιά στο Excel

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

    Τύπος χωρίς ευαισθησία στην πεζότητα για τη σύγκριση 2 κελιών

    Για να συγκρίνετε δύο κελιά στην περίπτωση αγνόησης του Excel, χρησιμοποιήστε έναν απλό τύπο όπως αυτός:

    =A1=B1

    Όπου A1 και B1 είναι τα κελιά που συγκρίνετε. Το αποτέλεσμα του τύπου είναι οι τιμές Boolean TRUE και FALSE.

    Αν θέλετε να εξάγετε τα δικά σας κείμενα για τις αντιστοιχίες και τις διαφορές, ενσωματώστε την παραπάνω δήλωση στο λογικό τεστ της συνάρτησης IF. Για παράδειγμα:

    =IF(A1=B1, "Ισοδύναμο", "Μη ισοδύναμο")

    Όπως βλέπετε στο παρακάτω στιγμιότυπο οθόνης, και οι δύο τύποι συγκρίνουν εξίσου καλά συμβολοσειρές κειμένου, ημερομηνίες και αριθμούς:

    Τύπος με ευαισθησία στην πεζότητα για τη σύγκριση συμβολοσειρών στο Excel

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

    EXACT (text1, text2)

    Πού text1 και text2 είναι τα δύο κελιά που συγκρίνετε.

    Υποθέτοντας ότι οι συμβολοσειρές σας βρίσκονται στα κελιά A2 και B2, ο τύπος έχει ως εξής:

    =EXACT(A2, B2)

    Ως αποτέλεσμα, λαμβάνετε TRUE για συμβολοσειρές κειμένου που ταιριάζουν ακριβώς, συμπεριλαμβανομένης της περίπτωσης κάθε χαρακτήρα, FALSE διαφορετικά.

    Αν θέλετε η συνάρτηση EXACT να παρέχει κάποια άλλα αποτελέσματα, ενσωματώστε την σε έναν τύπο IF και πληκτρολογήστε το δικό σας κείμενο για το value_if_true και value_if_false επιχειρήματα:

    =IF(EXACT(A2 ,B2), "Ακριβώς ίσο", "Όχι ίσο")

    Το ακόλουθο στιγμιότυπο οθόνης δείχνει τα αποτελέσματα της σύγκρισης συμβολοσειρών με βάση την πεζότητα στο Excel:

    Πώς να συγκρίνετε πολλαπλά κελιά στο Excel

    Για να συγκρίνετε περισσότερα από 2 κελιά σε μια σειρά, χρησιμοποιήστε τους τύπους που συζητήθηκαν στα παραπάνω παραδείγματα σε συνδυασμό με τον τελεστή AND. Οι πλήρεις λεπτομέρειες ακολουθούν παρακάτω.

    Τύπος χωρίς ευαισθησία στην πεζότητα για τη σύγκριση περισσότερων από 2 κελιών

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

    =AND(A2=B2, A2=C2)

    ή

    =IF(AND(A2=B2, A2=C2), "Ισοδύναμο", "Μη ισοδύναμο")

    Ο τύπος AND επιστρέφει TRUE αν όλα τα κελιά περιέχουν την ίδια τιμή, FALSE αν κάποια τιμή είναι διαφορετική. Ο τύπος IF εξάγει τις ετικέτες που πληκτρολογείτε σε αυτόν, " Equal " και " Δεν είναι ίσα " σε αυτό το παράδειγμα.

    Όπως φαίνεται στο παρακάτω στιγμιότυπο, ο τύπος λειτουργεί άψογα με όλους τους τύπους δεδομένων - κείμενο, ημερομηνίες και αριθμητικές τιμές:

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

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

    =AND(EXACT(A2,B2), EXACT(A2, C2))

    Ή

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Ακριβώς ίσο", "Όχι ίσο")

    Όπως και στο προηγούμενο παράδειγμα, ο πρώτος τύπος παρέχει τις τιμές TRUE και FALSE, ενώ ο δεύτερος εμφανίζει τα δικά σας κείμενα για ταυτίσεις και διαφορές:

    Σύγκριση ενός εύρους κυττάρων με ένα κύτταρο δείγματος

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

    Τύπος χωρίς ευαισθησία στην πεζότητα για τη σύγκριση κελιών με ένα δείγμα κειμένου

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

    ROWS( εύρος )*COLUMNS( εύρος )=COUNTIF( εύρος , κύτταρο δείγματος )

    Στη λογική δοκιμή της συνάρτησης IF, συγκρίνετε δύο αριθμούς:

    • Ο συνολικός αριθμός κελιών σε μια καθορισμένη περιοχή (ο αριθμός των γραμμών πολλαπλασιασμένος με τον αριθμό των στηλών), και
    • Ο αριθμός των κελιών που περιέχουν την ίδια τιμή με το κελί του δείγματος (επιστρέφεται από τη συνάρτηση COUNTIF).

    Υποθέτοντας ότι το κείμενο του δείγματος βρίσκεται στο C2 και οι συμβολοσειρές προς σύγκριση βρίσκονται στο εύρος A2:B6, ο τύπος έχει ως εξής:

    =ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2)

    Για να κάνετε τα αποτελέσματα πιο φιλικά προς το χρήστη, δηλαδή να εξάγετε κάτι σαν "Όλα ταιριάζουν" και "Δεν ταιριάζουν όλα" αντί για TRUE και FALSE, χρησιμοποιήστε τη συνάρτηση IF όπως κάναμε στα προηγούμενα παραδείγματα:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "All match", "Not all match")

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

    Τύπος με ευαισθησία στην πεζότητα για τη σύγκριση συμβολοσειρών με ένα δείγμα κειμένου

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

    IF(ROWS( εύρος )*COLUMNS( εύρος )=SUM(--EXACT( sample_cell , εύρος )), " text_if_match ", " text_if_not match ")

    Με την περιοχή προέλευσης να βρίσκεται στο A2:B6 και το δείγμα κειμένου στο C2, ο τύπος παίρνει την ακόλουθη μορφή:

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")

    Σε αντίθεση με τους κανονικούς τύπους του Excel, οι τύποι συστοιχιών ολοκληρώνονται με το πάτημα των πλήκτρων Ctrl + Shift + Enter . Εάν εισαχθεί σωστά, το Excel περικλείει τον τύπο συστοιχίας σε {αγκύλες}, όπως φαίνεται στο στιγμιότυπο οθόνης:

    Πώς να συγκρίνετε δύο κελιά με βάση το μήκος συμβολοσειράς

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

    Αν υποθέσουμε ότι οι συμβολοσειρές που πρέπει να συγκριθούν βρίσκονται στα κελιά A2 και B2, χρησιμοποιήστε έναν από τους ακόλουθους τύπους:

    =LEN(A2)=LEN(B2)

    Ή

    =IF(LEN(A2)=LEN(B2), "Ισοδύναμο", "Μη ισοδύναμο")

    Όπως ήδη γνωρίζετε, ο πρώτος τύπος επιστρέφει τις τιμές Boolean TRUE ή FALSE, ενώ ο δεύτερος τύπος εξάγει τα δικά σας αποτελέσματα:

    Όπως φαίνεται στο παραπάνω στιγμιότυπο, οι τύποι λειτουργούν τόσο για συμβολοσειρές κειμένου όσο και για αριθμούς.

    Συμβουλή. Αν δύο φαινομενικά ίσες συμβολοσειρές επιστρέφουν διαφορετικά μήκη, το πιθανότερο είναι ότι το πρόβλημα βρίσκεται στο κορυφαία ή πίσω χώροι σε ένα ή και στα δύο κελιά. Σε αυτή την περίπτωση, αφαιρέστε τα επιπλέον κενά χρησιμοποιώντας τη συνάρτηση TRIM. Η λεπτομερής εξήγηση και τα παραδείγματα τύπων βρίσκονται εδώ: Πώς να κόψετε τα κενά στο Excel.

    Σύγκριση δύο κελιών με βάση τις εμφανίσεις ενός συγκεκριμένου χαρακτήρα

    Αυτό είναι το τελευταίο παράδειγμα στο σεμινάριο Excel Compare Strings, και δείχνει μια λύση για μια μάλλον συγκεκριμένη εργασία. Ας υποθέσουμε ότι έχετε 2 στήλες με συμβολοσειρές κειμένου που περιέχουν έναν σημαντικό για εσάς χαρακτήρα. Ο στόχος σας είναι να ελέγξετε αν δύο κελιά σε κάθε γραμμή περιέχουν τον ίδιο αριθμό εμφανίσεων ενός συγκεκριμένου χαρακτήρα.

    Για να γίνουν τα πράγματα πιο κατανοητά, σκεφτείτε το ακόλουθο παράδειγμα. Ας υποθέσουμε ότι έχετε δύο λίστες με παραγγελίες που έχουν αποσταλεί (στήλη Β) και παραληφθεί (στήλη Γ). Κάθε γραμμή περιέχει παραγγελίες για ένα συγκεκριμένο είδος, του οποίου το μοναδικό αναγνωριστικό περιλαμβάνεται σε όλα τα αναγνωριστικά παραγγελίας και παρατίθεται στην ίδια γραμμή στη στήλη Α (δείτε το παρακάτω στιγμιότυπο οθόνης). Θέλετε να βεβαιωθείτε ότι κάθε γραμμή περιέχει ίσο αριθμό αποσταλμένων και παραληφθέντωνστοιχεία με το συγκεκριμένο αναγνωριστικό.

    Για να λύσετε αυτό το πρόβλημα, γράψτε έναν τύπο με την ακόλουθη λογική.

    • Πρώτον, αντικαταστήστε το μοναδικό αναγνωριστικό με τίποτα χρησιμοποιώντας τη συνάρτηση SUBSTITUTE:

      SUBSTITUTE(A1, character_to_count,"")

    • Στη συνέχεια, υπολογίστε πόσες φορές εμφανίζεται το μοναδικό αναγνωριστικό σε κάθε κελί. Για το σκοπό αυτό, πάρτε το μήκος της συμβολοσειράς χωρίς το μοναδικό αναγνωριστικό και αφαιρέστε το από το συνολικό μήκος της συμβολοσειράς. Αυτό το μέρος πρέπει να γραφτεί για το κελί 1 και το κελί 2 ξεχωριστά, για παράδειγμα:

      LEN(κελί 1) - LEN(SUBSTITUTE(κελί 1, character_to_count, ""))

      και

      LEN(κελί 2) - LEN(SUBSTITUTE(κελί 2, character_to_count, ""))

    • Τέλος, συγκρίνετε αυτούς τους 2 αριθμούς τοποθετώντας το σύμβολο ισότητας (=) μεταξύ των παραπάνω μερών.
    LEN( κελί 1 ) - LEN(SUBSTITUTE( κελί 1 , character_to_count , ""))=

    LEN( κελί 2 ) - LEN(SUBSTITUTE( κελί 2 , character_to_count , ""))

    Στο παράδειγμά μας, το μοναδικό αναγνωριστικό βρίσκεται στο A2 και οι συμβολοσειρές προς σύγκριση βρίσκονται στα κελιά B2 και C2. Έτσι, ο πλήρης τύπος έχει ως εξής:

    =LEN(B2)-LEN(SUBSTITUTE(B2,$A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,""))

    Ο τύπος επιστρέφει TRUE εάν τα κελιά B2 και C2 περιέχουν ίσο αριθμό εμφανίσεων του χαρακτήρα στο A2, διαφορετικά FALSE. Για να κάνετε τα αποτελέσματα πιο σημαντικά για τους χρήστες σας, μπορείτε να ενσωματώσετε τον τύπο στη συνάρτηση IF:

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Ίση", "Μη ίση")

    Όπως μπορείτε να δείτε στο παραπάνω στιγμιότυπο οθόνης, ο τύπος λειτουργεί άψογα, παρά τις μερικές επιπρόσθετες επιπλοκές:

    • Ο χαρακτήρας που πρέπει να καταμετρηθεί (μοναδικό αναγνωριστικό) μπορεί να εμφανίζεται οπουδήποτε σε μια συμβολοσειρά κειμένου.
    • Οι συμβολοσειρές περιέχουν μεταβλητό αριθμό χαρακτήρων και διάφορα διαχωριστικά όπως άνω και κάτω τελεία, κόμμα ή κενό.

    Με αυτόν τον τρόπο μπορείτε να συγκρίνετε συμβολοσειρές στο Excel. Για να ρίξετε μια πιο προσεκτική ματιά στους τύπους που συζητήθηκαν σε αυτό το σεμινάριο, μπορείτε να κατεβάσετε το φύλλο εργασίας Excel Compare Strings Worksheet. Σας ευχαριστώ για την ανάγνωση και ελπίζω να σας δω στο ιστολόγιό μας την επόμενη εβδομάδα.

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