Я ни в коем случае не слишком опытен с Excel, я знаю достаточно, чтобы сделать основы.

После долгих поисков на форуме и в душе я придумал следующую формулу, в которой я расскажу, что она должна делать. (Похоже, что он отлично работает в Office 2010, но не работает вообще в 2003 году, что мне неизвестно, что файл должен быть отформатирован)

=SUMPRODUCT(--(Deploy!T3:Deploy!T60<=TODAY()),--(Deploy!T3:Deploy!T60>(EDATE(TODAY(),-12))))

Deploy является именем листа, ячейки T3-T60 являются ячейками расчета. Формула рассчитывает количество ячеек, попадающих в диапазон дат за 1 год до сегодняшней даты.

Если кто-то сможет найти упрощенную версию формулы, это будет очень ценно, так как я использую эту формулу и несколько ее модифицированных версий (в основном, изменения месяца) по всей таблице.

2 ответа2

2

Я попробовал вашу формулу в Excel 2003, и она работает для меня - SUMPRODUCT и TODAY являются встроенными функциями в Excel 2003, но EDATE является частью Analysis ToolPak - если у вас не установлена эта надстройка, то вы, вероятно, получить # ЗНАЧЕНИЕ! ошибка.

Попробуйте включить Analysis ToolPak

Инструменты> надстройки> установите флажок "Analysis ToolPak". Возможно, вам придется повторно ввести формулу.

Если это не сработает или вы не хотите или не можете устанавливать надстройки, вы можете получить дату за 12 месяцев с помощью этой формулы

=DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY()))

.... или вы можете просто использовать TODAY()- 365 (хотя это, очевидно, менее точно, потому что это не учитывает високосные годы)

так что это будет либо

=SUMPRODUCT(--(Deploy!T3:T60<=TODAY()),--(Deploy!T3:T60>DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY()))))

или просто

=SUMPRODUCT(--(Deploy!T3:T60<=TODAY()),--(Deploy!T3:T60>TODAY()-365))

Если вы по-прежнему получаете ошибки, возможно, у вас есть ошибки в диапазоне данных Deploy!T3:T60 . Если это так, то альтернативный подход состоит в том, чтобы вычесть одну функцию COUNTIF из другой. Это помогает, потому что COUNTIF будет игнорировать ошибки в данных, формула будет

=COUNTIF(Deploy!T3:T60,"<="&TODAY())-COUNTIF(Deploy!T3:T60,"<="&DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY())))

0

Предполагая, что ваши даты отформатированы как Даты (не даты + время), и вы не против иметь дополнительный столбец, вы можете попробовать это:

  • Ячейка B2 содержит сегодняшнюю дату =TODAY() .
  • Ячейки B5-B11 содержат даты, которые вы хотите посчитать.
  • Ячейки C5-C11 содержат разницу между сегодняшней датой и датами в вашем списке, рассчитанную как вычитание B5-$B$2 .
  • Ячейка C13 содержит формулу `= COUNTIF(C5:C13," <365 ")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .