21

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

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

3 ответа3

34

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

=INT(A1)
13

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

Пример:

Возвращая общий объем продаж из региона, который составляет 9 или ниже:

Team    Sales
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
7

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

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

=A1*1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .