1일1함수 (21) N함수 : 각종 값을 숫자로 변환한다.

N함수는 각종 값을 숫자로 변환시켜줍니다. 다양한 데이타 서식을 하나로 통일시켜 준다는 점에서 T함수와 유사합니다. (참고로, T함수는 각종 값을 텍스트로 변환시켜줍니다)


N(value)
value  변환할 값입니다. N 함수를 사용하여 변환되는 값은 다음과 같습니다.
값 또는 참조결과
숫자같은 숫자
Microsoft Excel에서 사용할 수 있는 기본 제공 날짜 형식 중 하나를 사용하는 날짜해당 날짜의 일련 번호
TRUE1
FALSE0
오류 값(예: #DIV/0!)오류 값
기타0

주의
  • 일반적으로 Excel에서는 필요에 따라 값이 자동으로 변환되므로 수식에서 N 함수를 사용할 필요가 없습니다. 이 함수는 다른 스프레드시트 프로그램과의 호환을 위해 제공됩니다.
  • 날짜는 계산에 사용할 수 있도록 순차적인 일련 번호로 저장됩니다. 기본적으로 1900년 1월 1일이 일련 번호 1이고, 2008년 1월 1일은 1900년 1월 1일에서 39,448일째 날이므로 일련 번호 39448이 됩니다. Macintosh용 Microsoft Excel에서는 기본적으로 다른 날짜 체계가 사용됩니다.


아래는 지난 시간에 언급했던 다중답의 개수를 구하는 수식입니다. 

=SUMPRODUCT(N(LEN(INDIRECT("C"&MATCH("유형",A:A,0)+2&":C"&MATCH("주관식",A:A,0)-1))>1)) : 원래버전
=SUMPRODUCT(N(LEN($C$9:$C$38)>1))  : 간편버전

둘 다 N함수가 들어있습니다. 여기서 N함수는 논리값을 숫자0,1로 변환시켜주는 일을 합니다. 이전에 다중 조건의 개수를 구하는 수식은 COUNTIFS로 구할 수도 있고 SUMPRODUCT로 구할수도 있다고 했었지요?

즉, 
SUMPRODUCT((국어>=90)*(수학(>=90))
 
이라는 수식은 국어점수가 90점 이상이면서 동시에 수학점수도 90점이상인 학생의 수를 구하는 수식입니다. 그런데 만약 국어점수가 90점 이상인 학생의 수만 구한다면 어떻게 될까요?

SUMPRODUCT(국어>=90)

이렇게 되겠지요? 그런데, SUMPRODUCT함수에서 조건이 두 가지 이상이 아니라 한가지 조건만 주어지고, 그 조건에 맞는 개수를 구할때는 N함수를 붙여주는 것이 오류발생을 줄인다고 합니다.




실제로, 위의 수식을 적용해보면, 90점 이상 학생수는 0으로 나옵니다. 그래서,






















N함수를 앞에 붙여서 사용하면 제대로 된 결과가 나옵니다.





















결과값이 나오기까지의 계산과정을 표현해 보았습니다. B2에서 B11까지의 셀값들이 90점 이상이라는 조건에 대해 참 거짓을 판명해보면 C열과 같습니다. N함수는 TRUE를 1로, FALSE를 0으로 만들어준다고 했으므로, D열과 같은 값이 되며, 그것의 합계가 바로 최종 결과값인 4가 됩니다. 

N함수 대신에 1을 곱하거나 -1을 두번곱하는 의미의 기호(--)를 삽입하여 간편하게 만들기도 합니다.

=SUMPRODUCT(1*(B2:B11>=90))
=SUMPRODUCT(--(B2:B11>=90))



댓글

이 블로그의 인기 게시물

중복된 텍스트 제외하고 고유 텍스트 개수 세기

1일1함수 (12) sumproduct함수 - 동점일때 다른 기준으로 순위매기기

한 폴더 안의 모든 파일에서 특정 시트 복사해오는 vba