2010-06-06 5 views
1

Как вы подвести переменный диапазон ячеек, основанный на сегодняшний день в MS Excel 2003.Sum переменная диапазон ячеек с помощью «сегодня» дата в качестве отправной точки

Формат таблицы:

Переменный диапазон = количество дней до суммы

Диапазон дат = указан в строке 1, 1 день на ячейку (пример A1 = 1/1/10, B1 = 1/2/10, C1 = 1/3/10 ....)

Цифры, подлежащие суммированию, перечислены в строке 2, номер X на ячейку (пример A2 = 8, B2 = 6, C2 = 1 .....)

Пример проблемы: IF переменная диапазон = 2 & Current Date = 1/2/10 тогда ... Сумма (b2: c2) = 7

Я могу суммировать всю строку на основании текущей даты, используя следующую формулу, но я не могу добавить переменный диапазон к функции sum. = SUMIF (A1: C1, «> =» & СЕГОДНЯ(), A2: C2)

ответ

1

Если предположить, что количество дней, сумма в А4 и даты вы хотите, чтобы начать сумму от в В4 попытки эта формула
= SUM (OFFSET ($ A $ 2,0, MATCH ($ B $ 4, $ 1: $ 1,0) -1,1, $ A $ 4))

0

Насколько я могу судить, существует нет возможности выполнять составные критерии внутри функции SUMIF. Вы можете, если это не запрещено, использовать дополнительный столбец для вычисления значения bool, чтобы определить, какие ячейки следует суммировать, и использовать существующий SUMIF для этих критериев.

т.е. $ A $ 5 = количество дней в этом случае Это предполагает, что, учитывая сегодняшнюю дату (6/21/2010) и $ A $ 5 = 2, что вы хотите, чтобы сумма всех значений в строке 2 которые относятся к числу дат 6/21/2010-6/23/2010.

A3 =IF(A1 >= TODAY(), IF(A1 <= TODAY()+$A$5, TRUE, FALSE), FALSE) 

Примечание: $ A $ 5 устанавливается в качестве абсолютной ссылки - эта функция будет безопасна для копирования B3 и C3.

Наконец, ваш SUMIF будет выглядеть следующим образом:

=SUMIF(A3:C3,TRUE,A2:C2) 
-1
DATE 1/1/2010 1/1/2010 1/1/2010 1/1/2010 1/1/2010 1/1/2010 1/1/2010 1/2/2010 1/2/2010 1/2/2010 1/2/2010 1/2/2010 1/2/2010 1/2/2010 
TIME 0:00 0:30 1:00 1:30 2:00 2:30 3:00 0:00 0:30 1:00 1:30 2:00 2:30 3:00 
NO 1 2 3 4 5 6 7 3 4 5 6 7 8 9 


      VARIABLE RANGE 6         
      DATE 1/1/2010          
      TIME 2:00          

      ANS SHOULD BE 30         
+0

Можете ли вы объяснить этот ответ? Трудно сказать, действительно ли это отвечает на вопрос / – Taryn