rand(life)

1일1함수(8) : IS 함수 (셀의 유형확인하기) 본문

컴퓨터/엑셀

1일1함수(8) : IS 함수 (셀의 유형확인하기)

flogsta 2009. 3. 28. 19:54
오늘은 값 또는 참조 유형을 검사할 때 사용하는 9개의 IS 함수를 설명합니다.


ISBLANK 값이 빈 셀을 참조하는 경우
ISERR 값이 #N/A를 제외한 오류 값을 참조하는 경우
ISERROR 값이 임의의 오류 값(#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!)을 참조하는 경우
ISLOGICAL 값이 논리값을 참조하는 경우
ISNA 값이 #N/A(사용할 수 없는 값) 오류 값을 참조하는 경우
ISNONTEXT 값이 텍스트가 아닌 항목을 참조하는 경우. 이 함수는 값이 빈 셀을 참조하는 경우에 TRUE를 반환합니다.
ISNUMBER 값이 숫자를 참조하는 경우
ISREF 값이 참조를 참조하는 경우
ISTEXT 값이 텍스트를 참조하는 경우

위에서 보는 것처럼, 뒤의 괄호속에 들어있는 셀의 값이 어떤 유형인지를 검사하는 함수입니다.

각각의 함수가 구체적으로 어떻게 활용될 수 있는지는 차차 하기로하고, 오늘은 ISERROR함수를 이용하는 예를 한가지 살펴보겠습니다.

방과후학교를 신청한 학생들의 명단이 "신청자"시트에 있습니다.



그리고 제가 3반 담임이라고 가정했을때, 우리반 학생들의 명렬표를 "3반"시트에 복사해 넣고, 우리반 학생들이 무슨 강좌를 신청했는지 알아보기 위해 VLOOKUP함수를 사용했습니다.



수식은 다음과 같습니다. 이해 안되는 분은 이전의 VLOOKUP함수 강좌를 참고하세요.

=VLOOKUP(B2,SHEET1!$C$2:$D$11,2,FALSE)

그런데 3번과 5번학생의 셀에서 오류가 납니다. 즉, 3번과 5번 학생은 "신청자"시트에 이름이 없기에 VLOOKUP함수에서 그 이름을 찾지 못하고 오류 메시지를 출력한 것입니다. 따라서 이 학생들은 방과후학교를 신청하지 않았으므로 다음 그림처럼 "미신청"이라고 표시하고 싶습니다.


이럴때는 다음 수식을 사용합니다.

=IF(ISERROR(VLOOKUP(B2,신청자!$C$2:$D$11,2,FALSE)),"미신청",VLOOKUP(B2,신청자!$C$2:$D$11,2,FALSE))

 =IF 만약에
 (ISERROR  다음 식이 오류를 출력한다면
 (VLOOKUP(B2,신청자!$C$2:$D$11,2,FALSE)),  신청자시트에서 B2셀의 값을 찾아 두번째 셀값을 정확히 보여주는 함수
 "미신청",  미신청이라고 표시하고
 VLOOKUP(B2,신청자!$C$2:$D$11,2,FALSE))  오류가 아니라면, 그 함수 그대로 값을 출력하라

VLOOKUP부분의 함수를 두 번 써줘야하기 때문에 길이가 많이 길어졌습니다. 저 같으면 귀찮기때문에 그냥 #N/A 오류 그대로 놔두고 이 학생들은 미신청한 학생이라고 생각해버릴 가능성이 많습니다만, 깔끔한 걸 좋아하시는 상사분을 만나면 그렇게 해드려야죠 ^^;

2009/03/18 - [컴퓨터/엑셀] - 1일1함수(2) : VLOOKUP 세로방향 데이터 목록에서 값 가져오기