如何:Excel 2003macros仅汇总可见值?

目前,我有一个非常大的电子表格(40k +行),数据包括“名称”,“date”和“值”列。 格式是统一的。 我希望能够用相同的“名称”和“date”来总结所有的“值”。 例如:

Name date value peter 201103 7 pan 201103 9 felix 201104 9 peter 201104 12 peter 201104 17 

现在,我想将所有“peter”的值与date“201104”相加。 一种方法是SUMFS,但这不是我所能处理的(仅使用Excel 2003)。 我尝试的另一件事是首先通过inputbox自动筛选过滤date,然后使用SUMIF来汇总值,如果他们有相同的名称。 问题:SUMIF也增加了不可见的单元格。 最好的方法是vba。 有没有人有想法? 这将是巨大的帮助!

感谢您的时间!

做一个数据透视表。 然后使用Page作为Peter和201104的filter。这是得到答案的最快方法。

该公式将根据多个标准对值进行求和,并跳过已过滤的行: =SUMPRODUCT(SUBTOTAL(109,OFFSET(C2:C6,ROW(C2:C6)-MIN(ROW(C2:C6)),,1,1))*(A2:A6="peter")*(B2:B6=201104))

数据假定在A1:C6。

注意:这是一个数组公式,而不是简单地按Enter键,你需要做Ctrl + Shift + Enter。 input正确后,您会在配方栏的公式中看到花括号。

使用SUBTOTALfunction。 当你过滤时,只有被过滤的行被聚合(取决于指定的function)。

以下将“合并”范围A1:10。

 =SUBTOTAL(9, A1:A10) 
Interesting Posts