Я пытаюсь подсчитать количество строк, соответствующих различным условиям, поэтому я использую формулу массива в форме
=SUM(IF(...,1,0))
Чтобы приступить к его построению, я сначала посчитал количество записей, которые мне необходимо рассмотреть:
=SUM(IF(ISNUMBER(A:A),1,0))
И я получаю ожидаемый результат (некоторое ненулевое значение). Итак, затем я начинаю заполнять всю мою логику, и ее поведение не имеет смысла для меня. Например:
=SUM(IF(AND(ISNUMBER(A:A),TRUE()),1,0))
Возвращает 0. Черт, даже это возвращает 0:
=SUM(IF(AND(ISNUMBER(A:A)),1,0))
Просто для удовольствия, я попробовал это:
=SUM(IF(OR(TRUE(),ISBLANK(A:A)),1,0))
И это 1 вместо 1048576. Таким образом, независимо от того, используете ли вы И или ИЛИ, это означает, что он либо возвращает 0, либо 1 каждый раз соответственно (я также проверял порядок ссылки на ячейку в функциях ИЛИ и И).
Это выглядит как недостаток, так как другие сложные формулы, такие как эта работа, как и ожидалось:
=SUM(IF(ISNUMBER(SEARCH("MagicString",A:A)),1,0))
Итак, как мне использовать нетривиальную условную логику для подсчета строк?
PS Использование Office 2013
PPS Автоматическая оценка отключена, и я удостоверился, что нажал F9, чтобы обновить вычисления.