Jak zwrócić wartość w Excelu, jeśli komórka zawiera tekst z listy

  • Udostępnij To
Hugh West

Jeśli masz listę tekstu i chcesz przeszukiwać komórki i zwracać wartości na podstawie listy, będziesz musiał zbudować formułę, ponieważ Excel nie zapewnia prostego sposobu, aby to zrobić. W tym artykule zająłem się tym problemem i przedstawiłem pięć różnych formuł do wykonania tej operacji, abyś mógł wybrać idealną dla swojej sytuacji i zwrócić wartość, jeśli komórka zawiera określony tekstz listy.

Pobierz Zeszyt ćwiczeń

Możesz pobrać zeszyt ćwiczeń, który wykorzystałem w tym artykule z poniższego przycisku i poćwiczyć z nim samodzielnie.

If Cell Contains Text from List.xlsx

Wprowadzenie do funkcji używanych w tym artykule

Formuły, które tu zastosowałem, wykorzystują następujące funkcje:

  • Funkcja COUNTIFS:

Funkcja ta zlicza komórki spełniające wiele kryteriów. Składnia funkcji Funkcja COUNTIFS jest następująca.

=COUNTIFS (zakres1, kryteria1, [zakres2], [kryteria2], ...)

  • zakres1 - 1. zakres do oceny.
  • kryteria1 - Kryterium do zastosowania na 1. zakresie.
  • zakres2 [opcjonalnie]: Drugi zakres, działa tak samo jak zakres1.
  • kryteria2 [opcjonalnie]: Kryterium, które ma być użyte na 2. zakresie. Funkcja ta pozwala na użycie maksymalnie 127 zakresy i pary kryteriów .
  • Funkcja TEXTJOIN:

Funkcja łączy wartości tekstowe z ogranicznikiem. Składnia funkcji Funkcja TEXTJOIN jest następująca.

=TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...)

  • delimiter: Separator pomiędzy tekstami, które funkcja ma zamiar połączyć.
  • ignore_empty: Ten argument określa, czy funkcja ignoruje puste komórki, czy nie.
  • tekst1: 1. wartość tekstowa (lub zakres).
  • text2 [opcjonalnie]: 2. wartość tekstowa (lub zakres).
  • Funkcja MATCH:

Funkcja ta pobiera pozycję elementu w tablicy. Składnia funkcji Funkcja MATCH jest następująca.

=MATCH (lookup_value, lookup_array, [match_type])

  • lookup_value: Wartość, która ma być dopasowana w lookup_array .
  • lookup_array: Zakres komórek lub referencja do tablicy.
  • match_type [opcjonalnie]: 1 = dokładny lub następny najmniejszy, 0 = dokładny mecz, -1 = dokładny lub następny największy. Domyślnie match_type=1.
  • Funkcja INDEX:

Funkcja pobiera wartości z listy lub tabeli na podstawie lokalizacji. Składnia funkcji Funkcja INDEX jest następująca.

=INDEX (array, row_num, [col_num], [area_num])

  • array: Zakres komórek, lub stała tablicowa.
  • row_num: Pozycja wiersza w odnośniku.
  • col_num [opcjonalnie] : Pozycja kolumny w referencji.
  • area_num [opcjonalnie]: Zakres w referencji, który powinien być użyty.
  • Funkcja IFERROR:

Funkcja ta wychwytuje i obsługuje błędy. Składnia funkcji Funkcja IFERROR jest następująca.

=IFERROR (wartość, wartość_if_error)

  • wartość: Wartość, referencja lub formuła do sprawdzenia pod kątem błędu.
  • value_if_error: Wartość, która ma zostać zwrócona w przypadku znalezienia błędu.
  • Funkcja SEARCH:

Funkcja ta pobiera lokalizację tekstu w łańcuchu znaków. Składnia funkcji Funkcja SEARCH jest następująca.

=SEARCH (find_text, within_text, [start_num])

  • znajdź_tekst : Ten argument określa, jaki tekst ma być znaleziony.
  • within_text: Określa miejsce, w którym ma się znaleźć tekst.
  • start_num [opcjonalnie]: Za jego pomocą określisz- od której pozycji w łańcuchu tekstowym będziesz liczył pozycję podanego tekstu. Opcjonalne i domyślnie 1 od lewej.

5 Formuł, aby zwrócić wartość w Excelu, jeśli komórka zawiera określony tekst z listy

Postaram się przedstawić realny przykład w tym zbiorze danych. Niektóre napoje są tu reprezentowane. Chipsy , Zimne napoje oraz Zboża to trzy kategorie napojów w tym zbiorze danych. W pojedynczej kolumnie o nazwie Wszystkie produkty , nazwa i kategorie napojów są połączone ze sobą. Dwie z tych kategorii, Chipsy oraz Zimne napoje , są również n Wykaz kolumna. na podstawie Wykaz w kolumnie, w drugiej kolumnie zostanie wyświetlone żądane wyjście.

1) Połącz funkcje COUNTIF, JEŻELI & OR, aby zwrócić wartość, jeśli komórka zawiera tekst z listy

Jest to najbardziej przydatna formuła, jeśli chcesz zwrócić wartość całej komórki po dopasowaniu.

Tutaj pobrałem wartości komórek z Produkty które pasowały do Wykaz kryteria kolumny i pokazał je Produkt oparty na tej liście kolumna.

Wzór jest następujący:

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Podział formuły:

  • =IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Tutaj Znak gwiazdki ( * ) jest znakiem wieloznacznym, wyszukiwało " Chipsy " i "Zimne napoje" podciągają się w obrębie Komórka B5 który jest " Ruffles - Chips " sznurek.

  • =IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")

Na stronie COUNTIF funkcja zwróciła jeden za każde dopasowanie podłańcucha. " Chipsy " znajduje się w Komórka B5 to zwraca { 1:0 }.

  • =IF(OR({1;0}), B5, "")

Na stronie LUB funkcja zwraca TRUE wartość, jeśli któryś z argumentów jest TRUE W tym przypadku jeden (1)=. TRUE .

  • =IF(TRUE, "Ruffles - Chips", "")

Jako że JEŚLI wartość funkcji to. TRUE , zwraca pierwszy argument, który jest pożądanym wyjściem.

Finał Wyjście : Ruffles - Chips

Uwaga:

Tutaj pokazałem komórkę, która pasowała, ale możesz pokazać dowolne dane wyjściowe, zmieniając metodę JEŚLI funkcje wyjściowe z żądanym wyjściem.

=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)

Read More: If Cell Contain Word Then Assign Value in Excel (4 Formuły)

2. użycie kombinacji IF-OR z funkcją SEARCH do zwrócenia wartości z wieloma warunkami

Tutaj pobrałem wartości komórek z Produkty które pasowały do Wykaz kryteria kolumny i pokazał je Produkt oparty na tej liście kolumna.

Wzór jest następujący:

=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,")

Podział formuły:

  • =IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,")

Na stronie SZUKAJ funkcja przeszukała wartości Wykaz kolumna w Komórka B5 . za " Chipsy " powrócił 11 która jest pozycją początkową podłańcucha. Dla Zimne napoje , zwróciło błąd.

  • =IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")

Na stronie ISNUMBER funkcja przekształcona 11 na TRUE i błąd w FALSE wartość.

  • =IF(LUB(TRUE,FALSE)),B5,"")

Na stronie LUB funkcja zwraca TRUE wartość, jeśli któryś z argumentów jest TRUE . As there is a TRUE zwraca również argument TRUE wartość w tym przypadku.

  • =IF(TRUE, "Ruffles - Chips",")

Jako że JEŚLI wartość funkcji to. TRUE , zwraca pierwszy argument, który jest pożądanym wyjściem.

Wyjście końcowe: Ruffles - Chips

Uwaga:

  • Tutaj pokazałem komórkę, która pasowała, ale możesz pokazać dowolne dane wyjściowe, zmieniając metodę JEŚLI funkcje wyjściowe z żądanym wyjściem.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • Główną zaletą tej formuły jest to, że nie jest to formuła tablicowa, ale nie jest ona zalecana, jeśli masz wiele komórek w Wykaz ponieważ musisz wprowadzić każdą komórkę Wykaz ręcznie.
  • W przypadku rozróżniania wielkości liter możemy skorzystać z poniższej formuły opartej na Funkcja FIND zamiast SZUKAJ funkcja.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Read More: Excel If Cell Contains Text Then Return Value (8 prostych sposobów)

Podobne Lektury:

  • Jak podsumować czy komórka zawiera określony tekst w Excelu (6 sposobów)
  • Użyj VLOOKUP jeśli komórka zawiera słowo w tekście w Excelu
  • Jak znaleźć tekst w Excelu zakres & zwrócić odwołanie do komórki (3 sposoby)

3. użycie formuły TEXTJOIN do zwrócenia wartości w innej komórce, jeśli w komórce znajduje się tekst z listy

Ta formuła jest przydatna, gdy trzeba pokazać jaki łańcuch lub łańcuchy z Wykaz dopasowane.

Tutaj pobrałem wartości komórek z LIST kolumna, w której pasują do Produkt i pokazał je do dopasowanej wartości z Wykaz kolumna.

Wzór jest następujący:

=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,"))

Podział formuły:

  • =TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,"))

Tutaj Znak gwiazdki ( * ) jest znakiem wieloznacznym, wyszukiwało " Chipsy " i "Cold Drinks" substring within Cell B5 which is " Ruffles - Chips " string.

  • TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))

Na stronie COUNTIF funkcja zwróciła jeden dla każdego dopasowania podłańcucha. Jako " Chipsy " znajduje się w Komórka B5 to zwraca { 1:0 }.

  • TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,"))

Na stronie JEŚLI funkcja zwróciła tylko " Chipsy " wartość, ponieważ tylko pierwsza wartość jego argumentu była jedna =. Prawdziwe .

  • TEXTJOIN(", ",TRUE,{"Chips";""})

Na stronie TEXTJOIN Funkcja nic tu nie zrobiła, ponieważ tylko jedna wartość z Wykaz Gdyby było wiele wartości do dopasowania, zwróciłoby wszystkie z przecinkami (,) między nimi jako separator.

Wyjście końcowe: chipy

Read More: Jeśli komórka zawiera tekst to dodaj tekst do innej komórki w Excelu

4. użycie formuły INDEX MATCH do zwrócenia wartości, jeśli komórka zawiera określony tekst

Jest to alternatywa dla TEXTJOIN Formuła ta pokazuje również, jaki ciąg lub ciągi z Wykaz dopasowane.

Tutaj pobrałem wartości komórek z LIST kolumna, w której pasują do Produkt i pokazał je do dopasowanej wartości z Wykaz kolumna.

Wzór jest następujący:

=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),")

Podział formuły:

  • =IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)),")

Tutaj Znak gwiazdki ( * ) jest znakiem wieloznacznym, wyszukiwało " Chipsy " i " Zimne napoje " podciąg w ramach Komórka B5 czyli " Ruffles - Chips " string.

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),")

Na stronie COUNTIF funkcja zwróciła jeden dla każdego dopasowania podłańcucha. Jako " Chipsy " znajduje się w Komórka B5 to zwraca { 1:0 }.

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),")

Na stronie MATCH funkcja zwróciła jeden, ponieważ istnieje tylko jedna wartość " Chipsy ", które pasowały do siebie.

  • IFERROR(INDEX($E$5:$E$6,1),"")

Na stronie INDEX funkcja zwróciła " Chipsy ", gdyż była to wartość w. Wykaz array.

  • IFERROR("Chips",")

Tutaj IFERROR Funkcja służy do obsługi błędu, który wystąpi w przypadku braku dopasowań.

Wyjście końcowe: chipy

Uwaga:

Tutaj pokazałem komórkę, która pasowała, ale możesz pokazać dowolne dane wyjściowe, zmieniając metodę JEŚLI funkcje wyjściowe z żądanym wyjściem.

Read More: Excel Formula If Cell Contains Text Then Return Value in Another Cell

5) Zastosuj funkcję EXACT z IF i TEXTJOIN

Jest to kolejne rozwiązanie tego problemu w różnych sytuacjach. Tutaj pobrałem wartość komórki z kolumny Lista z pojedynczym członkiem. Dopasowujemy tę wartość do produktu i pokazaliśmy wszystkie wartości dopasowania w pojedynczej komórce.

Wzór jest następujący:

=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Podział formuły :

  • EXACT(C5:C14,$F$5)

Ta część sprawdza, które wartości Zakres C5:14 pasować do Komórka F5 i powrócić TRUE oraz FALSE .

  • IF(EXACT(C5:C14,$F$5),B5:B14,"")

Ta część zwraca nazwy, dla których otrzymujemy TRUE .

  • TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Wreszcie, to łączy wszystkie nazwy z przecinkiem po każdej nazwie.

Szybkie notatki

Wszystkie te formuły (z wyjątkiem drugiej) są formułami tablicowymi. Oznacza to, że musisz nacisnąć Ctrl+Shift+Enter zamiast naciskać tylko Wejdź na stronę do wprowadzenia tej formuły. Ale jeśli jesteś Office 365 użytkownik, to można je zastosować naciskając tylko Wejdź.

Wniosek

W tym artykule zawęziłem różne formuły dla różnych przypadków, aby zwrócić wartość, jeśli komórka zawiera określony tekst z listy. Mam nadzieję, że udało Ci się znaleźć rozwiązanie Twojego problemu. Proszę zostaw komentarz, jeśli masz jakieś sugestie lub pytania. Ponadto, możesz odwiedzić naszą stronę blog po więcej takich artykułów.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.