목차
텍스트 목록이 있고 목록을 기반으로 셀을 검색하고 값을 반환하려는 경우 Excel에서 간단한 방법을 제공하지 않기 때문에 수식을 작성해야 합니다. 이 문서에서는 이 문제를 해결하고 이 작업을 수행하는 5가지 다른 수식을 제공하여 상황에 맞는 완벽한 수식을 선택하고 셀에 목록의 특정 텍스트가 포함된 경우 값을 반환할 수 있도록 했습니다.
실습 워크북 다운로드
이 글에서 사용한 워크북은 아래 버튼에서 다운받아 직접 연습해볼 수 있습니다.
If Cell Contains Text from List.xlsx
이 기사에서 사용된 함수 소개
여기서 사용한 수식은 다음 함수를 사용합니다.
- COUNTIFS 기능:
이 기능은 여러 기준과 일치하는 셀을 계산합니다. COUNTIFS 함수 의 문법은 다음과 같다.
=COUNTIFS (range1, criteria1, [range2], [criteria2], …)
- range1 – 평가할 첫 번째 범위입니다.
- criteria1 – 첫 번째 범위에서 사용할 기준입니다.
- range2 [선택사항]: 두 번째 범위는 range1과 동일하게 작동합니다.
- criteria2 [선택사항]: 사용할 기준 2 범위에서. 이 기능은 최대 127개의 범위 및 기준 쌍 을 허용합니다.
- TEXTJOIN 기능:
이 기능 텍스트 조인구분 기호가 있는 값. TEXTJOIN 함수 의 문법은 다음과 같다.
=TEXTJOIN (delimiter, ignore_empty, text1, [text2], …)
- delimiter: 함수가 결합할 텍스트 사이의 구분 기호입니다.
- ignore_empty: 이 인수는 함수가 공백을 무시하는지 여부를 지정합니다. 셀 여부.
- text1: 첫 번째 텍스트 값(또는 범위).
- text2 [선택 사항]: 두 번째 텍스트 값(또는 범위) .
- 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 (array, row_num, [col_num], [area_num])
- array: 셀 범위 또는 배열 상수.
- row_num: 참조의 행 위치.
- col_num [선택 사항] : 참조의 열 위치.
- area_num [선택 사항]: 범위참조에서 사용해야 합니다.
- IFERROR 기능:
이 기능은 오류를 포착하고 처리합니다. IFERROR 함수 의 구문은 다음과 같다.
=IFERROR(value, value_if_error)
- value: 오류를 확인할 값, 참조 또는 수식입니다.
- value_if_error: 오류가 발견된 경우 반환할 값입니다.
- 검색 기능:
이 기능은 문자열에서 텍스트의 위치를 가져옵니다. SEARCH 함수 의 문법은 다음과 같다.
=SEARCH (find_text, within_text, [start_num])
- find_text : 이 인수는 찾을 텍스트를 지정합니다.
- within_text: 텍스트를 찾을 위치를 지정합니다.
- start_num [선택 사항]: 이를 통해 지정된 텍스트의 위치를 계산할 텍스트 문자열의 위치를 지정합니다. 선택 사항이며 기본값은 왼쪽부터 1입니다.
셀에 목록의 특정 텍스트가 포함된 경우 Excel에서 값을 반환하는 5가지 수식
제시를 시도합니다. 이 데이터 세트의 실제 예입니다. 일부 음료는 여기에 표시됩니다. 칩스 , 차가운 음료수 및 시리얼 은 이 데이터 세트에서 음료의 세 가지 카테고리입니다. 모든 제품 이라는 단일 열에서 음료의 이름과 범주가 함께 연결됩니다. Chips 및 ColdDrinks 는 List 열에도 있습니다. 목록 열을 기준으로 원하는 출력이 두 번째 열에 표시됩니다.
1. COUNTIF, IF & 셀에 목록의 텍스트가 포함된 경우 값을 반환하는 OR 함수
일치 후 전체 셀의 값을 반환하려는 경우 가장 유용한 수식입니다.
여기에서 List 열 기준과 일치하는 제품 의 셀 값을 가져와 해당 목록 열을 기반으로 제품에 표시했습니다.
수식은 다음과 같습니다.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
수식 분류:
-
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
여기서 별표 기호 ( * )는 와일드카드 문자입니다. "
Ruffles - Chips
"
문자열인 셀 B5 내에서 " Chips " 및 "Cold Drinks" 하위 문자열을 검색했습니다.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
COUNTIF 함수는 모든 하위 문자열 일치에 대해 하나를 반환했습니다. "
Chips
"
가 셀 B5 에 있으므로 { 1:0 }을 반환합니다.
-
=IF(OR({1;0}), B5, "")
OR 함수는 인수 중 하나라도 TRUE 인 경우 TRUE 값을 반환합니다. 이 경우 일(1)= TRUE .
-
=IF(TRUE, "Ruffles - Chips", "")
IF 함수의 값은 TRUE 이며 원하는 출력인 첫 번째 인수를 반환합니다.
최종 출력 : Ruffles – Chips
참고:
여기서그러나 IF 함수 출력을 원하는 출력으로 변경하여 원하는 출력을 표시할 수 있습니다.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)
자세히 보기: 셀에 단어가 포함된 경우 Excel에서 값 지정(수식 4개)
2. SEARCH 함수와 IF-OR 조합을 사용하여 여러 조건이 있는 값 반환
여기에서 목록 과 일치하는 제품 의 셀 값을 가져왔습니다. 열 기준에 따라 제품에 해당 목록 열을 표시했습니다.
공식은 다음과 같습니다.
=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,"")
SEARCH 기능은 셀 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 이므로 원하는 출력인 첫 번째 인수를 반환합니다.
최종 출력: Ruffles –Chips
참고:
- 여기서는 일치하는 셀을 표시했지만 IF 원하는 출력으로 기능 출력.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- 이 기능의 주요 이점 수식은 배열 수식은 아니지만 목록 의 모든 셀을 수동으로 입력해야 하므로 목록 에 셀이 많은 경우에는 권장하지 않습니다.
- 대소문자를 구분하는 경우 SEARCH 함수 대신 FIND 함수 를 기반으로 아래 수식을 사용할 수 있습니다.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
자세히 보기: 셀에 텍스트가 포함된 경우 Excel에서 값 반환(8가지 쉬운 방법)
유사한 읽기:
- 엑셀에서 셀에 특정 텍스트가 포함된 경우 합산하는 방법(6가지 방법)
- 셀에 텍스트가 포함된 경우 VLOOKUP 사용 Excel
- Excel 범위 & 셀 참조 반환(3가지 방법)
3. 셀에 목록의 텍스트가 있는 경우 TEXTJOIN 수식을 사용하여 다른 셀의 값 반환
이 수식은 일치하는 목록 의 문자열을 표시해야 할 때 유용합니다. .
여기서는 제품 과 일치하는 LIST 열에서 셀 값을 가져와 목록 <에서 일치하는 값에 표시했습니다. 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,""))
여기서 별표 기호 ( * ) 와일드카드 문자입니다. " Ruffles – Chips " 문자열인 셀 B5 내의 " Chips " 및 "Cold Drinks" 하위 문자열을 검색했습니다.
-
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 함수는 인수의 첫 번째 값만 1 = True<4이므로 " Chips " 값만 반환했습니다>.
-
TEXTJOIN(", ",TRUE,{"Chips";""})
TEXTJOIN 함수는 목록 이(가) 일치했습니다. 일치하는 값이 많으면 구분 기호로 사이에 쉼표(,)를 사용하여 모두 반환했을 것입니다.
최종 출력: Chips
자세히 보기: 셀에 텍스트가 포함된 경우 Excel의 다른 셀에 텍스트 추가
4. 셀에 특정 텍스트가 포함된 경우 INDEX MATCH 수식을 사용하여 값 반환
TEXTJOIN 수식의 대안입니다. 이 수식은 또한 List 에서 일치하는 문자열을 보여줍니다.
여기서 LIST 열에서 <3과 일치하는 셀 값을 가져왔습니다>제품 그리고 목록 열의 일치 값으로 표시했습니다.
공식은 다음과 같습니다.
=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)),"")
여기서 별표 ( * )는 와일드카드 문자. " Ruffles – Chips " 문자열인 Cell B5 내에서 " Chips " 및 " Cold Drinks " 하위 문자열을 검색했습니다.
-
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 " 값이 하나뿐이므로 1을 반환했습니다.
-
IFERROR(INDEX($E$5:$E$6,1),"")
INDEX 함수는 List 배열의 값인 " Chips "를 반환했습니다.
-
IFERROR("Chips","")
여기서 IFERROR 함수는 일치하는 항목이 없을 때 발생하는 오류를 처리하는 데 사용됩니다. .
최종 출력: Chips
참고:
여기서 일치하는 셀을 표시했지만 원하는 출력으로 IF 함수 출력을 변경하여 원하는 대로 출력합니다.
자세히 보기: 셀에 텍스트가 포함된 경우 Excel 수식 다음 값 반환 다른 셀
5. IF 및 TEXTJOIN
을 사용하여 EXACT 함수 적용 이것은 다양한 상황에서 이 문제에 대한 또 다른 솔루션입니다. 여기에서는 단일 구성원이 있는 목록 열에서 셀 값을 가져왔습니다. 이 값을 제품과 일치시키고 모든 일치 값을 단일 셀에 표시했습니다.
공식은 다음과 같습니다.다음:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
공식 분석 :
-
EXACT(C5:C14,$F$5)
이 부분은 Range C5:14 의 어떤 값이 셀 F5 와 일치하는지 확인하고 TRUE 와 <3을 반환합니다>FALSE .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
이 부분은 TRUE .<1를 얻는 이름을 반환합니다>
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
마지막으로 각 이름 뒤에 쉼표를 사용하여 모든 이름을 결합합니다.
빠른 참고 사항
여기에 있는 모든 수식(두 번째 수식 제외)은 배열 수식입니다. 즉, 이 수식을 입력하려면 Enter 버튼만 누르는 대신 Ctrl+Shift+Enter 를 눌러야 합니다. 그러나 Office 365 사용자라면 Enter만 누르면 적용할 수 있습니다.
결론
이 문서에서는 셀에 목록의 특정 텍스트가 포함된 경우 값을 반환하는 다양한 경우에 대한 서로 다른 수식을 좁혔습니다. 문제에 대한 해결책을 찾을 수 있기를 바랍니다. 제안이나 질문이 있으면 의견을 남겨주세요. 또한 블로그 를 방문하여 더 많은 기사를 볼 수 있습니다.