엑셀 -- 기호 알아보기 :: 논리값을 숫자로 변경하는 기호
요약
-- 기호(빼기 2개)는 논리값을 숫자로 강제 변환하는 기호입니다.
예: TRUE --> 1, FALSE → 0 로 강제변환합니다.
설명
엑셀은 기본적으로 논리값이 계산에 사용될 시, 이를 숫자로 변환하여 계산식에 반영합니다. 예를들어 아래와 같이 계산되는데요.
= TRUE * 1 '// 1*1 =1 로 계산됩니다.
= SUM(TRUE,FALSE,TRUE) '// 1+0+1=2 로 계산됩니다.
= SUM(TRUE,FALSE,TRUE) '// 1+0+1=2 로 계산됩니다.
하지만 SUMPRODUCT 함수는 이러한 논리값을 숫자로 변환하지 않고 논리값 그대로 계산식에 반영하게 됩니다. 즉, 논리값을 숫자로 강제 변환하는 작업이 필요한데요.

2020년 2월 이후 업데이트 된 최신버전의 오피스 365 부터는 이 문제가 해결되었습니다.
따라서 빼기기호 2개를 연달아 입력("--")하면, 논리값을 숫자로 강제 변환한 뒤 SUMPRODUCT 함수에 반영하게 됩니다. 예를들자면, --기호는 아래의 순서로 동작하게 됩니다.
=--("사과"="사과")
=--(TRUE)
=-(-1)
=1
=--(TRUE)
=-(-1)
=1
SUMPRODUCT를 사용하면 조건별 합계를 더욱 유동적으로 계산할 수 있습니다. SUMPRODUCT 함수를 사용하여 조건별 합계를 구하는 방법은 아래 영상강의로 자세히 설명해드렸습니다.
SUMPRODUCT 함수에서 -- 기호가 동작하는 원리
예를들어 아래 범위에 SUMPRODUCT 수식을 입력했다고 가정하겠습니다.
=SUMPRODUCT(--(MONTH(A1:A5)=2)*B1:B5)
A | B | |
1 | 2020/1/20 | 5 |
2 | 2020/2/3 | 10 |
3 | 2020/2/28 | 7 |
4 | 2020/3/1 | 12 |
5 | 2020/4/2 | 17 |
그럴 경우, SUMPRODUCT 함수는 아래의 순서로 계산됩니다.
=SUMPRODUCT(--(MONTH(A1:A5)=2)*B1:B5)
=SUMPRODUCT(--({1,2,2,3,4}=2)*{5,10,7,12,17})
=SUMPRODUCT(--({FALSE,TRUE,TRUE,FALSE,FALSE}*(5,10,7,12,17})
=SUMPRODUCT({0,1,1,0,0}*{5,10,7,12,17})
=(0*5) + (1*10) + (1*7) + (0*12) + (0*17)
= 17
=SUMPRODUCT(--({1,2,2,3,4}=2)*{5,10,7,12,17})
=SUMPRODUCT(--({FALSE,TRUE,TRUE,FALSE,FALSE}*(5,10,7,12,17})
=SUMPRODUCT({0,1,1,0,0}*{5,10,7,12,17})
=(0*5) + (1*10) + (1*7) + (0*12) + (0*17)
= 17
-- 기호의 사용법, 아주 쉽죠?^^ 이외에 궁금하신 내용은 아래 댓글로 남겨주세요!