Преобразование формулы Excel 2010 в Excel 2003

Преобразование формулы Excel 2010 в Excel 2003

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

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

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

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

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

решение1

Я попробовал вашу формулу в 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())))

решение2

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

введите описание изображения здесь

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

Связанный контент