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

25

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

Предположим, что есть один короче, чем =IF(cond,1,0).

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

Ответы:

37

Вы можете сделать это путем кастинга. Функция int округляет до ближайшего целого числа. Если логическое значение находится в A1, формула будет:

=INT(A1)
dangowans
источник
Подобно этому, =ROUND(A1,0)делает то же самое в этом контексте.
dangowans
Или=CEILING(A1,1)
dangowans
Спасибо, актерский состав был "стандартным" способом, который я искал. Мне не пришло в голову попробовать это, я действительно ожидал, что это будет «тяжелее» ...
anol
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
SeanC
источник
@ fixer1234, это редактирование помогает?
SeanC
Я видел в Интернете этот --метод, но должен признать, что использование формулы INTгораздо более наглядно и элегантно. :)
love.by.Iesus
7

Умножьте это на «1». ех. True * 1 = 1 и False * 1 = 0.

Например, если ячейка A1 содержит логическое значение, в соседней ячейке введите формулу:

=A1*1

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

user142485
источник
Это не обязательно более читабельно, но это «короче», чем формула в вопросе.
dangowans
Это мило. Но значит ли это, что нет встроенной формулы для преобразования? Что-то вроде "BOOLVAL" или "BOOLINT"?
Anol
Это довольно полезно, но я искал более «правильное» решение, такое как @ dangowans, поэтому я приму его решение. Спасибо, в любом случае!
Anol
Оба ответа работают по одному и тому же принципу - применение числовой операции к логическому значению вернет числовой ответ.
Excellll