
Γενική φόρμουλα
=FILTER(list1,COUNTIF(list2,list1))
Περίληψη
Για να συγκρίνετε δύο λίστες και να εξαγάγετε κοινές τιμές, μπορείτε να χρησιμοποιήσετε έναν τύπο βάσει των συναρτήσεων FILTER και COUNTIF. Στο παράδειγμα που εμφανίζεται, ο τύπος στο F5 είναι:
=FILTER(list1,COUNTIF(list2,list1))
όπου list1 (B5: B15) και list2 (D5: D13) ονομάζονται εύρη. Το αποτέλεσμα, οι τιμές που εμφανίζονται και στις δύο λίστες, χύνονται στην περιοχή F5: F11.
Εξήγηση
Η συνάρτηση FILTER δέχεται έναν πίνακα τιμών και ένα όρισμα "include" που φιλτράρει τον πίνακα με βάση μια λογική έκφραση ή τιμή.
Σε αυτήν την περίπτωση, ο πίνακας παρέχεται ως το ονομαζόμενο εύρος "list1", το οποίο περιέχει όλες τις τιμές στο B5: B15. Το όρισμα include παραδίδεται από τη συνάρτηση COUNTIF, η οποία βρίσκεται μέσα στο ΦΙΛΤΡΟ:
=FILTER(list1,COUNTIF(list2,list1))
COUNTIF έχει ρυθμιστεί με list2 ως εύρος και list1 ως κριτήρια . Επειδή δίνουμε COUNTIF έντεκα τιμές κριτηρίων, το COUNTIF επιστρέφει έντεκα αποτελέσματα σε έναν πίνακα όπως αυτό:
(1;1;0;1;0;1;0;1;0;1;1)
Παρατηρήστε το 1 αντιστοιχεί σε στοιχεία στη λίστα2 που εμφανίζονται στη λίστα1.
Αυτός ο πίνακας παραδίδεται απευθείας στη συνάρτηση FILTER ως όρισμα "include":
=FILTER(list1,(1;1;0;1;0;1;0;1;0;1;1))
Η λειτουργία FILTER φιλτράρει τη λίστα1 χρησιμοποιώντας τις τιμές που παρέχονται από το COUNTIF. Οι τιμές που σχετίζονται με το μηδέν καταργούνται. διατηρούνται άλλες τιμές.
Το τελικό αποτέλεσμα είναι ένας πίνακας τιμών που υπάρχουν και στις δύο λίστες, οι οποίες διαχέονται στην περιοχή F5: F11.
Εκτεταμένη λογική
Στον παραπάνω τύπο, χρησιμοποιούμε τα αρχικά αποτελέσματα από το COUNTIF ως φίλτρο. Αυτό λειτουργεί επειδή το Excel αξιολογεί οποιαδήποτε μη μηδενική τιμή ως Αληθινή και μηδέν ως ΛΑΘΟΣ. Εάν το COUNTIF επιστρέψει μια μέτρηση μεγαλύτερη από 1, το φίλτρο θα συνεχίσει να λειτουργεί σωστά.
Για να επιβάλλετε ρητά αποτελέσματα TRUE και FALSE, μπορείτε να χρησιμοποιήσετε το "> 0" ως εξής:
=FILTER(list1,COUNTIF(list2,list1)>0)
Καταργήστε διπλότυπα ή ταξινομήστε
Για να αφαιρέσετε διπλότυπα, απλώς τοποθετήστε τον τύπο μέσα στη ΜΟΝΑΔΙΚΗ συνάρτηση:
=UNIQUE(FILTER(list1,COUNTIF(list2,list1)))
Για να ταξινομήσετε τα αποτελέσματα, φωλιάστε στη συνάρτηση SORT:
=SORT(UNIQUE(FILTER(list1,COUNTIF(list2,list1))))
Λείπουν τιμές λίστας από τη λίστα2
Για την εξαγωγή τιμών στη λίστα1 που λείπουν από τη λίστα2, μπορείτε να αντιστρέψετε τη λογική ως εξής:
=FILTER(list1,COUNTIF(list2,list1)=0)