#excel #excel-formula
Вопрос:
У меня есть набор данных, близкий к 2000, в файле Excel. У меня есть два поля даты. Мне нужно получить счетчик в поле даты один на основе разных диапазонов дат, однако, если поле даты одно пустое, мне нужно использовать поле даты два для добавления в счетчик. Я не знаю, как это сделать. Я уверен, что это можно сделать с помощью какого-то заявления if, но в настоящее время я в растерянности
Вот пример подсчета только одного столбца. Как я могу сказать «если A3 пустой, используйте B3»?
=COUNTIF('TABNAME'!A1:A2000,"<="amp;TODAY()-365)
Ответ №1:
Вы можете попробовать SUMPRODUCT
:
=SUMPRODUCT(--(((A:A<=TODAY()-365)*(A:A<>"") (A:A="")*(B:B<>"")*(B:B<=TODAY()-365))>=1))
Объяснение:
Часть (A:A<=TODAY()-365)*(A:A<>"")
подсчитывает непустые ячейки в столбце A, где дата меньше, чем год назад.
Часть (A:A="")*(B:B<>"")*(B:B<=TODAY()-365)))
подсчитывает непустые ячейки в столбце B, где ячейка в столбце A пуста, а дата в столбце B меньше, чем год назад.
Суммируя обе части, мы получаем общее количество дат в соответствии с вашими условиями (я надеюсь).
--
преобразует значение bool в значение int, чтобы SUMPRODUCT
суммировать его, но вы можете игнорировать эту часть, так как формула работает без нее и >=1
=SUMPRODUCT(((A:A<=TODAY()-365)*(A:A<>"") (A:A="")*(B:B<>"")*(B:B<=TODAY()-365)))
Комментарии:
1. Мне трудно понять, что мы делаем с этим. Можете ли вы это объяснить? Кроме того, почему
--
в начале формулы? Для чего это?2. @WeVie см. правку
3. Спасибо. Вот еще один излом. Что, если мне нужны даты, скажем, от 364 до 300 дней?
4. Кстати, формула, похоже, требует тонны обработки. Это приводит к сбою Excel, и я продолжаю получать сообщение о «циклическом чем-то или другом».
5. @WeVie если вы получаете ошибку круговой ссылки, вы, очевидно, помещаете эту формулу в
A
B
столбец или. Попробуйте изменить ссылку на полный столбец на определенный диапазон — скажемA:A
, наA1:A2000
иB:B
наB1:B2000
. Это также поможет со скоростью расчета.