2009-04-20 96 views
0

我有一個電子表格,其中包含兩列,分別表示處理的記錄數和處理記錄的日期。在某些情況下,這些記錄可以分多批進行處理,因此該文件看起來是這樣的:Excel公式:根據日期條目顯示總數

33 2009/4/1
22 2009/4/1
12 2009/4/2
13 2009年4月4日
36 2009年4月4日

我想添加一個新的組包含一個日期字段,並且顯示的記錄總數爲日期,自動地:

4/1/2009 55
4/2/2009 12
4/3/2009 0
2009年4月4日49

我知道該怎麼算法做到這一點,我大概可以操縱的Excel外的電子表格,但我想這樣做在現場電子表格,並且對於如何將其關閉有點困惑。

任何想法?

謝謝! IVR復仇者

回答

2

SUMIF函數是否適合您? SUMIF([range],[criteria],[sum_range])我認爲你可以設置range =第一個列表中包含日期的單元格集合,條件是包含第二個列表中的日期的單元格,sum_range將是計入您的第一個列表的第一列。

+0

Excel-lent! (Groan) 這似乎是個伎倆。我將討論一個動態地將左列中的日期作爲輸入的VB函數,這樣整個事情就容易消化了。 非常感謝! IVR復仇者 – 2009-04-20 14:58:00

0

假設你的日期是在B列,將積累的數字是A,你可以嘗試這樣的事:

| 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鍵數組公式(輸入 - 輸入)任何非平凡的數據量都比SUMIF()快得多。

我傾向於定義爲A1動態名稱:A5和B1:B5的部分,像

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

讓我沒有保持固定我的公式。

還有一個手動元素:例如爲額外的日期添加新的行 - 這可能是一個小VBA的好地方。或者,如果您能夠顯示例如最近90天的總計,那麼您可以修復使用的行數。

2

我會建議使用數據透視表。將日期放入行區域和數據區域中'總和'記錄。列區域中沒有任何內容。

數據透視表將比公式解決方案更具動態性,因爲它只會顯示您存在的日期。