Змест
Калі ў вас ёсць тэкставы спіс і вы хочаце шукаць ячэйкі і вярнуць значэнні на аснове спісу, вам трэба будзе пабудаваць формулу, таму што Excel не дае простага спосабу зрабіць гэта. У гэтым артыкуле я разгледзеў гэтую праблему і прадставіў пяць розных формул для выканання гэтай аперацыі, каб вы маглі выбраць ідэальную для вашай сітуацыі і вярнуць значэнне, калі ячэйка змяшчае пэўны тэкст са спісу.
Спампаваць вучэбны сшытак
Вы можаце спампаваць сшытак, які я выкарыстоўваў у гэтым артыкуле, з наступнай кнопкі і практыкавацца з ім самастойна.
Калі ячэйка ўтрымлівае тэкст з List.xlsx
Уводзіны ў функцыі, якія выкарыстоўваюцца ў гэтым артыкуле
Формулы, якія я выкарыстаў тут, выкарыстоўваюць наступныя функцыі:
- Функцыя COUNTIFS:
Гэта функцыя падлічвае ячэйкі, якія адпавядаюць некалькім крытэрам. Сінтаксіс функцыі COUNTIFS наступны.
=COUNTIFS (дыяпазон1, крытэрый1, [дыяпазон2], [крытэрый2], …)
- дыяпазон1 – 1-ы дыяпазон для ацэнкі.
- criteria1 – Крытэрый для выкарыстання ў 1-м дыяпазоне.
- дыяпазон2 [неабавязковы]: 2-і дыяпазон дзейнічае гэтак жа, як і дыяпазон1.
- крытэрый2 [неабавязковы]: Крытэрый для выкарыстання на 2-м дыяпазоне. Гэтая функцыя дазваляе максімум 127 дыяпазонаў і пар крытэрыяў .
- Функцыя TEXTJOIN:
Гэтая функцыя злучае тэкстзначэнні з раздзяляльнікам. Сінтаксіс функцыі TEXTJOIN наступны.
=TEXTJOIN (падзельнік, ignore_empty, text1, [text2], …)
- падзельнік: Раздзяляльнік паміж тэкстамі, якія функцыя збіраецца аб'яднаць.
- ignore_empty: Гэты аргумент вызначае, ці ігнаруе функцыя пусты ячэйкі ці не.
- тэкст1: 1-е тэкставае значэнне (ці дыяпазон).
- тэкст2 [неабавязкова]: 2-е тэкставае значэнне (або дыяпазон) .
- Функцыя MATCH:
Гэта функцыя атрымлівае пазіцыю элемента ў масіве. Сінтаксіс функцыі MATCH наступны.
=MATCH (пошукавае_значэнне, пошукавы_масіў, [тып_супадзення])
- lookup_value: Значэнне для супадзення ў lookup_array .
- lookup_array: Дыяпазон вочак або спасылка на масіў.
- тып_супадзення [неабавязковы]: 1 = дакладнае або наступнае меншае, 0 = дакладнае супадзенне, -1 = дакладнае або наступнае па велічыні. Па змаўчанні match_type=1.
- Функцыя INDEX:
Гэта функцыя атрымлівае значэнні ў спісе або табліцы ў залежнасці ад месцазнаходжання . Сінтаксіс функцыі INDEX наступны.
=INDEX (масіў, нумар_радка, [нумер_слупка], [нумер_вобласці])
- масіў: Дыяпазон ячэек або канстанта масіва.
- нумар_раду: Пазіцыя радка ў спасылцы.
- col_num [неабавязкова] : пазіцыя слупка ў спасылцы.
- area_num [неабавязкова]: дыяпазону спасылцы, якую трэба выкарыстоўваць.
- Функцыя IFERROR:
Гэта функцыя фіксуе і апрацоўвае памылкі. Сінтаксіс функцыі IFERROR наступны.
=IFERROR (значэнне, value_if_error)
- значэнне: Значэнне, спасылка або формула для праверкі памылкі.
- value_if_error: Значэнне для вяртання пры выяўленні памылкі.
- Функцыя ПОШУК:
Гэтая функцыя вызначае размяшчэнне тэксту ў радку. Сінтаксіс функцыі ПОШУК наступны.
=ПОШУК (знайсці_тэкст, у_тэксце, [нумер_пачатку])
- find_text : Гэты аргумент паказвае, які тэкст трэба знайсці.
- within_text: Гэта вызначае, дзе знайсці тэкст.
- start_num [неабавязкова]: З дапамогай гэтага вы ўкажаце, з якой пазіцыі ў тэкставым радку вы будзеце лічыць пазіцыю вызначанага тэксту. Неабавязковы і па змаўчанні 1 злева.
5 формул для вяртання значэння ў Excel, калі ячэйка змяшчае пэўны тэкст са спісу
Я паспрабую прадставіць прыклад з рэальнага жыцця ў гэтым наборы даных. Тут прадстаўлены некаторыя напоі. Чыпсы , Халодныя напоі і Збожжавыя гэта тры катэгорыі напояў у гэтым наборы даных. У адным слупку пад назвай Усе прадукты назва і катэгорыі напояў звязаны разам. Дзве з гэтых катэгорый, Чыпсы і ХалодныяНапоі таксама знаходзяцца ў слупку Спіс . На аснове слупка Спіс жаданы вынік будзе адлюстроўвацца ў другім слупку.
1. Аб'яднаць COUNTIF, IF & АБО Функцыі для вяртання значэння, калі ячэйка ўтрымлівае тэкст са спісу
Гэта найбольш карысная формула, калі вы хочаце вярнуць значэнне ўсёй ячэйкі пасля супадзення.
Тут я атрымаў значэнні ячэек Прадукты , якія адпавядаюць крытэрам слупка Спіс , і паказаў іх у слупку Прадукт на аснове гэтага спісу .
Формула наступная:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Разбіўка формулы:
-
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Тут знак зорачкі ( * ) з'яўляецца сімвалам падстаноўкі. Ён шукаў падрадок « Чыпсы » і «Халодныя напоі» ў ячэйцы B5 , якая ўяўляе сабой радок "
Ruffles - Chips
"
.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Функцыя COUNTIF вяртала адзінку для кожнага супадзення падрадка. Паколькі "
Chips
"
знойдзены ў ячэйцы B5 , ён вяртае { 1:0 }.
-
=IF(OR({1;0}), B5, "")
Функцыя OR вяртае значэнне TRUE , калі любы з аргументаў TRUE . У гэтым выпадку адзін (1)= ПРАВДА .
-
=IF(TRUE, "Ruffles - Chips", "")
Як КАЛІ значэнне функцыі роўна TRUE , яно вяртае першы аргумент, які з'яўляецца жаданым вынікам.
Канчатковы Вывад : Руфлі – Чыпсы
Заўвага:
Тут я паказаўячэйка, якая супала, але вы можаце паказаць любы вывад, які хочаце, змяніўшы вывад функцый IF на жаданы вывад.
=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 , што з'яўляецца пачатковай пазіцыяй падрадка. Для Cold Drinks вярнулася памылка.
-
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Функцыя ISNUMBER пераўтворана 11 у значэнне TRUE і памылку ў значэнне FALSE .
-
=IF(OR(TRUE,FALSE)),B5,"")
Функцыя OR вяртае значэнне TRUE , калі любы з аргументаў TRUE . Паколькі існуе аргумент TRUE , у гэтым выпадку ён таксама вяртае значэнне TRUE .
-
=IF(TRUE, "Ruffles - Chips","")
Паколькі значэнне функцыі IF роўна TRUE , яна вяртае першы аргумент, які з'яўляецца жаданым вынікам.
Канчатковы вынік: фальбонкі –Фішкі
Заўвага:
- Тут я паказаў ячэйку, якая адпавядае, але вы можаце паказаць любы вынік, які хочаце, змяніўшы IF выводзіць жаданы вынік.
=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 & вярнуць спасылку на ячэйку (3 спосабы)
3. Выкарыстоўвайце формулу TEXTJOIN для вяртання значэння ў іншай ячэйцы, калі ячэйка мае тэкст са спісу
Гэтая формула карысная, калі вам трэба паказаць, які радок або радкі са Спісу супадаюць .
Тут я атрымаў значэнні ячэйкі са слупка СПІС , дзе яны супадалі з Прадуктам , і паказаў іх адпаведнаму значэнню са спісу 4>слупок.
Формула наступная:
=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 – Chips ».
-
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Функцыя COUNTIF вяртала адзінку для кожнага супадзення падрадка. Паколькі « Chips » знаходзіцца ў Cell B5 , ён вяртае { 1:0 }.
-
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
Функцыя IF вярнула толькі значэнне « Chips », паколькі толькі першае значэнне яе аргумента было адзінка = True .
-
TEXTJOIN(", ",TRUE,{"Chips";""})
Функцыя TEXTJOIN тут нічога не зрабіла, бо толькі адно значэнне з Спіс быў знойдзены. Калі б было шмат значэнняў для супадзення, ён вярнуў бы ўсе з коскамі (,) паміж імі ў якасці падзельніка.
Канчатковы вынік: фішкі
Дадатковая інфармацыя: Калі ячэйка змяшчае тэкст, дадайце тэкст у іншую ячэйку ў Excel
4. Выкарыстоўвайце формулу INDEX MATCH для вяртання значэння, калі ячэйка змяшчае пэўны тэкст
Гэта альтэрнатыва формуле TEXTJOIN . Гэтая формула таксама паказвае, які радок або радкі з Спісу супалі.
Тут я выцягнуў значэнні вочак са слупка СПІС , дзе яны супалі з Прадукт і паказаў іх адпаведнаму значэнню са слупка Спіс .
Формула наступная:
=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 » і « Cold Drinks » у Cell B5 , які з'яўляецца радком « Ruffles – Chips ».
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Функцыя COUNTIF вяртала адзінку для кожнага супадзення падрадка. Паколькі « Chips » знаходзіцца ў Cell B5 , ён вяртае { 1:0 }.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
Функцыя MATCH вярнула адзінку, паколькі супала толькі адно значэнне « Chips ».
-
IFERROR(INDEX($E$5:$E$6,1),"")
Функцыя INDEX вярнула “ Chips ”, паколькі гэта было значэнне ў масіве List .
-
IFERROR("Chips","")
Тут функцыя IFERROR выкарыстоўваецца для апрацоўкі памылкі, якая адбудзецца, калі супадзенняў няма .
Канчатковы вынік: фішкі
Заўвага:
Тут я паказаў ячэйку, якая адпавядае, але вы можаце паказаць любы вывад, які вы хочаце, змяніўшы вывад функцый IF на жаданы вывад.
Дадатковая інфармацыя: Формула Excel, калі ячэйка змяшчае тэкст, то вяртае значэнне ў Іншая клетка
5. Прымяненне EXACT функцыі з IF і TEXTJOIN
Гэта яшчэ адно рашэнне гэтай праблемы ў розных сітуацыях. Тут я атрымаў значэнне ячэйкі са слупка спісу з адным членам. Мы супаставілі гэтае значэнне з прадуктам і паказалі ўсе адпаведныя значэнні ў адной ячэйцы.
Формула выглядае якнаступным чынам:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Разбіўка формулы :
-
EXACT(C5:C14,$F$5)
Гэта частка правярае, якія значэнні дыяпазону C5:14 супадаюць з ячэйкай F5 і вяртае TRUE і FALSE .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Гэта частка вяртае імёны, для якіх мы атрымліваем TRUE .
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Нарэшце, гэта аб'ядноўвае ўсе імёны праз коску пасля кожнага імені.
Кароткія нататкі
Усе гэтыя формулы (акрамя 2-й) з'яўляюцца формуламі масіву. Гэта азначае, што вы павінны націснуць Ctrl+Shift+Enter замест таго, каб націскаць толькі кнопку Enter для ўводу гэтай формулы. Але калі вы з'яўляецеся карыстальнікам Office 365 , вы можаце прымяніць іх, націснуўшы проста Enter.
Выснова
У гэтым артыкуле я звузіў розныя формулы для розных выпадкаў, каб вяртаць значэнне, калі ячэйка змяшчае пэўны тэкст са спісу. Спадзяюся, вы змаглі знайсці рашэнне сваёй праблемы. Калі ў вас ёсць якія-небудзь прапановы або пытанні, пакіньце каментарый. Больш за тое, вы можаце наведаць наш блог для больш такіх артыкулаў.