Мой countif будет работать только с жестко закодированными критериями даты, а не когда он динамический, поэтому =today()-365

Я использую Excel 2003 SP3.

Я пытаюсь подсчитать даты в столбце более года назад, поэтому я пытаюсь:

=COUNTIF(Library!G9:G10000,"<=today()-365")

Но это дает мне 0, когда есть 1. Как ни странно, если я жестко запрограммирую дату 1 год назад, таким образом:

=COUNTIF(Library!G9:G10000,"<=16/05/2012")

тогда он работает нормально.

Не знаю, важно ли это, потому что мой диапазон (Library!G9:G10000) включает некоторое текстовое значение, например. "Неизвестно"
Надеюсь, кто-нибудь поможет.


person user2390698    schedule 16.05.2013    source источник


Ответы (2)


Это не сработает, так как today() - это функция, и она у вас строковая, поэтому excel просто интерпретирует ее как текст.

Альтернатива, которая будет работать,

=SUM(IF(Library!G9:G10000<TODAY()-365,1,0))

Это формула массива, и вам потребуется нажать Ctrl+Shift+Enter, а не просто Enter, когда вы закончите вводить ее.

Ваше редактирование усложняет задачу. Если в диапазоне также есть текст или пустые ячейки, используйте

=SUM(IF(ISNUMBER(Library!G9:G10000),IF(Library!G9:G10000<TODAY()-365,1,0),0))

Опять же, это формула массива.

person Bathsheba    schedule 16.05.2013
comment
Спасибо за быстрый ответ. По какой-то причине он считает пустые строки, как если бы они соответствовали критериям, результат 9985, а не 2! Вы можете помочь? - person user2390698; 16.05.2013
comment
Только что видел то же самое от pnuts, любая помощь с этим? - person user2390698; 16.05.2013
comment
Уверены ли вы? Даже с более длинной формулой, которую я даю? Пустая ячейка возвращает false для IsNumber - person Bathsheba; 16.05.2013
comment
Bathesheba, да, он считает только строки, в которых дата указана год назад. Как я могу заставить его подсчитывать строки, содержащие Неизвестно? - person user2390698; 17.05.2013
comment
Является ли Неизвестный единственным случаем, когда вы хотите, чтобы он учитывался, или вы хотите учитывать и другой текст? Я думаю, вы хотите посчитать любой текст, но не учитывать пустые ячейки; это правильно? - person Bathsheba; 17.05.2013

Другой альтернативой будет...

=COUNTIF(Library!G9:G10000,"<="&TODAY()-365)

...вводится как обычная формула (в отличие от формулы массива).

person Brian Camire    schedule 16.05.2013