Sadržaj
Ako imate popis teksta i želite pretraživati ćelije i vratiti vrijednosti na temelju popisa, morat ćete izraditi formulu jer Excel ne nudi jednostavan način za to. U ovom sam se članku pozabavio ovim problemom i pružio pet različitih formula za izvođenje ove operacije kako biste mogli odabrati onu savršenu za svoju situaciju i vratiti vrijednost ako ćelija sadrži određeni tekst s popisa.
Preuzmi radnu bilježnicu za vježbe
Radnu bilježnicu koju sam koristio u ovom članku možete preuzeti sa sljedećeg gumba i vježbati s njom sami.
Ako ćelija sadrži tekst iz List.xlsx
Uvod u funkcije korištene u ovom članku
Formule koje sam ovdje upotrijebio koriste sljedeće funkcije:
- Funkcija COUNTIFS:
Ova funkcija broji ćelije koje odgovaraju višestrukim kriterijima. Sintaksa funkcije COUNTIFS je sljedeća.
=COUNTIFS (raspon1, kriterij1, [raspon2], [kriterij2], …)
- raspon1 – Prvi raspon za procjenu.
- kriterij1 – Kriterij koji se koristi za 1. raspon.
- raspon2 [izborno]: 2. raspon, djeluje isto kao raspon1.
- kriterij2 [izborno]: Kriterij koji se koristi na 2. rasponu. Ova funkcija dopušta najviše 127 raspona i parova kriterija .
- Funkcija TEXTJOIN:
Ova funkcija spaja tekstvrijednosti s razdjelnikom. Sintaksa funkcije TEXTJOIN je sljedeća.
=TEXTJOIN (razdjelnik, ignore_empty, text1, [text2], …)
- razdjelnik: Razdjelnik između tekstova koje će funkcija kombinirati.
- ignore_empty: Ovaj argument određuje zanemaruje li funkcija prazan ćelije ili ne.
- tekst1: 1. tekstualna vrijednost (ili raspon).
- tekst2 [izborno]: 2. tekstualna vrijednost (ili raspon) .
- Funkcija MATCH:
Ova funkcija dobiva položaj stavke u nizu. Sintaksa funkcije MATCH je sljedeća.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Vrijednost za podudaranje u lookup_array .
- lookup_array: Raspon ćelija ili referenca polja.
- vrsta_podudaranja [izborno]: 1 = toč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 popisu ili tablici na temelju lokacije . Sintaksa funkcije INDEX je sljedeća.
=INDEX (niz, row_num, [col_num], [area_num])
- niz: Raspon ćelija ili konstanta niza.
- row_num: Pozicija retka u referenci.
- col_num [izborno] : Pozicija stupca u referenci.
- area_num [izborno]: Rasponu referencama koje treba koristiti.
- Funkcija IFERROR:
Ova funkcija hvata i obrađuje pogreške. Sintaksa IFERROR funkcije je sljedeća.
=IFERROR (vrijednost, value_if_error)
- value: Vrijednost, referenca ili formula za provjeru pogreške.
- value_if_error: Vrijednost za vraćanje ako se pronađe pogreška.
- Funkcija SEARCH:
Ova funkcija dobiva lokaciju teksta u nizu. Sintaksa funkcije SEARCH je sljedeća.
=SEARCH (find_text, within_text, [start_num])
- find_text : Ovaj argument određuje koji tekst treba pronaći.
- unutar_teksta: Ovo navodi gdje pronaći tekst.
- start_num [opcionalno]: Ovime ćete odrediti- od koje pozicije u tekstualnom nizu ćete računati poziciju navedenog teksta. Neobavezno i zadano je 1 slijeva.
5 formula za vraćanje vrijednosti u Excelu ako ćelija sadrži određeni tekst s popisa
Pokušat ću predstaviti primjer iz stvarnog života u ovom skupu podataka. Ovdje su zastupljena neka pića. Čips , Hladna pića i Žitarice tri su kategorije pića u ovom skupu podataka. U jednom stupcu pod nazivom Svi proizvodi nazivi i kategorije pića međusobno su povezani. Dvije od ovih kategorija, Čips i HladnoPića također su u stupcu Popis . Na temelju stupca List , željeni rezultat bit će prikazan u drugom stupcu.
1. Kombinirajte COUNTIF, IF & ILI Funkcije za vraćanje vrijednosti ako ćelija sadrži tekst s popisa
Ovo je najkorisnija formula ako želite vratiti vrijednost cijele ćelije nakon podudaranja.
Ovdje sam dohvatio vrijednosti ćelija za Proizvode koje odgovaraju kriterijima stupca Popis i pokazao ih Proizvodu na temelju tog stupca popisa.
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 “ Čips ” i “Hladna pića” unutar ćelije B5 što je "
Ruffles - Chips
"
niz.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Funkcija COUNTIF vratila je jedan za svako podudaranje podniza. Kako se "
Chips
"
nalazi u ćeliji B5 , vraća { 1:0 }.
-
=IF(OR({1;0}), B5, "")
Funkcija OR 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 , 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 željenim izlazom.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)
Pročitajte više: Ako ćelija sadrži riječ, dodijelite vrijednost u Excelu (4 formule)
2. Upotrijebite kombinaciju IF-OR s funkcijom SEARCH za vraćanje vrijednosti s višestrukim uvjetima
Ovdje sam dohvatio vrijednosti ćelija za proizvode koji odgovaraju popisu kriterije stupca i prikazao ih stupcu Proizvod na temelju tog popisa .
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 List u ćeliji B5 . Za “ Chips ” vraćeno je 11 što je početna pozicija podniza. Za Cold Drinks vratio je pogrešku.
-
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Funkcija ISNUMBER pretvorena je 11 u TRUE vrijednost i grešku u FALSE vrijednost.
-
=IF(OR(TRUE,FALSE)),B5,"")
Funkcija OR vraća vrijednost TRUE ako je bilo koji od argumenata TRUE . Budući da postoji argument TRUE , on također vraća vrijednost TRUE u ovom slučaju.
-
=IF(TRUE, "Ruffles - Chips","")
Budući da je vrijednost funkcije IF TRUE , ona vraća prvi argument koji je željeni izlaz.
Konačni rezultat: Ruffles –Čipovi
Napomena:
- Ovdje sam pokazao ćeliju koja se podudara, ali možete prikazati bilo koji izlaz koji želite promjenom IF funkcionira izlaz s vašim željenim rezultatom.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- Glavna prednost ovoga formula je da ovo nije formula polja, ali se ne preporučuje ako imate mnogo ćelija na Popisu jer svaku ćeliju Popisa morate unijeti ručno.
- Za situacije koje razlikuju velika i mala slova, možemo upotrijebiti donju formulu temeljenu na funkciji FIND 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 zatim vraća 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. Upotrijebite formulu TEXTJOIN za vraćanje vrijednosti u drugoj ćeliji ako ćelija ima tekst s popisa
Ova je formula korisna kada morate pokazati koji se niz ili nizovi s Liste podudaraju .
Ovdje sam dohvatio vrijednosti ćelije iz stupca LIST gdje su se podudarale s Proizvodom i pokazao ih Podudarnoj vrijednosti iz Popisa stupac.
Formula je sljedeća:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"), $E$5:$E$6,""))
FormulaRaščlamba:
-
=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 koja je niz “ Ruffles – Chips ”.
-
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Funkcija COUNTIF vratila je jedan 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 njezinog argumenta bila jedan = True .
-
TEXTJOIN(", ",TRUE,{"Chips";""})
Funkcija TEXTJOIN ovdje nije učinila ništa jer je samo jedna vrijednost iz Popis je pronađen. Da je bilo mnogo vrijednosti za podudaranje, vratio bi ih sve sa zarezima (,) između njih kao razdjelnikom.
Konačni rezultat: čipovi
Pročitajte više: Ako ćelija sadrži tekst, dodajte tekst u drugu ćeliju u programu Excel
4. Koristite formulu INDEX MATCH za vraćanje vrijednosti ako ćelija sadrži određeni tekst
Ovo je alternativa formuli TEXTJOIN . Ova formula također pokazuje koji se niz ili nizovi s Liste podudaraju.
Ovdje sam dohvatio vrijednosti ćelija iz stupca LIST gdje su se podudarale s Proizvod i pokazao ih u stupcu Podudaranje vrijednosti iz popisa .
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 je znak zvjezdice ( * ) zamjenski znak. Tražio je podniz “ Chips ” i “ Cold Drinks ” unutar ćelije B5 što je niz “ Ruffles – Chips ”.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Funkcija COUNTIF vratila je jedan 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 vratila je jedan jer postoji samo jedna vrijednost “ Chips ” koja odgovara.
-
IFERROR(INDEX($E$5:$E$6,1),"")
Funkcija INDEX vratila je “ Chips ” jer je to bila vrijednost u polju List .
-
IFERROR("Chips","")
Ovdje se funkcija IFERROR koristi za obradu pogreške koja će se pojaviti ako nema podudaranja .
Konačni izlaz: čips
Napomena:
Ovdje sam pokazao ćeliju koja se podudara, ali vi možete pokazati bilo koji izlaz kakav želite mijenjanjem izlaza IF funkcija željenim izlazom.
Pročitajte više: Formula programa Excel Ako ćelija sadrži tekst, onda vratite vrijednost u Još jedna ćelija
5. Primijenite EXACT funkciju s IF i TEXTJOIN
Ovo je još jedno rješenje ovog problema u različitim situacijama. Ovdje sam dohvatio vrijednost ćelije iz stupca List s jednim članom. Spajamo ovu vrijednost s proizvodom i prikazujemo sve odgovarajuće vrijednosti u jednoj ćeliji.
Formula je sljedećaslijedi:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Raščlamba formule :
-
EXACT(C5:C14,$F$5)
Ovaj dio provjerava koje se vrijednosti Raspona C5:14 podudaraju s ćelijom F5 i vraća TRUE i FALSE .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Ovaj dio vraća imena za koja dobivamo TRUE .
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Na kraju, ovo spaja sva imena sa zarezom iza svakog imena.
Brze bilješke
Sve ove formule ovdje (osim druge) su formule polja. To znači da morate pritisnuti Ctrl+Shift+Enter umjesto da pritisnete samo gumb Enter za unos ove formule. Ali ako ste korisnik Office 365 , tada ih možete primijeniti pritiskom na Enter.
Zaključak
U ovom sam članku suzio različite formule za različite slučajeve za vraćanje vrijednosti ako ćelija sadrži određeni tekst s popisa. Nadam se da ste uspjeli pronaći rješenje za svoj problem. Ostavite komentar ako imate prijedloge ili pitanja. Štoviše, možete posjetiti naš blog za više takvih članaka.