Возьмите следующую таблицу. Если я хочу сделать SUMPRODUCT с условием,

=SUMPRODUCT($A$1:$A$5,$B$1:$B$5,--($C$1:$C$5="b"))
дает правильный ответ 38 (ячейка A7). Я понимаю - () конвертирует логические значения в 1 и 0.
Q1
=SUMPRODUCT($A$1:$A$5,$B$1:$B$5,IF($C$1:$C$5="b",1,0))
дает # ЗНАЧЕНИЕ (ячейка A8). Но когда я проверяю аргументы, Excel показывает, что третий аргумент успешно оценивается как 1 и 0. Так что же пошло не так, что показывается #VALUE?

Q2
=SUMPRODUCT($A$1:$A$5,$B$1:$B$5,$C$1:$C$5="b")
оценивается как 0 (ячейка A9). Это означает, что Excel обрабатывает все логические значения как 0, если вы не конвертируете их в числа. Есть ли какая-то конкретная причина для этого?
Q3 Кроме использования - () (потому что поначалу это не кажется мне интуитивно понятным), есть ли другой способ преобразования массива логических значений в 1 и 0? Точнее, какие-нибудь функции, чтобы формула выглядела проще для понимания?