엑셀 ISNA 함수는 값 또는 수식에 #N/A 오류가 발생했을 때만 오류로 인식합니다. #N/A 오류는 찾는 값이 없을 때 발생하므로 ISNA 함수를 사용하면 찾는 값이 없을 때 오류 대신 '찾는 값이 없음'등 원하는 텍스트를 표시할 수 있습니다.
구문(Syntax)
ISNA(value)
값에 #N/A 오류가 있으면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환한다.
인수 : value – #N/A 오류인지 확인할 값
사용 예
1) #N/A 오류일 때만 TRUE, 그 외는 FALSE로 표시
아래에서 [C10] 셀에 입력된 '=VLOOKUP(1,B6:D6,1,FALSE)' 수식은 범위에서 찾는 값 1이 없으므로 #N/A 오류가 발생합니다.
ISNA 함수로 [C10] 셀을 확인해보면 #N/A만 오류로 인식하므로 TRUE를 반환합니다.
=ISNA(C10) => TRUE
10행을 제외한 나머지 행의 오류는 오류로 인식하지 않으므로 전부 FALSE를 반환합니다.
(참고) #N/A 오류를 오류로 인식하지 않는 ISERR 함수로 [C10] 셀을 확인해보면 FALSE를 반환합니다.
=ISERR(C10) => FALSE
2) 찾는 값이 없을 때 오류 처리
아래 [B27] 셀에는 사원 정보에 없는 사번 9999가 입력되어 있습니다.
VLOOKUP 함수로 사번 9999에 해당하는 이름을 찾으면 찾는 값이 없으므로 #N/A 오류가 발생합니다. ISNA 함수로 VLOOKUP 함수의 결과를 확인해서 오류 대신 원하는 텍스트를 표시할 수 있습니다.
27행에 입력된 수식을 하나씩 확인해 보겠습니다.
[C27] 셀=VLOOKUP(B27,B18:D22,2,FALSE) => #N/A
사번 9999는 사원 정보에 없으므로 '찾는 값이 없음'을 뜻하는 #N/A 오류 발생 [D27] 셀
=ISNA(VLOOKUP(B27,B18:D22,2,FALSE)) => TRUE
ISNA 함수는 #N/A를 오류로 인식하므로 TRUE를 반환 [E27] 셀
=IF(ISNA(VLOOKUP(B27,B18:D22,2,FALSE)),"**찾는 값 없음**",VLOOKUP(B27,B18:D22,2,FALSE)) => '**찾는 값 없음**'
ISNA 함수는 #N/A를 오류로 인식하므로 IF 함수로 확인하여 오류일 경우에 '**찾는 값 없음**'을 반환
3) IF, ISNA 함수 대신 IFNA 함수로 오류 처리
IF 함수와 ISNA 함수를 조합하는 대신 다음과 같이 '#N/A 오류만 처리해 주는 IFNA 함수'를 사용하면 간단하게 오류처리를 할 수 있습니다.
=IFNA(VLOOKUP(B32,B18:D22,2,FALSE),"**찾는 값 없음**")
[ 정보 함수 ]