Cuprins
Dacă aveți o listă de text și doriți să căutați celule și să returnați valori pe baza listei, va trebui să construiți o formulă, deoarece Excel nu oferă o modalitate simplă de a face acest lucru. În acest articol, am abordat această problemă și am furnizat cinci formule diferite pentru a efectua această operațiune, astfel încât să o puteți alege pe cea perfectă pentru situația dvs. și să returnați valoarea dacă celula conține un anumit textdintr-o listă.
Descărcați caietul de practică
Puteți descărca caietul de lucru pe care l-am folosit în acest articol de la următorul buton și puteți exersa cu el singur.
Dacă celula conține text din List.xlsx
Introducere în funcțiile utilizate în acest articol
Formulele pe care le-am folosit aici utilizează următoarele funcții:
- Funcția COUNTIFS:
Această funcție numără celulele care corespund mai multor criterii. Sintaxa funcției Funcția COUNTIFS este după cum urmează.
=COUNTIFS (range1, criteria1, [range2], [criteria2], ...)
- interval1 - Primul interval de evaluare.
- criterii1 - Criteriul care trebuie utilizat în primul interval.
- range2 [opțional]: Al doilea interval acționează la fel ca și intervalul 1.
- criterii2 [opțional]: Criteriul care trebuie utilizat în cel de-al doilea interval. Această funcție permite un număr maxim de 127 intervale și perechi de criterii .
- Funcția TEXTJOIN:
Această funcție unește valorile textului cu un delimitator. Sintaxa funcției Funcția TEXTJOIN este după cum urmează.
=TEXTJOIN (delimitator, ignore_empty, text1, [text2], ...)
- delimitator: Separatorul dintre textele pe care funcția urmează să le combine.
- ignore_empty: Acest argument specifică dacă funcția ignoră sau nu celulele goale.
- text1: Prima valoare de text (sau interval).
- text2 [opțional]: A doua valoare de text (sau interval).
- Funcția MATCH:
Această funcție obține poziția unui element într-un array. Sintaxa funcției Funcția MATCH este după cum urmează.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Valoarea care trebuie să se potrivească în lookup_array .
- lookup_array: Un interval de celule sau o referință la o matrice.
- match_type [opțional]: 1 = exact sau următorul cel mai mic, 0 = potrivire exactă, -1 = exact sau următorul cel mai mare. În mod implicit, match_type=1.
- Funcția INDEX:
Această funcție obține valori într-o listă sau într-un tabel pe baza locației. Sintaxa funcției Funcția INDEX este după cum urmează.
=INDEX (array, row_num, [col_num], [area_num])
- gamă: Interval de celule sau o constantă de matrice.
- row_num: Poziția rândului în referință.
- col_num [opțional] : Poziția coloanei în referință.
- area_num [opțional]: Intervalul de referință care trebuie utilizat.
- Funcția IFERROR:
Această funcție captează și gestionează erorile. Sintaxa funcției Funcția IFERROR este după cum urmează.
=IFERROR (value, value_if_error)
- valoare: Valoarea, referința sau formula de verificare a unei erori.
- value_if_error: Valoarea care trebuie returnată în cazul în care se constată o eroare.
- Funcția SEARCH:
Această funcție obține locația unui text într-un șir de caractere. Sintaxa funcției Funcția SEARCH este după cum urmează.
=SEARCH (find_text, within_text, [start_num])
- find_text : Acest argument specifică textul care trebuie găsit.
- within_text: Aceasta specifică unde se găsește textul.
- start_num [opțional]: Cu aceasta, veți specifica de la ce poziție din șirul de text se va număra poziția textului specificat. Opțional și implicit 1 din stânga.
5 Formule pentru a returna valoarea în Excel dacă o celulă conține un anumit text dintr-o listă
Voi încerca să prezint un exemplu din viața reală în acest set de date. Unele băuturi sunt reprezentate aici. Chipsuri , Băuturi reci , și Cereale sunt cele trei categorii de băuturi din acest set de date. Într-o singură coloană numită Toate produsele , numele și categoriile de băuturi sunt legate între ele. Două dintre aceste categorii, Chipsuri și Băuturi reci , sunt, de asemenea, n Lista coloană. pe baza Lista coloana, ieșirea dorită va fi afișată în cea de-a doua coloană.
1. Combinați funcțiile COUNTIF, IF & OR pentru a returna valoarea dacă o celulă conține un text dintr-o listă
Aceasta este cea mai utilă formulă dacă doriți să returnați valoarea întregii celule după potrivire.
Aici, am preluat valorile celulelor de la Produse care se potrivea cu Lista criterii de coloană și le-a arătat celor de la Produs bazat pe această listă coloană.
Formula este următoarea:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Repartizarea formulei:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
În acest caz, se va utiliza Semnul asteriscului ( * ) este un caracter wildcard. A căutat " Chipsuri " și "Cold Drinks" subșir în cadrul Celula B5 care este "
Ruffles - Chipsuri
"
șir.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*))), B5, "")
The COUNTIF a returnat câte unul pentru fiecare potrivire de subșiruri. Ca urmare a faptului că funcția "
Chipsuri
"
se găsește în Celula B5 , se întoarce { 1:0 }.
=IF(OR({1;0}), B5, "")
The OR funcția returnează un ADEVĂRAT în cazul în care oricare dintre argumente este ADEVĂRAT În acest caz, un (1)=. ADEVĂRAT .
=IF(TRUE, "Ruffles - Chips", "")
Pe măsură ce IF valoarea funcției este ADEVĂRAT , acesta returnează primul argument, care este rezultatul dorit.
Final Ieșire : Ruffles - Chipsuri
Notă:
Aici, am arătat celula care a corespuns, dar puteți afișa orice ieșire doriți schimbând IF funcții de ieșire cu ieșirea dorită.
=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*"))),TRUE,FALSE)
Citește mai mult: Dacă celula conține un cuvânt, apoi atribuiți valoarea în Excel (4 formule)
2. Utilizați combinația IF-OR cu funcția SEARCH pentru a returna o valoare cu condiții multiple
Aici, am preluat valorile celulelor de la Produse care se potrivea cu Lista criterii de coloană și le-a arătat celor de la Produs bazat pe această listă coloană.
Formula este următoarea:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Repartizarea formulei:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
The CĂUTARE a căutat valorile din Lista în coloana Celula B5 . Pentru " Chipsuri ", a revenit 11 care este poziția de început a subșirului. Pentru Băuturi reci , a returnat o eroare.
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALOARE)))),B5,"")
The ISNUMBER funcție convertită 11 în ADEVĂRAT și eroarea în FALSE valoare.
=IF(OR(OR(TRUE,FALSE))),B5,"")
The OR funcția returnează un ADEVĂRAT în cazul în care oricare dintre argumente este ADEVĂRAT Deoarece există un ADEVĂRAT se returnează, de asemenea, valoarea ADEVĂRAT în acest caz.
=IF(TRUE, "Ruffles - Chips","")
Pe măsură ce IF valoarea funcției este ADEVĂRAT , acesta returnează primul argument, care este rezultatul dorit.
Rezultatul final: Ruffles - Chips
Notă:
- Aici, am arătat celula care a corespuns, dar puteți afișa orice rezultat doriți schimbând IF funcții de ieșire cu ieșirea dorită.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5)))),1,0)
- Principalul beneficiu al acestei formule este că nu este o formulă de tip array, dar nu este recomandată dacă aveți multe celule în Lista deoarece trebuie să introduceți fiecare celulă a fișierului Lista manual.
- Pentru situațiile în care se ține cont de majuscule și minuscule, putem folosi formula de mai jos, bazată pe Funcția FIND în loc de CĂUTARE funcție.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Citește mai mult: Excel Dacă celula conține text, atunci returnează valoarea (8 moduri simple)
Lecturi similare:
- Cum să însumați dacă celula conține un anumit text în Excel (6 moduri)
- Utilizați VLOOKUP dacă celula conține un cuvânt în text în Excel
- Cum să găsiți text într-o gamă Excel & returnați referința celulei (3 moduri)
3. Utilizați formula TEXTJOIN pentru a returna valoarea într-o altă celulă dacă o celulă are un text dintr-o listă
Această formulă este utilă atunci când trebuie să arătați ce șir sau șiruri de caractere din Lista potrivite.
Aici, am preluat valorile celulelor de la LISTA în care se potrivesc cu coloana Produs și le-a arătat la valoarea Matched din Lista coloană.
Formula este următoarea:
=TEXTJOIN(", ", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,"")))
Repartizarea formulei:
=TEXTJOIN(", ", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,"")))
În acest caz, se va utiliza Semnul asteriscului ( * ) este un caracter wildcard. A căutat " Chipsuri " și "Cold Drinks" substring în cadrul celulei B5 care este " Ruffles - Chipsuri " string.
TEXTJOIN(", ", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,"")))
The COUNTIF a returnat câte unul pentru fiecare potrivire de subșiruri. Deoarece " Chipsuri " se găsește în Celula B5 , se întoarce { 1:0 }.
TEXTJOIN(", ", ",TRUE,IF({1;0},$E$5:$E$6,"")))
The IF a returnat doar " Chipsuri ", deoarece numai prima valoare a argumentului său a fost una = Adevărat .
TEXTJOIN(", ", ",TRUE,{"Chips";""})
The TEXTJOIN nu a făcut nimic aici, deoarece doar o singură valoare din Lista Dacă ar fi existat mai multe valori de comparat, ar fi fost returnate toate valorile cu virgule (,) între ele ca separator.
Rezultatul final: Chips
Citește mai mult: Dacă celula conține text, apoi adăugați text într-o altă celulă în Excel
4. Utilizați o formulă INDEX MATCH pentru a returna valoarea dacă celula conține un anumit text
Aceasta este o alternativă la TEXTJOIN Această formulă arată, de asemenea, ce șir sau șiruri de caractere de la Lista potrivite.
Aici, am preluat valorile celulelor de la LISTA în care se potrivesc cu coloana Produs și le-a arătat la valoarea Matched din Lista coloană.
Formula este următoarea:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),""),")
Repartizarea formulei:
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)),""),")
În acest caz, se va utiliza Semnul asteriscului ( * ) este un caracter wildcard. A căutat " Chipsuri " și " Băuturi reci " substring în cadrul Celula B5 care este " Ruffles - Chipsuri " string.
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0),0),""),")
The COUNTIF a returnat câte unul pentru fiecare potrivire de subșiruri. Deoarece " Chipsuri " se găsește în Celula B5 , se întoarce { 1:0 }.
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0})),0)),"")
The MATCH funcția a returnat unu, deoarece există o singură valoare " Chipsuri " care se potrivea.
IFERROR(INDEX($E$5:$E$6,1),"")
The INDEX funcția a returnat " Chipsuri ", așa cum a fost valoarea din Lista gamă.
IFERROR("Chips","")
În acest caz, se va utiliza IFERROR este utilizată pentru a gestiona eroarea care apare în cazul în care nu există corespondențe.
Rezultatul final: Chips
Notă:
Aici, am arătat celula care a corespuns, dar puteți afișa orice ieșire doriți schimbând IF funcții de ieșire cu ieșirea dorită.
Citește mai mult: Excel Formula Dacă celula conține text, atunci returnează valoarea într-o altă celulă
5. Aplicați funcția EXACT cu IF și TEXTJOIN
Aceasta este o altă soluție la această problemă în diferite situații. Aici, am preluat valoarea celulei din coloana Listă cu un singur membru. Am comparat această valoare cu produsul și am afișat toate valorile corespunzătoare într-o singură celulă.
Formula este următoarea:
=TEXTJOIN(", ", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,"")))
Repartizarea formulei :
EXACT(C5:C14,$F$5)
Această parte verifică ce valori ale elementelor Gama C5:14 se potrivesc cu Celula F5 și returnează ADEVĂRAT și FALSE .
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Această parte returnează numele pentru care obținem ADEVĂRAT .
TEXTJOIN(", ", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,"")))
În cele din urmă, aceasta unește toate numele cu o virgulă după fiecare nume.
Note rapide
Toate aceste formule de aici (cu excepția celei de-a doua) sunt formule de tip array, ceea ce înseamnă că trebuie să apăsați Ctrl+Shift+Introducere în loc să apăsați doar tasta Introduceți pentru a introduce această formulă. Dar dacă sunteți un utilizator de Office 365 utilizator, apoi le puteți aplica apăsând doar pe Intră.
Concluzie
În acest articol, am restrâns diferite formule pentru diferite cazuri pentru a returna valoarea dacă o celulă conține un anumit text dintr-o listă. Sper că ați reușit să găsiți o soluție la problema dvs. Vă rugăm să lăsați un comentariu dacă aveți sugestii sau întrebări. În plus, puteți vizita pagina noastră de blog pentru mai multe articole de acest gen.