메뉴

엑셀 -- 기호 (논리값을 숫자로 바꾸는 기호)

by 오빠두엑셀
읽는 시간 3분 최종 수정 2026.08.13

빼기를 두 번 연달아 쓰면 TRUE는 1, FALSE는 0으로 바뀝니다. 논리값을 그대로 두는 SUMPRODUCT 함수에서 조건을 셀 때 필요합니다.

수식에서 -- 를 만나면 오타처럼 보이지만, 이것은 TRUE·FALSE 를 1·0 으로 바꾸는 기호입니다. 특히 SUMPRODUCT 로 조건별 합계를 구할 때 빠지지 않고 등장합니다.

-- 기호의 비밀 논리값→숫자 변환 — TRUE/FALSE 같은 논리값을 1/0 숫자로 바꾸는 -- 기호를 설명합니다

왜 필요한가요

엑셀은 논리값이 계산에 쓰이면 알아서 숫자로 바꿔 줍니다.

= TRUE * 1              '// 1 * 1 = 1
= SUM(TRUE, FALSE, TRUE) '// 1 + 0 + 1 = 2

그런데 SUMPRODUCT 함수는 논리값을 숫자로 바꾸지 않고 그대로 받습니다. 그래서 조건식의 결과를 직접 숫자로 만들어 줘야 합니다.

SUMPRODUCT 수식 안에서 -- 기호로 논리값을 숫자로 바꾼 예시
SUMPRODUCT 에 들어가는 논리값은 숫자로 바꿔 줘야 합니다.
오빠두Tip : 2020년 2월 이후 업데이트된 Microsoft 365 에서는 SUMPRODUCT 가 논리값을 자동으로 변환하도록 개선되어 -- 없이도 계산됩니다. 다만 이전 버전과 파일을 주고받는다면 붙여 두는 편이 안전합니다.

어떻게 동작하나요

빼기를 두 번 하면 부호가 두 번 뒤집혀 원래 값으로 돌아옵니다. 그 과정에서 사칙연산이 일어나므로 논리값이 숫자로 바뀝니다.

= --("사과" = "사과")
= --(TRUE)
= -(-1)
= 1

SUMPRODUCT 에서의 계산 순서

아래 표에서 2월에 해당하는 값만 더하는 수식을 예로 들어 보겠습니다.

=SUMPRODUCT(--(MONTH(A1:A5)=2)*B1:B5)
행 A (날짜) B (값)
1 2020-01-20 5
2 2020-02-03 10
3 2020-02-28 7
4 2020-03-01 12
5 2020-04-02 17

수식은 다음 순서로 계산됩니다.

=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

조건에 맞는 행만 1이 되고 나머지는 0이 되므로, 곱한 뒤 더하면 조건에 맞는 값의 합계가 남습니다.

참고 문서

관련 게시글
댓글 6
5 (6개 평가)
엑린이
엑린이 2020.04.22 23:29
감사합니다
Barova
Barova 2020.07.06 18:18
좋은 정보 감사합니다.
흐르는물
흐르는물 2022.03.13 21:27
작동원리가 이런 거였군요!
감사합니다.
고구마
고구마 2022.07.05 21:44
계산 과정을 설명해주시니 이해하기 쉽네요. 감사
cana****
cana**** 2023.09.21 10:29
세상에... 좋은 걸 배웠습니다. 감사합니다!
강민준🤗
강민준🤗 2024.08.10 13:56
좋은 강의 감사합니다.
스크랩 완료