Съдържание
Ако имате списък с текст и искате да търсите в клетките и да връщате стойности въз основа на списъка, ще трябва да създадете формула, тъй като Excel не предоставя прост начин за това. В тази статия разгледах този въпрос и предоставих пет различни формули за извършване на тази операция, така че да можете да изберете идеалната за вашата ситуация и да върнете стойността, ако клетката съдържа определен текст.от списък.
Изтегляне на работна тетрадка за практика
Можете да изтеглите работната тетрадка, която използвах в тази статия, от следния бутон и да се упражнявате сами с нея.
Ако клетката съдържа текст от List.xlsx
Въведение във функциите, използвани в тази статия
Формулите, които използвах тук, използват следните функции:
- Функцията COUNTIFS:
Тази функция преброява клетките, които отговарят на няколко критерия. Синтаксисът на функцията Функция COUNTIFS е следната.
=COUNTIFS (range1, criteria1, [range2], [criteria2], ...)
- обхват1 - Първият диапазон за оценка.
- критерии1 - Критерият, който се използва за първия диапазон.
- range2 [по избор]: Вторият диапазон действа точно както диапазон1.
- критерии2 [по избор]: Критерият, който да се използва за втория диапазон. Тази функция позволява максимум 127 диапазони и двойки критерии .
- Функцията TEXTJOIN:
Тази функция обединява текстови стойности с разделител. Синтаксисът на функцията Функция TEXTJOIN е следната.
=TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...)
- разделител: Разделител между текстовете, които функцията ще комбинира.
- ignore_empty: Този аргумент указва дали функцията да игнорира празните клетки или не.
- текст1: 1-ва текстова стойност (или диапазон).
- text2 [по избор]: 2-ра текстова стойност (или диапазон).
- Функцията MATCH:
Тази функция получава позицията на елемент в масив. Синтаксисът на Функция MATCH е следната.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Стойността, която трябва да се съпостави в lookup_array .
- lookup_array: Диапазон от клетки или препратка към масив.
- match_type [незадължително]: 1 = точно или следващото по големина, 0 = точно съвпадение, -1 = точно или следващото по големина. По подразбиране match_type=1.
- Функцията INDEX:
Тази функция получава стойности в списък или таблица въз основа на местоположението. Синтаксисът на Функция INDEX е следната.
=INDEX (масив, row_num, [col_num], [area_num])
- масив: Обхват от клетки или константа на масив.
- row_num: Позицията на реда в справката.
- col_num [по избор] : Позицията на колоната в справката.
- area_num [по избор]: Диапазонът на референцията, който трябва да се използва.
- Функцията IFERROR:
Тази функция улавя и обработва грешки. Синтаксисът на функцията Функция IFERROR е следната.
=IFERROR (стойност, value_if_error)
- стойност: Стойността, препратката или формулата, която се проверява за грешка.
- value_if_error: Стойността, която се връща, ако е открита грешка.
- Функцията SEARCH (Търсене):
Тази функция получава местоположението на текст в низ. Синтаксисът на функцията Функцията SEARCH е следната.
=SEARCH (find_text, within_text, [start_num])
- find_text : Този аргумент определя кой текст да бъде намерен.
- within_text: Това указва къде да се намери текстът.
- start_num [по избор]: С тази опция ще укажете от коя позиция в текстовия низ ще се брои позицията на посочения текст. Незадължително и по подразбиране е 1 отляво.
5 формули за връщане на стойност в Excel, ако дадена клетка съдържа определен текст от списък
Ще се опитам да представя пример от реалния живот в този набор от данни. Тук са представени някои напитки. Чипс , Студени напитки , и Зърнени храни са трите категории напитки в този набор от данни. В една колона, наречена Всички продукти , наименованието и категориите на напитките са свързани помежду си. две от тези категории, Чипс и Студени напитки , също са п Списък колона. Въз основа на Списък колона, желаният изход ще се покаже във втората колона.
1. Комбинирайте функциите COUNTIF, IF & OR, за да върнете стойност, ако дадена клетка съдържа текст от списък
Това е най-полезната формула, ако искате да върнете стойността на цялата клетка след съответствието.
Тук извличам стойностите на клетките на Продукти които съвпадат с Списък критерии за колона и ги показа на Продукт въз основа на този списък колона.
Формулата е следната:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Разбивка на формулата:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Тук Знак със звездичка ( * ) е заместващ символ. Търси се " Чипс " и "Студени напитки" подниз в рамките на Клетка B5 което е "
Ruffles - Чипс
"
низ.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Сайтът COUNTIF функцията връща по едно за всяко съвпадение на подниз. "
Чипс
"
се намира в Клетка B5 , той връща { 1:0 }.
=IF(OR({1;0}), B5, "")
Сайтът ИЛИ връща функция TRUE стойност, ако някой от аргументите е TRUE В този случай един (1)= TRUE .
=IF(TRUE, "Ruffles - Chips", "")
Като IF стойността на функцията е TRUE , той връща първия аргумент, който е желаният резултат.
Окончателен Изход : Ruffles - Чипс
Забележка:
Тук съм показал клетката, която съвпада, но можете да покажете всеки изход, както искате, като промените 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 . за " Чипс " се връща 11 която е началната позиция на подниза. Студени напитки , тя връща грешка.
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Сайтът ISNUMBER преобразувана функция 11 в TRUE стойността и грешката в FALSE стойност.
=IF(OR(TRUE,FALSE)),B5,"")
Сайтът ИЛИ връща функция 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, за да върнете стойност в друга клетка, ако в дадена клетка има текст от списък
Тази формула е полезна, когато трябва да покажете какъв низ или низове от Списък съвпаднали.
Тук съм изтеглил стойностите на клетките от СПИСЪК колона, където те съвпадат с Продукт и ги показа към стойността Matched от Списък колона.
Формулата е следната:
=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,"")
Тук Знак със звездичка ( * ) е заместващ символ. Търси се " Чипс " и поднизът "Студени напитки" в клетка B5, който е " Ruffles - Чипс " низ.
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Сайтът COUNTIF функцията връща по едно за всяко съвпадение на подниз. Тъй като " Чипс " се намира в Клетка B5 , той връща { 1:0 }.
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,"))
Сайтът IF функцията връща само " Чипс " стойност, тъй като само първата стойност на неговия аргумент е една = Истински .
TEXTJOIN(", ",TRUE,{"Чипс";""})
Сайтът TEXTJOIN функция не направи нищо тук, тъй като само една стойност от Списък Ако е имало много стойности за сравнение, щеше да се върнат всички със запетаи (,) между тях като разделител.
Краен продукт: чипове
Прочетете още: Ако клетката съдържа текст, тогава добавете текст в друга клетка в Excel
4. Използвайте формула INDEX MATCH, за да върнете стойност, ако клетката съдържа определен текст
Това е алтернатива на TEXTJOIN Тази формула също така показва кой низ или низове от Списък съвпаднали.
Тук съм изтеглил стойностите на клетките от СПИСЪК колона, където те съвпадат с Продукт и ги показа към стойността Matched от Списък колона.
Формулата е следната:
=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)),"")
Тук Знак със звездичка ( * ) е заместващ символ. Търси се " Чипс " и " Студени напитки " подниз в рамките на Клетка B5 което е " Ruffles - Чипс " низ.
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Сайтът COUNTIF функцията връща по едно за всяко съвпадение на подниз. Тъй като " Чипс " се намира в Клетка B5 , той връща { 1:0 }.
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
Сайтът MATCH функцията върна единица, тъй като има само една стойност " Чипс ", които съвпадат.
IFERROR(INDEX($E$5:$E$6,1),"")
Сайтът INDEX функцията връща " Чипс ", тъй като това е стойността в Списък масив.
IFERROR("Чипс","")
Тук 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,""))
Накрая се обединяват всички имена със запетая след всяко име.
Бързи бележки
Всички тези формули тук (с изключение на втората) са формули за масиви. Това означава, че трябва да натиснете Ctrl+Shift+Enter вместо да натискате само бутона Въведете за въвеждане на тази формула. Но ако сте Office 365 потребител, можете да ги приложите, като натиснете само Въведете.
Заключение
В тази статия съм ограничил различни формули за различни случаи за връщане на стойност, ако дадена клетка съдържа определен текст от списък. Надявам се, че сте успели да намерите решение на проблема си. Моля, оставете коментар, ако имате някакви предложения или въпроси. Освен това можете да посетите нашия блог за повече подобни статии.