id a b c
1 0 0 0
1 0 0 0
2 0 0 0
2 0 0 0
3 1 2 3
3 0 0 1
鉴于上述矩阵,我想创建一个新矩阵,它将给定年份(a、b 或 c)中给定 id 的第一个矩阵中的数字相加。因此,对于上述内容,它应该如下所示:
1 2 3
a 0 0 1
b 0 0 2
c 0 0 4
谁能看到该怎么做?
id a b c
1 0 0 0
1 0 0 0
2 0 0 0
2 0 0 0
3 1 2 3
3 0 0 1
鉴于上述矩阵,我想创建一个新矩阵,它将给定年份(a、b 或 c)中给定 id 的第一个矩阵中的数字相加。因此,对于上述内容,它应该如下所示:
1 2 3
a 0 0 1
b 0 0 2
c 0 0 4
谁能看到该怎么做?
尝试使用 SUMPRODUCT 而不是 SUMIFS,例如
=SUMPRODUCT(B2:D7,(B1:D1="a")*(A2:A7=1))
当数据标题已经到位且数据范围不太大时,其他回复中给出的公式解决方案将很有效。
数据透视表为您创建行和列标题,并在您单击刷新按钮时随着新数据的添加而更新,当数据范围较大时,它也会显着加快。
脚步
A)Insert | Table
为您的数据范围选择,并给它一个合适的名称,默认为Table1
B) 通过快捷方式访问数据透视表向导Alt+D+P
(这不在默认菜单上)。
1) Multiple Consolidation Ranges
2a) I will Create the Page Fields
2b) Range: Table1[#All] Page Fields: 0
2c) Existing Worksheet: $A$7
C)点击完成,切换行和列字段并关闭总计和自动格式化
我建议您尝试使用数据透视表解决该问题。
您可以使用以下 2 个链接来了解该功能:
http://www.cpearson.com/excel/pivots.htm
http://www.youtube.com/watch?v=7zHLnUCtfUk
Pivot 的唯一缺点是,如果源范围的大小发生变化,Pivot 将不会自动调整。因此,一旦您设法解决了最初的问题并了解了数据透视表的强大功能,我建议您使用动态命名范围作为数据透视表的来源。
编辑:我觉得巴里胡迪尼的解决方案更简单。我在下面复制了它(所有功劳归他所有!)