HASANY 함수를 사용하면 배열이나 범위에 원하는 값이 하나 이상 포함되어 있는지 검사할 수 있습니다. 값이 발견되면 TRUE를 반환하고 없으면 FALSE를 반환합니다.
HASANY는 중첩된 배열의 모든 수준을 검색하므로 단일 셀 내에 저장된 배열에서 사용할 수 있습니다.
구문
HASANY 함수는 배열에 값이 포함되는지 여부를 확인합니다.
HASANY 함수의 구문은 다음과 같습니다.
HASANY(array, values)
| 인수 | 설명 |
|---|---|
|
array (필수) |
검색할 배열 또는 범위입니다. 중첩된 배열의 모든 수준이 검색됩니다. |
|
값 (필수) |
검사할 값입니다. HASANY는 하나라도 발견되면 TRUE를 반환합니다. |
참고
- HASANY는 검색하는 값의 수에 관계없이 항상 단일 TRUE 또는 FALSE를 반환합니다. 값당 하나의 결과를 얻으려면 대신 HAS 함수를 사용합니다. 모든 값이 존재하도록 요구하려면 HASALL 함수를 사용합니다.
- 비교는 형식에 대해 엄격합니다. 숫자 1이 텍스트 "1"과 일치하지 않으며 숫자 1이 TRUE와 일치하지 않습니다. 텍스트 비교는 대/소문자를 구분하지 않으므로 "apple"은 "APPLE"과 일치합니다.
- 배열이 비어 있으면 HASANY가 #CALC! 오류를 반환합니다.
- 값에 오류가 있으면 해당 오류가 반환됩니다.
예제
예제 데이터를 복사하여 새 Excel 워크시트의 A1 셀에 붙여넣습니다. 필요한 경우 열 너비를 조정하면 데이터를 모두 표시할 수 있습니다.
예제 1
범위에 여러 값 중 하나 이상이 포함되어 있는지 확인합니다.
| 데이터 | ||||
|---|---|---|---|---|
| 10 | 20 | 30 | 40 | 50 |
| 수식 | 질문 |
|---|---|
| =HASANY(A2:E2,{20,99}) | 목록에 20이나 99가 있나요? |
| =HASANY(A2:E2,{7,8,9}) | 목록에 7, 8 또는 9가 있습니까? |
| =HASANY(A2:E2,30) | 목록에 30개가 있습니까? |
다음 그림에서는 결과를 보여 줍니다.
예제 2
중첩된 배열 내에서 검색합니다. A1 셀의 ={{{1,2};{3,4}}} 수식은 중첩된 배열을 단일 셀에 저장합니다.
| 수식 | 설명 |
|---|---|
| =HASANY(A1,{2,5}) | TRUE를 반환합니다. HASANY는 모든 레벨을 검색하므로 내부에서 2가 발견됩니다. {1,2} |
| =HASANY(A1,{5,6}) | FALSE를 반환합니다. 두 값 모두 어떤 수준에도 나타나지 않습니다 |
다음 그림에서는 결과를 보여 줍니다.
예제 3
태그 목록을 확인합니다. B 열의 각 셀에는 쉼표로 구분된 태그 목록이 포함되어 있습니다.
데이터를 붙여넣은 후 B2:B4를 선택하고 Ctrl+J 를 눌러 각 셀을 목록으로 변환합니다. 이렇게 하기 전에는 각 셀에 단일 텍스트가 포함되며 아래 수식에서는 개별 태그를 찾을 수 없습니다.
| 항목 | 태그 |
|---|---|
| 제품 A | 긴급, 검토, Q1 |
| 제품 B | 배송됨, 2분기 |
| 제품 C | 긴급, Q2 |
| 수식 | 설명 |
|---|---|
| =HASANY(B2,{"긴급","차단"}) | TRUE를 반환합니다. 제품 A가 긴급 태그가 지정되었습니다. |
| =HASANY(B3,{"긴급","차단"}) | FALSE를 반환합니다. 제품 B에는 두 태그가 모두 없습니다. |
| =HASANY(B2:B4,"배송됨") | TRUE를 반환합니다. 세 셀이 모두 하나의 컬렉션으로 검색됩니다. |
참고
배열은 하나씩 테스트할 항목 목록이 아니라 단일 컬렉션이므로 마지막 수식은 전체 범위를 한 번에 검색합니다. 각 행에 대해 별도의 답변을 얻으려면 한 셀에 수식을 입력하고 열에 채웁니다.
다음 그림에서는 결과를 보여 줍니다.