Πίνακας περιεχομένων
Εάν έχετε μια λίστα κειμένου και θέλετε να αναζητήσετε κελιά και να επιστρέψετε τιμές με βάση τη λίστα, θα πρέπει να δημιουργήσετε έναν τύπο, επειδή το Excel δεν παρέχει έναν απλό τρόπο για να το κάνετε αυτό. Σε αυτό το άρθρο, ασχολήθηκα με αυτό το θέμα και παρέχω πέντε διαφορετικούς τύπους για να εκτελέσετε αυτή τη λειτουργία, ώστε να μπορείτε να επιλέξετε τον ιδανικό για την περίπτωσή σας και να επιστρέψετε την τιμή εάν το κελί περιέχει συγκεκριμένο κείμενοαπό μια λίστα.
Κατεβάστε το βιβλίο ασκήσεων
Μπορείτε να κατεβάσετε το βιβλίο εργασίας που χρησιμοποίησα σε αυτό το άρθρο από το παρακάτω κουμπί και να εξασκηθείτε με αυτό μόνοι σας.
Εάν το κελί περιέχει κείμενο από List.xlsx
Εισαγωγή στις συναρτήσεις που χρησιμοποιούνται σε αυτό το άρθρο
Οι τύποι που χρησιμοποίησα εδώ χρησιμοποιούν τις ακόλουθες συναρτήσεις:
- Η λειτουργία COUNTIFS:
Αυτή η συνάρτηση μετράει τα κελιά που ταιριάζουν σε πολλαπλά κριτήρια. Η σύνταξη της συνάρτησης Λειτουργία COUNTIFS έχει ως εξής.
=COUNTIFS (range1, criteria1, [range2], [criteria2], ...)
- range1 - Το 1ο εύρος προς αξιολόγηση.
- κριτήρια1 - Το κριτήριο που θα χρησιμοποιηθεί στην 1η περιοχή.
- range2 [προαιρετικό]: Το 2ο εύρος, ενεργεί ακριβώς όπως το εύρος1.
- κριτήρια2 [προαιρετικό]: Το κριτήριο που πρέπει να χρησιμοποιηθεί στη 2η περιοχή. Η λειτουργία αυτή επιτρέπει μέγιστο αριθμό 127 σειρές και ζεύγη κριτηρίων .
- Η λειτουργία TEXTJOIN:
Αυτή η συνάρτηση ενώνει τιμές κειμένου με ένα διαχωριστικό. Η σύνταξη της συνάρτησης Λειτουργία TEXTJOIN έχει ως εξής.
=TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...)
- διαχωριστικό: Το διαχωριστικό μεταξύ των κειμένων που η συνάρτηση πρόκειται να συνδυάσει.
- ignore_empty: Αυτό το όρισμα καθορίζει αν η συνάρτηση αγνοεί τα κενά κελιά ή όχι.
- text1: 1η τιμή κειμένου (ή εύρος).
- text2 [προαιρετικό]: 2η τιμή κειμένου (ή εύρος).
- Η συνάρτηση MATCH:
Αυτή η συνάρτηση παίρνει τη θέση ενός στοιχείου σε έναν πίνακα. Η σύνταξη της συνάρτησης Λειτουργία MATCH έχει ως εξής.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Η τιμή που πρέπει να ταιριάξει στο lookup_array .
- lookup_array: Μια σειρά κελιών ή μια αναφορά πίνακα.
- match_type [προαιρετικό]: 1 = ακριβής ή ο αμέσως μικρότερος, 0 = ακριβής αντιστοιχία, -1 = ακριβής ή ο αμέσως μεγαλύτερος. Από προεπιλογή, match_type=1.
- Η λειτουργία INDEX:
Αυτή η συνάρτηση παίρνει τιμές σε μια λίστα ή έναν πίνακα με βάση τη θέση. Η σύνταξη της συνάρτησης Λειτουργία INDEX έχει ως εξής.
=INDEX (array, row_num, [col_num], [area_num])
- σειρά: Εύρος κελιών ή μια σταθερά πίνακα.
- row_num: Η θέση της γραμμής στην αναφορά.
- col_num [προαιρετικό] : Η θέση της στήλης στην αναφορά.
- area_num [προαιρετικό]: Το εύρος αναφοράς που πρέπει να χρησιμοποιηθεί.
- Η λειτουργία IFERROR:
Αυτή η συνάρτηση παγιδεύει και χειρίζεται σφάλματα. Η σύνταξη της συνάρτησης Λειτουργία IFERROR έχει ως εξής.
=IFERROR (value, value_if_error)
- αξία: Η τιμή, η αναφορά ή ο τύπος που πρέπει να ελεγχθεί για σφάλμα.
- value_if_error: Η τιμή που θα επιστρέφεται αν βρεθεί σφάλμα.
- Η λειτουργία SEARCH:
Αυτή η συνάρτηση παίρνει τη θέση του κειμένου σε μια συμβολοσειρά. Η σύνταξη της συνάρτησης Λειτουργία SEARCH έχει ως εξής.
=SEARCH (find_text, within_text, [start_num])
- find_text : Αυτό το όρισμα καθορίζει το κείμενο που θα αναζητηθεί.
- within_text: Αυτό καθορίζει πού θα βρεθεί το κείμενο.
- start_num [προαιρετικό]: Με αυτό, θα καθορίσετε- από ποια θέση στη συμβολοσειρά κειμένου θα μετράτε τη θέση του συγκεκριμένου κειμένου. Προαιρετικό και προεπιλεγμένο 1 από αριστερά.
5 τύποι για την επιστροφή τιμής στο Excel εάν ένα κελί περιέχει συγκεκριμένο κείμενο από μια λίστα
Θα προσπαθήσω να παρουσιάσω ένα παράδειγμα από την πραγματική ζωή σε αυτό το σύνολο δεδομένων. Μερικά ποτά αντιπροσωπεύονται εδώ. Chips , Κρύα ποτά , και Δημητριακά είναι οι τρεις κατηγορίες ποτών σε αυτό το σύνολο δεδομένων. Σε μία μόνο στήλη που ονομάζεται Όλα τα προϊόντα , το όνομα και οι κατηγορίες των ποτών συνδέονται μεταξύ τους. Δύο από αυτές τις κατηγορίες, Chips και Κρύα ποτά , είναι επίσης n η Λίστα στήλη. Με βάση το Λίστα στήλη, η επιθυμητή έξοδος θα εμφανιστεί στη δεύτερη στήλη.
1. Συνδυάστε τις συναρτήσεις COUNTIF, IF & amp; OR για να επιστρέψετε την τιμή εάν ένα κελί περιέχει ένα κείμενο από μια λίστα
Αυτός είναι ο πιο χρήσιμος τύπος αν θέλετε να επιστρέψετε την τιμή ολόκληρου του κελιού μετά την αντιστοίχιση.
Εδώ, έχω πάρει τις τιμές των κελιών του Προϊόντα που ταιριάζει με το Λίστα κριτήρια της στήλης και τα έδειξε στον Προϊόν με βάση αυτόν τον κατάλογο στήλη.
Ο τύπος έχει ως εξής:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Κατανομή τύπου:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Εδώ, η Σημάδι αστερίσκου ( * ) είναι ένας χαρακτήρας μπαλαντέρ. Αναζητείται το " Chips " και "Cold Drinks" substring εντός Κύτταρο B5 η οποία είναι "
Ruffles - Τσιπς
"
string.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Το COUNTIF η συνάρτηση επέστρεφε ένα για κάθε υποσύνολο που ταίριαζε. "
Chips
"
βρίσκεται στο Κύτταρο B5 , επιστρέφει { 1:0 }.
=IF(OR({1;0}), B5, "")
Το Ή η συνάρτηση επιστρέφει ένα ΑΛΗΘΙΝΟ τιμή εάν κάποιο από τα ορίσματα είναι ΑΛΗΘΙΝΟ Στην περίπτωση αυτή, ένα (1)= ΑΛΗΘΙΝΟ .
=IF(TRUE, "Ruffles - Chips", "")
Καθώς η ΕΆΝ η τιμή της συνάρτησης είναι ΑΛΗΘΙΝΟ , επιστρέφει το πρώτο όρισμα που είναι η επιθυμητή έξοδος.
Τελικό Έξοδος : Ruffles - Τσιπς
Σημείωση:
Εδώ, έχω δείξει το κελί που ταίριαξε, αλλά μπορείτε να δείξετε οποιαδήποτε έξοδο θέλετε αλλάζοντας το πεδίο ΕΆΝ λειτουργίες εξόδου με την επιθυμητή έξοδο.
=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)
Διαβάστε περισσότερα: Εάν το κελί περιέχει λέξη, τότε αναθέστε τιμή στο Excel (4 τύποι)
2. Χρήση συνδυασμού IF-OR με τη λειτουργία SEARCH για την επιστροφή τιμής με πολλαπλές συνθήκες
Εδώ, έχω πάρει τις τιμές των κελιών του Προϊόντα που ταιριάζει με το Λίστα κριτήρια της στήλης και τα έδειξε στον Προϊόν με βάση αυτόν τον κατάλογο στήλη.
Ο τύπος έχει ως εξής:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Κατανομή τύπου:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Το ΑΝΑΖΗΤΗΣΗ συνάρτηση έψαξε τις τιμές των Λίστα στήλη στο Κύτταρο B5 . για " Chips " επέστρεψε 11 η οποία είναι η αρχική θέση της υποσειράς. Κρύα ποτά , επέστρεψε σφάλμα.
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Το ISNUMBER συνάρτηση που μετατράπηκε 11 στο ΑΛΗΘΙΝΟ τιμή και το σφάλμα σε FALSE αξία.
=IF(OR(TRUE,FALSE)),B5,"")
Το Ή η συνάρτηση επιστρέφει ένα ΑΛΗΘΙΝΟ τιμή εάν κάποιο από τα ορίσματα είναι ΑΛΗΘΙΝΟ Καθώς υπάρχει ένα ΑΛΗΘΙΝΟ όρισμα, επιστρέφει επίσης το ΑΛΗΘΙΝΟ τιμή σε αυτή την περίπτωση.
=IF(TRUE, "Ruffles - Chips","")
Καθώς η ΕΆΝ η τιμή της συνάρτησης είναι ΑΛΗΘΙΝΟ , επιστρέφει το πρώτο όρισμα που είναι η επιθυμητή έξοδος.
Τελικό αποτέλεσμα: Ruffles - Chips
Σημείωση:
- Εδώ, έχω δείξει το κελί που ταίριαξε, αλλά μπορείτε να δείξετε όποια έξοδο θέλετε αλλάζοντας την επιλογή ΕΆΝ λειτουργίες εξόδου με την επιθυμητή έξοδο.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- Το κύριο πλεονέκτημα αυτού του τύπου είναι ότι δεν πρόκειται για τύπο συστοιχίας, αλλά δεν συνιστάται αν έχετε πολλά κελιά στο αρχείο Λίστα καθώς πρέπει να εισάγετε κάθε κελί του Λίστα χειροκίνητα.
- Για περιπτώσεις με ευαισθησία στην πεζότητα, μπορούμε να χρησιμοποιήσουμε τον παρακάτω τύπο με βάση το Λειτουργία FIND αντί του ΑΝΑΖΗΤΗΣΗ λειτουργία.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Διαβάστε περισσότερα: Excel Εάν το κελί περιέχει κείμενο, τότε επιστρέψτε την τιμή (8 εύκολοι τρόποι)
Παρόμοιες αναγνώσεις:
- Πώς να αθροίσετε εάν το κελί περιέχει συγκεκριμένο κείμενο στο Excel (6 τρόποι)
- Χρήση του VLOOKUP εάν το κελί περιέχει μια λέξη μέσα στο κείμενο στο Excel
- Πώς να βρείτε κείμενο σε μια περιοχή του Excel & amp; Επιστροφή αναφοράς κελιών (3 τρόποι)
3. Χρησιμοποιήστε τον τύπο TEXTJOIN για να επιστρέψετε την τιμή σε άλλο κελί εάν ένα κελί έχει ένα κείμενο από μια λίστα
Αυτός ο τύπος είναι χρήσιμος όταν πρέπει να δείξετε ποια συμβολοσειρά ή συμβολοσειρές από το Λίστα ταιριάζει.
Εδώ, έχω πάρει τις τιμές των κελιών από το ΛΙΣΤΑ στήλη όπου ταιριάζουν με την Προϊόν και τους έδειξε την τιμή Matched από το Λίστα στήλη.
Ο τύπος έχει ως εξής:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,""))
Κατανομή τύπου:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,""))
Εδώ, η Σημάδι αστερίσκου ( * ) είναι ένας χαρακτήρας μπαλαντέρ. Αναζητείται το " Chips " και "Cold Drinks" μέσα στο κελί B5 που είναι " Ruffles - Τσιπς " string.
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Το COUNTIF η συνάρτηση επέστρεφε ένα για κάθε υποσύνολο που ταίριαζε. Καθώς " Chips " βρίσκεται στο Κύτταρο B5 , επιστρέφει { 1:0 }.
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
Το ΕΆΝ η συνάρτηση επέστρεψε μόνο το " Chips " καθώς μόνο η πρώτη τιμή του ορίσματός της ήταν μία = Αλήθεια .
TEXTJOIN(", ",TRUE,{"Chips";""})
Το TEXTJOIN συνάρτηση δεν έκανε τίποτα εδώ, καθώς μόνο μία τιμή από το Λίστα Αν υπήρχαν πολλές τιμές προς αντιστοίχιση, θα επέστρεφε όλες με κόμμα (,) μεταξύ τους ως διαχωριστικό.
Τελική παραγωγή: τσιπς
Διαβάστε περισσότερα: Εάν το κελί περιέχει κείμενο, τότε προσθέστε κείμενο σε ένα άλλο κελί στο Excel
4. Χρησιμοποιήστε έναν τύπο INDEX MATCH για να επιστρέψετε τιμή εάν το κελί περιέχει συγκεκριμένο κείμενο
Αυτή είναι μια εναλλακτική λύση για το TEXTJOIN Αυτός ο τύπος δείχνει επίσης ποια συμβολοσειρά ή συμβολοσειρές από το Λίστα ταιριάζει.
Εδώ, έχω πάρει τις τιμές των κελιών από το ΛΙΣΤΑ στήλη όπου ταιριάζουν με την Προϊόν και τους έδειξε την τιμή Matched από το Λίστα στήλη.
Ο τύπος έχει ως εξής:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),"")
Κατανομή τύπου:
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)),"")
Εδώ, η Σημάδι αστερίσκου ( * ) είναι ένας χαρακτήρας μπαλαντέρ. Αναζητείται το " Chips " και " Κρύα ποτά " υποσέλιδο εντός Κύτταρο B5 η οποία είναι " Ruffles - Τσιπς " string.
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Το COUNTIF η συνάρτηση επέστρεφε ένα για κάθε υποσύνολο που ταίριαζε. Καθώς " Chips " βρίσκεται στο Κύτταρο B5 , επιστρέφει { 1:0 }.
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0})),0)),"")
Το ΜΑΤΣ η συνάρτηση επέστρεψε ένα καθώς υπάρχει μόνο μία τιμή " Chips " που ταίριαζε.
IFERROR(INDEX($E$5:$E$6,1),"")
Το INDEX η συνάρτηση επέστρεψε " Chips ", καθώς ήταν η τιμή στο Λίστα σειρά.
IFERROR("Chips","")
Εδώ, η IFERROR χρησιμοποιείται για τον χειρισμό του σφάλματος που θα προκύψει αν δεν υπάρχουν αντιστοιχίες.
Τελική παραγωγή: τσιπς
Σημείωση:
Εδώ, έχω δείξει το κελί που ταίριαξε, αλλά μπορείτε να δείξετε οποιαδήποτε έξοδο θέλετε αλλάζοντας το πεδίο ΕΆΝ λειτουργίες εξόδου με την επιθυμητή έξοδο.
Διαβάστε περισσότερα: Τύπος Excel Εάν το κελί περιέχει κείμενο, τότε επιστρέψτε την τιμή σε ένα άλλο κελί
5. Εφαρμόστε τη συνάρτηση EXACT με IF και TEXTJOIN
Αυτή είναι μια άλλη λύση σε αυτό το πρόβλημα σε διαφορετικές καταστάσεις. Εδώ, έχω αντλήσει την τιμή κελιού από τη στήλη List με ένα μόνο μέλος. Αντιστοιχίζουμε αυτή την τιμή με το προϊόν και εμφανίζουμε όλες τις τιμές που αντιστοιχούν σε ένα μόνο κελί.
Ο τύπος έχει ως εξής:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Κατανομή τύπου :
EXACT(C5:C14,$F$5)
Αυτό το τμήμα ελέγχει ποιες τιμές των Εύρος C5:14 ταιριάζει με Κελί F5 και να επιστρέψει ΑΛΗΘΙΝΟ και FALSE .
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Αυτό το μέρος επιστρέφει τα ονόματα για τα οποία παίρνουμε ΑΛΗΘΙΝΟ .
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Τέλος, αυτό ενώνει όλα τα ονόματα με ένα κόμμα μετά από κάθε όνομα.
Γρήγορες σημειώσεις
Όλοι αυτοί οι τύποι εδώ (εκτός από τον 2ο) είναι τύποι συστοιχίας. Αυτό σημαίνει ότι πρέπει να πατήσετε Ctrl+Shift+Enter αντί να πατάτε μόνο το Εισάγετε το για την εισαγωγή αυτού του τύπου. Αλλά αν είστε Office 365 χρήστη, τότε μπορείτε να τις εφαρμόσετε πατώντας απλά Μπείτε μέσα.
Συμπέρασμα
Σε αυτό το άρθρο, περιόρισα διαφορετικούς τύπους για διάφορες περιπτώσεις για να επιστρέψω τιμή αν ένα κελί περιέχει συγκεκριμένο κείμενο από μια λίστα. Ελπίζω να μπορέσατε να βρείτε λύση στο πρόβλημά σας. Παρακαλώ αφήστε ένα σχόλιο αν έχετε προτάσεις ή ερωτήσεις. Επιπλέον, μπορείτε να επισκεφθείτε το τμήμα μας blog για περισσότερα τέτοια άρθρα.