0

我有一个电子表格,其中有两列代表已处理记录的数量和处理记录的日期。在某些情况下,可以分批处理记录,因此文档看起来像这样:

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

我正在尝试添加一组包含日期的新列,并自动显示该日期的记录总数:

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

我知道如何在算法上执行此操作,并且我可能可以在 Excel 之外操作电子表格,但我正在尝试在实时电子表格中执行此操作,并且对如何将其关闭感到有些困惑。

有任何想法吗?

谢谢!IVR 复仇者

4

3 回答 3

2

SUMIF 功能对您有用吗?SUMIF([range],[criteria],[sum_range]) 我认为您可以设置 range = 第一个列表中包含日期的单元格集,条件将是包含第二个列表中日期的单元格,而 sum_range 将是计入您的第一个列表的第一列。

于 2009-04-20T14:49:23.370 回答
2

我建议使用数据透视表。将日期放入行区域,并将“总和”记录放入数据区域。列区域中没有任何内容。

数据透视表将比公式解决方案更具动态性,因为它只会显示存在的日期。

于 2009-04-20T16:27:42.090 回答
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-Enter 输入)对于任何重要的数据量,它的堆比 SUMIF() 快。

我倾向于为 A1:A5 和 B1:B5 部分定义动态名称,例如

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

这样我就不必继续修正我的公式了。

还有一个手动元素:例如,为额外的日期添加新行 - 这可能是一个小 VBA 的好地方。或者,如果您可以避免显示过去 90 天的总数,那么您可以修复使用的行数。

于 2009-04-20T15:33:55.307 回答