Sadržaj
Ako imate spisak teksta i želite da pretražujete ćelije i vraćate vrednosti na osnovu liste, moraćete da napravite formulu jer Excel ne pruža jednostavan način za to. U ovom članku sam se pozabavio ovim problemom i pružio pet različitih formula za izvođenje ove operacije tako da možete odabrati savršenu za svoju situaciju i vratiti vrijednost ako ćelija sadrži određeni tekst sa liste.
Preuzmite radnu svesku
Možete preuzeti radnu svesku koju sam koristio u ovom članku sa sljedećeg dugmeta i sami vježbajte s njom.
Ako ćelija sadrži tekst iz List.xlsx
Uvod u funkcije korištene u ovom članku
Formule koje sam ovdje koristio koriste sljedeće funkcije:
- Funkcija COUNTIFS:
Ova funkcija broji ćelije koje odgovaraju više kriterija. Sintaksa funkcije COUNTIFS je sljedeća.
=COUNTIFS (opseg1, kriterij1, [opseg2], [kriterijum2], …)
- opseg1 – 1. raspon za procjenu.
- kriterijum1 – Kriterijum za korištenje u 1. rasponu.
- opseg2 [opcionalno]: 2. raspon, djeluje isto kao i raspon1.
- kriterijum2 [opcionalno]: Kriterij za korištenje na 2. dometu. Ova funkcija dozvoljava maksimalno 127 parova raspona i kriterija .
- Funkcija TEXTJOIN:
Ova funkcija spaja tekstvrijednosti sa graničnikom. Sintaksa funkcije TEXTJOIN je sljedeća.
=TEXTJOIN (delimiter, ignore_empty, text1, [text2], …)
- delimiter: Razdjelnik između tekstova koje će funkcija kombinirati.
- ignore_empty: Ovaj argument određuje da li funkcija zanemaruje prazan ćelije ili ne.
- text1: 1. tekstualna vrijednost (ili raspon).
- text2 [opcionalno]: 2. tekstualna vrijednost (ili raspon) .
- Funkcija MATCH:
Ova funkcija dobiva poziciju stavke u nizu. Sintaksa funkcije MATCH je sljedeća.
=MATCH (vrijednost_lookupa, niz_potraživanja, [tip_podudaranja])
- lookup_value: Vrijednost koja se podudara u lookup_array .
- lookup_array: Raspon ćelija ili referenca niza.
- tip_podudaranja [opcionalno]: 1 = tačno ili sljedeće najmanje, 0 = točno podudaranje, -1 = točno ili sljedeće najveće. Prema zadanim postavkama, match_type=1.
- Funkcija INDEX:
Ova funkcija dobiva vrijednosti na listi ili tablici na osnovu lokacije . Sintaksa INDEX funkcije je sljedeća.
=INDEX (niz, broj_reda, [broj_stupca], [broj_područja])
- niz: Raspon ćelija ili konstanta niza.
- red_num: Pozicija reda u referenci.
- col_num [opciono] : Pozicija stupca u referenci.
- area_num [opcionalno]: Rasponu referenci koju treba koristiti.
- Funkcija IFERROR:
Ova funkcija hvata i obrađuje greške. Sintaksa funkcije IFERROR je sljedeća.
=IFERROR (vrijednost, value_if_error)
- vrijednost: Vrijednost, referenca ili formula za provjeru greške.
- value_if_error: Vrijednost koju treba vratiti ako se pronađe greška.
- Funkcija SEARCH:
Ova funkcija dobiva lokaciju teksta u nizu. Sintaksa funkcije SEARCH je sljedeća.
=SEARCH (pronađi_tekst, unutar_teksta, [početni_broj])
- pronađi_tekst : Ovaj argument određuje koji tekst treba pronaći.
- unutar_teksta: Ovo određuje gdje pronaći tekst.
- start_num [opciono]: Ovim ćete odrediti - sa koje pozicije u tekstualnom nizu ćete računati poziciju navedenog teksta. Opciono i podrazumevano je 1 s leve strane.
5 Formula za vraćanje vrednosti u Excelu ako ćelija sadrži određeni tekst sa liste
Pokušaću da predstavim primjer iz stvarnog života u ovom skupu podataka. Ovdje su zastupljena neka pića. Čips , Hladna pića i Žitarice su tri kategorije pića u ovom skupu podataka. U jednoj koloni pod nazivom Svi proizvodi , naziv i kategorije pića su povezani zajedno. Dvije od ovih kategorija, Chips i ColdPića , također se nalaze u koloni Lista . Na osnovu kolone Lista , željeni izlaz će biti prikazan u drugoj koloni.
1. Kombinirajte COUNTIF, IF & ILI funkcije za vraćanje vrijednosti ako ćelija sadrži tekst sa liste
Ovo je najkorisnija formula ako želite vratiti vrijednost cijele ćelije nakon podudaranja.
Ovdje sam dohvatio vrijednosti ćelija Proizvodi koje odgovaraju kriterijima stupca Lista i pokazao ih Proizvodu na osnovu te kolone
Formula je sljedeća:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Raščlamba formule:
-
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Ovdje, Znak zvjezdice ( * ) je zamjenski znak. Tražio je podniz “ Chips ” i “Cold Drinks” unutar ćelije B5 što je "
Ruffles - Chips
"
niz.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Funkcija COUNTIF vratila je jednu za svako podudaranje podniza. Kako se "
Chips
"
nalazi u ćeliji B5 , vraća { 1:0 }.
-
=IF(OR({1;0}), B5, "")
Funkcija ILI vraća vrijednost TRUE ako je bilo koji od argumenata TRUE . U ovom slučaju, jedan (1)= TRUE .
-
=IF(TRUE, "Ruffles - Chips", "")
Kao IF vrijednost funkcije je TRUE , ona vraća prvi argument koji je željeni izlaz.
Konačni Izlaz : Ruffles – Chips
Napomena:
Ovdje sam pokazaoćelija koja se podudara, ali možete prikazati bilo koji izlaz kako želite mijenjajući izlaz funkcije IF sa vašim željenim izlazom.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)
Pročitajte više: Ako ćelija sadrži Word onda dodijelite vrijednost u Excelu (4 formule)
2. Koristite IF-OR kombinaciju s funkcijom SEARCH da vratite vrijednost s više uvjeta
Ovdje sam dohvatio vrijednosti ćelija Proizvoda koji odgovaraju Listi kriterije stupca i pokazao ih Proizvodu na osnovu te liste kolona.
Formula je sljedeća:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Raščlamba formule:
-
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Funkcija SEARCH pretraživala je vrijednosti stupca Lista u ćeliji B5 . Za “ Chips ” vratio je 11 što je početna pozicija podniza. Za Cold Drinks , vratio je grešku.
-
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Funkcija ISNUMBER je konvertirana 11 u vrijednost TRUE i greška u vrijednost FALSE .
-
=IF(OR(TRUE,FALSE)),B5,"")
Funkcija ILI vraća vrijednost TRUE ako je bilo koji od argumenata TRUE . Kako postoji argument TRUE , on također vraća vrijednost TRUE u ovom slučaju.
-
=IF(TRUE, "Ruffles - Chips","")
Kako je vrijednost funkcije IF TRUE , ona vraća prvi argument koji je željeni izlaz.
Konačni izlaz: Ruffles –Čipovi
Napomena:
- Ovdje sam pokazao ćeliju koja se podudara, ali možete prikazati bilo koji izlaz koji želite promjenom IF funkcioniše izlaz sa vašim željenim izlazom.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- Glavna prednost ovog formula je da ovo nije formula niza, ali se ne preporučuje ako imate mnogo ćelija u Listi jer morate ručno unijeti svaku ćeliju Liste .
- Za situacije osjetljive na velika i mala slova, možemo koristiti formulu ispod na osnovu FIND funkcije umjesto funkcije SEARCH .
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Pročitajte više: Excel ako ćelija sadrži tekst onda vrati vrijednost (8 jednostavnih načina)
Slična očitanja:
- Kako zbrojiti ako ćelija sadrži određeni tekst u Excelu (6 načina)
- Koristite VLOOKUP ako ćelija sadrži riječ unutar teksta u Excel
- Kako pronaći tekst u Excel rasponu & vrati referencu ćelije (3 načina)
3. Koristite TEXTJOIN formulu da vratite vrijednost u drugoj ćeliji ako ćelija ima tekst sa liste
Ova formula je korisna kada morate pokazati koji niz ili nizovi iz Liste odgovaraju .
Ovdje sam dohvatio vrijednosti ćelija iz kolone LIST gdje su se poklapale sa Proizvodom i prikazao ih u podudarnoj vrijednosti sa Liste kolona.
Formula je sljedeća:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"), $E$5:$E$6,""))
FormulaPodjela:
-
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"),$E$5:$E$6,""))
Ovdje, Znak zvjezdice ( * ) je zamjenski znak. Tražio je podniz “ Chips ” i “Cold Drinks” unutar ćelije B5 koji je niz “ Ruffles – Chips ”.
-
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Funkcija COUNTIF vratila je jednu za svako podudaranje podniza. Kako se “ Chips ” nalazi u ćeliji B5 , vraća { 1:0 }.
-
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
Funkcija IF vratila je samo vrijednost “ Chips ” jer je samo prva vrijednost njenog argumenta bila jedan = True .
-
TEXTJOIN(", ",TRUE,{"Chips";""})
Funkcija TEXTJOIN ovdje nije učinila ništa jer samo jedna vrijednost iz Lista se podudara. Da postoji mnogo vrijednosti za podudaranje, sve bi ih vratio sa zarezima (,) između njih kao razdjelnik.
Konačni izlaz: čipovi
Pročitajte više: Ako ćelija sadrži tekst, dodajte tekst u drugu ćeliju u Excelu
4. Koristite formulu INDEX MATCH da vratite vrijednost ako ćelija sadrži određeni tekst
Ovo je alternativa formuli TEXTJOIN . Ova formula također pokazuje koji niz ili nizovi iz Lista se podudaraju.
Ovdje sam dohvatio vrijednosti ćelija iz kolone LIST gdje su se podudarale sa Proizvod i prikazao ih do Uparene vrijednosti iz Liste kolone.
Formula je sljedeća:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6&"*"), 0)),"")
Raščlamba formule:
-
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5,"*"&$E$5:$E$6&"*"),0)),"")
Ovdje, Znak zvjezdice ( * ) je zamjenski znak. Tražio je podniz “ Chips ” i “ Cold Drinks ” unutar Cell B5 koji je niz “ Ruffles – Chips ”.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Funkcija COUNTIF vratila je jednu za svako podudaranje podniza. Kako se “ Chips ” nalazi u ćeliji B5 , vraća { 1:0 }.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
Funkcija MATCH je vratila jedan jer postoji samo jedna vrijednost “ Chips ” koja se podudara.
-
IFERROR(INDEX($E$5:$E$6,1),"")
Funkcija INDEX vratila je “ Chips ” jer je to bila vrijednost u nizu Lista .
-
IFERROR("Chips","")
Ovdje se funkcija IFERROR koristi za rukovanje greškom koja će se pojaviti ako nema podudaranja .
Konačni izlaz: Čipovi
Napomena:
Ovdje sam pokazao ćeliju koja se podudara, ali možete prikazati bilo koji izlaz po želji promjenom izlaza funkcije IF sa željenim izlazom.
Pročitajte više: Excel formula Ako ćelija sadrži tekst onda vrati vrijednost u Druga ćelija
5. Primijenite EXACT funkciju sa IF i TEXTJOIN
Ovo je još jedno rješenje ovog problema u različitim situacijama. Ovdje sam dohvatio vrijednost ćelije iz kolone Lista sa jednim članom. Uparili smo ovu vrijednost s proizvodom i prikazali sve vrijednosti podudaranja u jednoj ćeliji.
Formula je kaoslijedi:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Raščlamba formule :
-
EXACT(C5:C14,$F$5)
Ovaj dio provjerava koje se vrijednosti Opseg C5:14 podudaraju sa Ćelijom F5 i vraća TRUE i FALSE .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Ovaj dio vraća imena za koja dobijamo TRUE .
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Konačno, ovo spaja sva imena sa zarezom iza svakog imena.
Brze napomene
Sve ove formule ovdje (osim druge) su formule niza. To znači da morate pritisnuti Ctrl+Shift+Enter umjesto da pritisnete samo dugme Enter za unos ove formule. Ali ako ste korisnik Office 365 , onda ih možete primijeniti pritiskom na Enter.
Zaključak
U ovom članku suzio sam različite formule za različite slučajeve da bih vratio vrijednost ako ćelija sadrži određeni tekst sa liste. Nadam se da ste uspjeli pronaći rješenje za svoj problem. Molimo ostavite komentar ako imate bilo kakvih prijedloga ili pitanja. Štaviše, možete posjetiti naš blog za više takvih članaka.