Используйте SUMPRODUCT, когда поле не заполнено формулой и датами. - PullRequest
0 голосов
/ 25 января 2020

У меня есть два столбца в моем Excel, Date 1 в A и Date 2 в B. Я пытаюсь определить, сколько раз столбец B больше, чем столбец A. Я использую формулу =SUMPRODUCT(((B2:B5-$A$2:$A$5)>0)*1) и получаю сообщение об ошибке. Ошибка связана с тем, что данные в столбце B извлекаются из формулы, где my value_if_false равно "". Пока ячейка пуста, Excel воспринимает это как данные и не будет выполнять мою первоначальную формулу.

Blank Error

Если я go до B4 и удаляю значение, мой исходный SUMPRODUCT будет выполнен. Я бы не хотел возвращаться и делать это. Я пытался =SUMPRODUCT((NOT(ISBLANK(B2:B5-$A$2:$A$5)>0))*1), но он возвращает 0. Есть предложения?

Ответы [ 3 ]

2 голосов
/ 25 января 2020

Попробуйте следующую формулу массива:

{=SUMPRODUCT((IF(IFERROR(VALUE(B2:B5);FALSE); B2:B5;0)>$A$2:$A$5)*1)}

Формула массива после редактирования подтверждается нажатием ctrl + shift + enter

enter image description here

0 голосов
/ 25 января 2020

Я думаю, что если вы хотите придерживаться SUMPRODUCT и избегать ввода в массив, вы можете попробовать

=SUMPRODUCT((B2:B5<>"")*(B2:B5>A2:A5))

или исключить что-либо, кроме числа (которое в этом случае будет отформатировано как дата)

=SUMPRODUCT(ISNUMBER(B2:B5)*(B2:B5>A2:A5))

возможно лучше.

enter image description here

B4 содержит "", not = "".

0 голосов
/ 25 января 2020

Запись "" (nul string) в ячейку, которая должна содержать число (например, дату), никогда не будет хорошей идеей, потому что это приводит к проблемам, подобным этой. Решение состоит в том, чтобы не записывать строку (текст) в поле цифр c. Вместо этого напишите ноль, а затем обработайте отображение нулей с помощью глобальных настроек или форматирования ячеек.

Конечно, любая дата будет больше нуля. Если это приводит к неправильному подсчету, очевидным выходом из положения может быть повторный подсчет случаев, в которых задействован ноль, и вычитание результата второго подсчета из первого, например, SUMPRODUCT (1) -SUMPRODUCT (2)

...