Turinys
Jei turite teksto sąrašą ir norite atlikti paiešką ląstelėse bei grąžinti reikšmes pagal sąrašą, turėsite sukurti formulę, nes "Excel" nepateikia paprasto būdo, kaip tai padaryti. Šiame straipsnyje sprendžiau šią problemą ir pateikiau penkias skirtingas formules šiai operacijai atlikti, kad galėtumėte pasirinkti tinkamiausią savo situacijai ir grąžinti reikšmę, jei ląstelėje yra tam tikro teksto.iš sąrašo.
Atsisiųsti praktikos sąsiuvinį
Šiame straipsnyje naudotą sąsiuvinį galite atsisiųsti iš toliau esančio mygtuko ir praktikuotis su juo patys.
Jei ląstelėje yra tekstas iš List.xlsx
Šiame straipsnyje naudojamų funkcijų įvadas
Čia naudojamose formulėse naudojamos šios funkcijos:
- COUNTIFS funkcija:
Ši funkcija skaičiuoja langelius, atitinkančius kelis kriterijus. COUNTIFS funkcija yra toks.
=COUNTIFS (range1, criteria1, [range2], [criteria2], ...)
- diapazonas1 - 1-asis vertinamas diapazonas.
- kriterijai1 - Kriterijus, kurį reikia naudoti 1 diapazone.
- range2 [neprivaloma]: 2-asis diapazonas veikia taip pat, kaip ir 1-asis diapazonas.
- kriterijai2 [neprivaloma]: Kriterijus, kurį reikia naudoti 2-ajame diapazone. Ši funkcija leidžia naudoti ne daugiau kaip 127 intervalai ir kriterijų poros .
- Funkcija TEXTJOIN:
Ši funkcija sujungia teksto reikšmes su skiriamuoju ženklu. TEXTJOIN funkcija yra toks.
=TEXTJOIN (riboženklis, ignore_empty, text1, [text2], ...)
- skirtukas: Atskirtukas tarp tekstų, kuriuos funkcija ketina sujungti.
- ignore_empty: Šis argumentas nurodo, ar funkcija ignoruoja tuščius langelius, ar ne.
- text1: 1-oji teksto reikšmė (arba intervalas).
- text2 [neprivaloma]: 2-oji teksto reikšmė (arba intervalas).
- Funkcija MATCH:
Ši funkcija nustato elemento poziciją masyve. MATCH funkcija yra toks.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Vertė, kurią reikia suderinti su lookup_array .
- lookup_array: Ląstelių intervalas arba masyvo nuoroda.
- match_type [neprivaloma]: 1 = tikslus arba kitas mažiausias, 0 = tikslus atitikimas, -1 = tikslus arba kitas didžiausias. Pagal numatytuosius nustatymus match_type=1.
- INDEX funkcija:
Ši funkcija gauna sąrašo arba lentelės reikšmes pagal vietą. INDEX funkcija yra toks.
=INDEX (masyvas, eilutės_numeris, [col_num], [area_num])
- masyvas: Ląstelių diapazonas arba masyvo konstanta.
- row_num: Eilutės pozicija nuorodoje.
- col_num [neprivaloma] : Stulpelio pozicija nuorodoje.
- area_num [neprivaloma]: Nuorodos intervalas, kuris turėtų būti naudojamas.
- Funkcija IFERROR:
Ši funkcija fiksuoja ir tvarko klaidas. Funkcija IFERROR yra toks.
=IFERROR (value, value_if_error)
- vertė: Vertė, nuoroda arba formulė, kurią reikia patikrinti, ar nėra klaidos.
- value_if_error: Vertė, kuri grąžinama, jei randama klaida.
- Paieškos funkcija:
Ši funkcija nustato teksto vietą eilutėje. Paieškos funkcija yra toks.
=SEARCH (find_text, within_text, [start_num])
- find_text : Šis argumentas nurodo, kokį tekstą rasti.
- within_text: Nurodoma, kur rasti tekstą.
- start_num [neprivaloma]: Naudodami šią funkciją nurodysite, nuo kurios teksto eilutės pozicijos bus skaičiuojama nurodyto teksto pozicija. Neprivaloma ir numatytasis nustatymas yra 1 iš kairės.
5 formulės, grąžinančios "Excel" vertę, jei ląstelėje yra tam tikras tekstas iš sąrašo
Šiame duomenų rinkinyje pabandysiu pateikti realų pavyzdį. Čia pateikiami kai kurie gėrimai. Chipsai , Šaltieji gėrimai , ir Grūdai yra trys gėrimų kategorijos šiame duomenų rinkinyje. Viename stulpelyje, pavadintame Visi produktai , gėrimų pavadinimai ir kategorijos susieti kartu. dvi iš šių kategorijų, Chipsai ir Šaltieji gėrimai , taip pat yra n Sąrašas stulpelis. Remiantis Sąrašas stulpelyje, pageidaujama išvestis bus rodoma antrame stulpelyje.
1. Sujunkite COUNTIF, IF & amp; OR funkcijas, kad grąžintumėte reikšmę, jei ląstelėje yra tekstas iš sąrašo
Tai naudingiausia formulė, jei norite grąžinti visos ląstelės vertę po atitikimo.
Šiuo atveju aš paėmiau langelių reikšmes iš Produktai kurie atitiko Sąrašas stulpelio kriterijus ir parodė juos Produktas pagal šį sąrašą skiltis.
Formulė yra tokia:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Formulės suskirstymas:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Čia Žvaigždutės ženklas ( * ) yra pakaitinis simbolis. Ieškoma " Chipsai " ir "Šalti gėrimai" substringa per Ląstelė B5 kuris yra "
"Ruffles" - traškučiai
"
eilutė.
-
=IF(ARBA(COUNTIF("Ruffles - traškučiai",*Traškučiai*, *šaltieji gėrimai*)), B5, "")
Svetainė COUNTIF funkcija grąžino po vieną už kiekvieną sutampančią eilutę. "
Chipsai
"
yra Ląstelė B5 , jis grąžina { 1:0 }.
=IF(OR({1;0}), B5, "")
Svetainė ARBA funkcija grąžina TRUE vertė, jei kuris nors iš argumentų yra TRUE Šiuo atveju vienas (1)= TRUE .
=IF(TRUE, "Ruffles - Chips", "")
Kaip IF funkcijos vertė yra TRUE , jis grąžina pirmąjį argumentą, kuris yra norimas išvesties rezultatas.
Galutinis Išėjimas : "Ruffles" - traškučiai
Pastaba:
Čia parodžiau ląstelę, kuri atitiko, bet galite rodyti bet kokią norimą išvestį, pakeisdami IF funkcijų išvestis su norima išvestimi.
=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)
Skaityti daugiau: Jei ląstelėje yra žodis, tada priskirkite reikšmę "Excel" (4 formulės)
2. Naudokite IF-OR derinį su SEARCH funkcija, kad grąžintumėte reikšmę su keliomis sąlygomis
Šiuo atveju aš paėmiau langelių reikšmes iš Produktai kurie atitiko Sąrašas stulpelio kriterijus ir parodė juos Produktas pagal šį sąrašą skiltis.
Formulė yra tokia:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Formulės suskirstymas:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Svetainė IEŠKOTI funkcija ieškojo reikšmių Sąrašas stulpelyje Ląstelė B5 . " Chipsai ", jis grįžo 11 kuri yra pradinė eilutės posistemio pozicija. Šaltieji gėrimai , buvo grąžinta klaida.
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Svetainė ISNUMBER konvertuota funkcija 11 į TRUE vertę ir klaidą į FALSE vertė.
=IF(OR(TRUE,FALSE)),B5,"")
Svetainė ARBA funkcija grąžina TRUE vertė, jei kuris nors iš argumentų yra TRUE . Kadangi yra TRUE argumentas, taip pat grąžinamas TRUE reikšmė šiuo atveju.
=IF(TRUE, "Ruffles - Chips","")
Kaip IF funkcijos vertė yra TRUE , jis grąžina pirmąjį argumentą, kuris yra norimas išvesties rezultatas.
Galutinis rezultatas: Ruffles - traškučiai
Pastaba:
- Čia parodžiau ląstelę, kuri atitiko, tačiau galite parodyti bet kokią norimą išvestį, pakeitę IF funkcijų išvestis su norima išvestimi.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- Pagrindinis šios formulės privalumas yra tas, kad tai nėra masyvo formulė, tačiau jos nerekomenduojama naudoti, jei turite daug langelių Sąrašas nes reikia įvesti kiekvieną ląstelę Sąrašas rankiniu būdu.
- Tais atvejais, kai reikia atsižvelgti į mažąsias ir didžiąsias raides, galime naudoti toliau pateiktą formulę, pagrįstą FIND funkcija vietoj IEŠKOTI funkcija.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Skaityti daugiau: "Excel" Jei ląstelėje yra tekstas, tada grąžinkite vertę (8 paprasti būdai)
Panašūs skaitiniai:
- Kaip susumuoti, jei ląstelėje yra tam tikras tekstas "Excel" (6 būdai)
- Naudokite VLOOKUP, jei "Excel" ląstelėje yra teksto žodis
- Kaip rasti tekstą "Excel" diapazone & amp; grąžinti ląstelės nuorodą (3 būdai)
3. Naudokite TEXTJOIN formulę, kad grąžintumėte vertę kitame ląstelėje, jei ląstelėje yra tekstas iš sąrašo
Ši formulė naudinga, kai reikia parodyti, kokią eilutę ar eilutes iš Sąrašas suderinta.
Čia ląstelių reikšmes gavau iš SĄRAŠAS stulpelyje, kuriame jie sutampa su Produktas ir parodė juos į reikšmę Matched iš Sąrašas skiltis.
Formulė yra tokia:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,""))
Formulės suskirstymas:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,""))
Čia Žvaigždutės ženklas ( * ) yra pakaitinis simbolis. Ieškoma " Chipsai " ir "Šaltieji gėrimai" substringa ląstelėje B5, kuri yra " "Ruffles" - traškučiai " eilutė.
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Svetainė COUNTIF funkcija grąžino po vieną už kiekvieną sutampančią eilutę. Kadangi " Chipsai " yra Ląstelė B5 , jis grąžina { 1:0 }.
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,"))
Svetainė IF funkcija grąžino tik " Chipsai " reikšmė, nes tik pirmoji jos argumento reikšmė buvo viena = Tiesa .
TEXTJOIN(", ",TRUE,{"Chips";""})
Svetainė TEXTJOIN funkcija čia nieko nepadarė, nes tik viena reikšmė iš Sąrašas Jei būtų buvę daug reikšmių, būtų buvę grąžintos visos reikšmės, tarp kurių būtų buvęs kablelis (,).
Galutinė produkcija: lustai
Skaityti daugiau: Jei ląstelėje yra teksto, tada pridėkite tekstą į kitą "Excel" ląstelę
4. Naudokite INDEX MATCH formulę, kad grąžintumėte vertę, jei ląstelėje yra tam tikras tekstas
Tai yra alternatyva TEXTJOIN Ši formulė taip pat parodo, kokia eilutė ar eilutės iš Sąrašas suderinta.
Čia ląstelių reikšmes gavau iš SĄRAŠAS stulpelyje, kuriame jie sutampa su Produktas ir parodė juos į "Matched" reikšmę iš Sąrašas skiltis.
Formulė yra tokia:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),"")
Formulės suskirstymas:
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0))),"")
Čia Žvaigždutės ženklas ( * ) yra pakaitinis simbolis. Ieškoma " Chipsai " ir " Šaltieji gėrimai " substringa, esanti Ląstelė B5 kuris yra " Ruffles - traškučiai " eilutė.
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Svetainė COUNTIF funkcija grąžino po vieną už kiekvieną sutampančią eilutę. Kadangi " Chipsai " yra Ląstelė B5 , jis grąžina { 1:0 }.
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0))),"")
Svetainė MATCH funkcija grąžino vienetą, nes yra tik viena reikšmė " Chipsai ", kuris atitiko.
IFERROR(INDEX($E$5:$E$6,1),"")
Svetainė INDEKSAS funkcija grąžino " Chipsai ", nes tai buvo reikšmė Sąrašas masyvas.
IFERROR("Chips","")
Čia IFERROR funkcija naudojama klaidai, kuri atsiranda, jei nėra atitikmenų, tvarkyti.
Galutinė produkcija: lustai
Pastaba:
Čia parodžiau ląstelę, kuri atitiko, bet galite rodyti bet kokią norimą išvestį, pakeisdami IF funkcijų išvestis su norima išvestimi.
Skaityti daugiau: "Excel" formulė Jei ląstelėje yra teksto, tada grąžinkite vertę kitoje ląstelėje
5. Taikykite EXACT funkciją su IF ir TEXTJOIN
Tai dar vienas šios problemos sprendimas įvairiose situacijose. Čia iš Sąrašo stulpelio su vienu nariu paėmiau langelio reikšmę. Šią reikšmę suderinome su Produktu ir visas suderintas reikšmes parodėme viename langelyje.
Formulė yra tokia:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,"))
Formulės suskirstymas :
EXACT(C5:C14,$F$5)
Šioje dalyje tikrinama, kurios reikšmės Diapazonas C5:14 rungtynės su Eilutė F5 ir grąžinti TRUE ir FALSE .
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Šioje dalyje grąžinami vardai, kuriuos gauname TRUE .
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Galiausiai sujungiami visi vardai, po kiekvieno vardo dedant kablelį.
Trumpos pastabos
Visos šios formulės (išskyrus 2-ąją) yra masyvo formulės. Tai reiškia, kad turite paspausti Ctrl+Shift+Enter vietoj to, kad paspaustumėte tik Įveskite įvesti šią formulę. Bet jei esate "Office 365 naudotojas, tada galite juos taikyti paspausdami tik Įveskite.
Išvada
Šiame straipsnyje susiaurinau įvairias formules, skirtas įvairiems atvejams, kad grąžintų vertę, jei ląstelėje yra konkretus tekstas iš sąrašo. Tikiuosi, kad jums pavyko rasti savo problemos sprendimą. Jei turite pasiūlymų ar klausimų, palikite komentarą. Be to, galite apsilankyti mūsų tinklaraštis daugiau tokių straipsnių.