부울 값을 {0, 1}로 변환하는 Excel 수식


25

부울 값을 변환 할 수있는 Excel 수식 무엇 {FALSE, TRUE}에가 {0, 1}?

보다 짧은 것이 있다고 가정합니다 =IF(cond,1,0).


1
흥미롭게도 =a1+a2논리의 숫자 합을 반환하지만 =sum(a1:a2)그렇지 않습니다. Excel 2013.
Carl Witthoft

답변:


37

캐스팅하면 가능합니다. "int"함수는 가장 가까운 정수로 반올림합니다. 부울 값이 A1에 있으면 수식은 다음과 같습니다.

=INT(A1)

이와 유사하게이 =ROUND(A1,0)맥락에서 동일한 작업을 수행합니다.
dangowans

또는=CEILING(A1,1)
dangowans

고맙게도, 캐스트는 내가 찾던 "표준"방식이었습니다. 그것을 시도하는 것은 일어나지 않았다. 나는 그것이 실제로 "더 단단하다"고 기대하고 있었다.
anol

13

--부울을 int로 변환하는 가장 일반적인 방법 --입니다. 바로 이런 이유로 함수가있는 함수를 보는 이유입니다. {TRUE, FALSE, FALSE}의 배열을 {1,0,0}으로 바꾸어 다른 배열을 곱하는 데 사용할 수 있습니다.

예:

9 개 이하의 지역에서 총 매출을 반환 :

팀 영업
1 달러
2 $ 30
11 $ 90

공식:

=SUMPRODUCT(--(A2:A4<=9),B2:B4)

계산

=SUMPRODUCT(--(True,True,False),($20,$30,$90))
=SUMPRODUCT((1,1,0),($20,$30,$90))
=1 * $20 + 1 * $30 + 0 * $90
=$20 + $30 + $0
=$50

@ fixer1234, 편집이 도움이 되나요?
SeanC

나는 웹에서 --방법을 보았지만 공식을 사용하는 INT것이 훨씬 명확하고 우아 하다는 것을 인정해야합니다 . :)
loved.by.Jesus

7

'1'을 곱하십시오. 전의. True * 1 = 1 및 False * 1 = 0

예를 들어 A1 셀에 부울 값이 포함되어 있으면 이웃 셀에 다음 수식을 입력하십시오.

=A1*1

참고 : --True, True + 0 및 True / 1은 동일한 효과를 갖습니다.


이것은 반드시 더 읽기 쉬운 것은 아니지만 질문의 공식보다 "짧습니다".
dangowans

좋습니다. 그러나 전환에 대한 기본 제공 수식이 없다는 것을 의미합니까? "BOOLVAL"또는 "BOOLINT"와 같은 것?
anol

그것은 매우 유용하지만 @dangowans와 같은 더 "적절한"솔루션을 찾고 있었으므로 그의 솔루션을 받아 들일 것입니다. 어쨌든 고마워!
anol

두 대답 모두 같은 원리로 작동합니다. 숫자 연산을 부울 값에 적용하면 숫자 답변이 반환됩니다.
Excellll September
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.