Формула Excel для перетворення булевих значень у {0, 1}


25

Яка формула Excel для перетворення булевих значень {FALSE, TRUE}у {0, 1}?

Припустимо, є одна коротша, ніж =IF(cond,1,0).


1
Цікаво, що =a1+a2поверне числову суму логіки, але =sum(a1:a2)не буде. Excel 2013.
Карл Віттофт

Відповіді:


37

Ви могли це зробити, роблячи кастинг. Функція "int" округляється до найближчого цілого числа. Якщо булеве значення знаходиться в A1, формула буде такою:

=INT(A1)

Подібно до цього, =ROUND(A1,0)те ж саме робить і в цьому контексті.
dangowans

Або=CEILING(A1,1)
dangowans

Дякую, акторський склад був "стандартним" способом, який я шукав. Мені не
прийшло в голову

13

--є найпоширенішим способом перетворення булевого типу в int - саме тому ви бачите функції, які є --в них саме з цієї причини. він перетворить масив {TRUE, FALSE, FALSE} в {1,0,0}, який може бути використаний для множення інших масивів

Приклад:

повернення загальних продажів з регіону, який становить 9 або нижче:

Продаж команди
1 $ 20
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'. колишній Істинно * 1 = 1 і хибне * 1 = 0.

Наприклад, якщо комірка A1 містить булеве значення, в сусідній комірці введіть формулу:

=A1*1

Примітка: --True, True + 0 та True / 1 мають однаковий ефект.


Це не обов'язково легше читати, але воно "коротше", ніж формула у питанні.
dangowans

Це мило. Але чи означає це, що немає вбудованої формули для перетворення? Щось на кшталт "BOOLVAL" чи "BOOLINT"?
анол

Це досить корисно, але я шукав більш "правильне" рішення, таке як @ dangowans's, тому я прийму його рішення. Все одно, дякую!
анол

Обидва відповіді працюють за одним принципом - застосуючи числову операцію до булевого значення, повернеться числовий відповідь.
Excellll
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.