HAS 함수를 사용하면 배열이나 범위에 값이 있는지 검사할 수 있습니다. 값이 발견되면 TRUE를 반환하고 찾지 못하면 FALSE를 반환합니다.
HAS는 중첩된 배열의 모든 수준을 검색하므로 단일 셀 내에 저장된 배열에서 사용할 수 있습니다.
구문
HAS 함수는 배열에 값이 있는지 확인합니다.
HAS 함수의 구문은 다음과 같습니다.
HAS(array, value)
| 인수 | 설명 |
|---|---|
|
array (필수) |
검색할 배열 또는 범위입니다. 중첩된 배열의 모든 수준이 검색됩니다. |
|
값 (필수) |
검색할 값 또는 값의 배열입니다. |
참고
- 비교는 형식에 대해 엄격합니다. 숫자 1이 텍스트 "1"과 일치하지 않으며 숫자 1이 TRUE와 일치하지 않습니다. 여러 형식을 비교해야 하는 경우 먼저 값을 변환합니다(예: VALUE 함수를 사용).
- 텍스트 비교는 대/소문자를 구분하지 않으므로 "apple"은 "APPLE"과 일치합니다.
- value가 배열이면 HAS는 value와 모양이 같은 TRUE 및 FALSE 결과의 배열을 반환합니다. 각 값은 자체적으로 테스트됩니다.
- 배열이 비어 있으면 HAS는 #CALC! 오류를 반환합니다.
- 값에 오류가 있으면 해당 오류가 반환됩니다.
- 단일 TRUE 또는 FALSE 답변으로 여러 값을 한 번에 검사하려면 HASANY 또는 HASALL을 사용합니다.
예제
예제 데이터를 복사하여 새 Excel 워크시트의 A1 셀에 붙여넣습니다. 필요한 경우 열 너비를 조정하면 데이터를 모두 표시할 수 있습니다.
예제 1
범위에 특정 값이 포함되어 있는지 확인합니다.
| 데이터 | ||||
|---|---|---|---|---|
| 10 | 20 | 30 | 40 | 50 |
| 수식 | 질문 |
|---|---|
| =HAS(A2:E2,30) | 목록에 30개가 있습니까? |
| =HAS(A2:E2,99) | 목록에 99가 있습니까? |
다음 그림에서는 결과를 보여 줍니다.
예제 2
한 번에 여러 값을 확인합니다. 두 번째 인수는 배열이므로 HAS는 검색한 값과 같은 모양의 값당 하나의 결과를 반환합니다.
| 데이터 | ||
|---|---|---|
| 1 | 2 | 3 |
결과가 분산될 수 있도록 두 번째 수식 아래에 두 개의 빈 셀을 남겨 둡니다.
| 수식 | 설명 |
|---|---|
| =HAS(A2:C2,{{2,5}}) | 중첩 배열 {TRUE,FALSE}를 포함하는 단일 셀을 반환합니다. |
| =HAS(A2:C2,{2; 5; 3}) | TRUE, FALSE, TRUE를 반환하며 세 개의 셀로 분산되어 값당 하나의 결과 |
다음 그림에서는 결과를 보여 줍니다.
예제 3
중첩된 배열 내에서 검색합니다. 전체 표를 복사하여 새 워크시트의 A1 셀에 붙여넣습니다. A2의 수식은 단일 셀에 중첩된 배열을 저장합니다.
| 데이터 | |
|---|---|
| ={{{1,2};{3,4}}} | |
| 수식 | 설명 |
| =HAS(A2,3) | TRUE를 반환합니다. HAS는 모든 레벨을 검색하므로 내부에 3이 있습니다. {3,4} |
| =HAS(A2,5) | FALSE를 반환합니다. 중첩된 배열의 수준에 5가 포함되지 않습니다. |
다음 그림에서는 결과를 보여 줍니다.