2009-04-20 1 views
0

У меня есть таблица с двумя столбцами, которые представляют количество обработанных записей и дату обработки записей. В некоторых случаях запись может быть обработана в нескольких партий, поэтому документ выглядит следующим образом:Формулы Excel: Показать итоговые данные на основе ввода даты

33 4/1/2009
22 4/1/2009
12 4/2/2009
13 4/4/2009
36 4/4/2009

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

01.04.2009 55
4/2/2009 12
4/3/2009 0
4/4/2009 49

Я знаю, как сделать это алгоритмический, и я мог бы манипулировать таблицу вне Excel, но я пытаюсь сделать это в прямом эфире таблицу, и я немного озадачен тем, как ее снять.

Любые идеи?

Спасибо! IVR Avenger

ответ

2

Будет ли работать функция SUMIF? SUMIF ([диапазон], [критерии], [sum_range]) Я думаю, вы могли бы установить диапазон = набор ячеек, содержащих даты в вашем первом списке, критерием будет ячейка, содержащая дату во втором листинге, а sum_range будет подсчитывается в первом столбце вашего первого листинга.

+0

Excel-lent! (Groan) Это похоже на трюк. Я буду играть с функцией VB, которая динамически принимает дату в столбце lefthand как входной сигнал, так что все это немного легче переварить. спасибо! IVR Avenger –

+0

Нет проблем. Рад помочь – Kyle

0

Предполагая, что ваши даты в колонке B и цифры, которые будут накопившиеся в А, вы могли бы попробовать что-то вроде этого:

| A | B  | C    D 
1 | 33 | 4/1/2009 | =MIN(B:B) | {=SUM(IF(B1:B5=C1,A1:A5,0))} | 
2 | 22 | 4/1/2009 | =C1+1  | {=SUM(IF(B1:B5=C2,A1:A5,0))} | 
3 | 12 | 4/2/2009 | =C2+1  | {=SUM(IF(B1:B5=C3,A1:A5,0))} | 
4 | 13 | 4/4/2009 | =C3+1  | {=SUM(IF(B1:B5=C4,A1:A5,0))} | 
5 | 36 | 4/4/2009 | =C4+1  | {=SUM(IF(B1:B5=C5,A1:A5,0))} | 

Обратите внимание на {}, которая означает формулу массива (вход с помощью Control-Shift -Enter) для любого нетривиального количества данных, это кучи быстрее, чем SUMIF().

я был бы склонен определять динамические имена для A1: A5 и B1: B5 частей, что-то вроде

=OFFSET(A1,0,0,COUNT(A:A),1) 

, так что я не должен держать подправить мои формулы.

Есть еще элемент управления: добавление новых строк для дополнительных дат, например, - это может быть хорошим местом для небольшого VBA. В качестве альтернативы, если вы можете уйти с показом, например, за последние 90 дней, то вы можете исправить количество используемых строк.

2

Я бы предложил использовать сводную таблицу. Поместите даты в область строки и «сумму» записей в области данных. Ничего в области столбцов.

Сводная таблица будет более динамичной, чем решение формулы, поскольку она будет показывать только даты, которые существуют.