【发布时间】:2011-07-26 10:42:50
【问题描述】:
我想做一个单元格的总和,有多个标准。我发现这样做的方法是使用sumproduct。像这样
=SUMPRODUCT((A1:A20="x")*(B1:B20="y")*(D1:D20))
我遇到的问题是 A 行由合并的单元格组成(我无法更改)
就我而言,我想对 2010 年和 2011 年满足我的标准的给定行中的每个数字求和。
2010 年总和: 同一列中的每个数字都与
- 第 1 行 = “Felles”,第 3 行 = “2010”
- 和
- 第 2 行 =“普通”,第 3 行 =“2010”
这似乎很容易。
=sumproduct((A1:L1 = "Felles") * (A3:L3 = 2010) * (A5:L5)) + sumproduct((A2:L2 = "Ordinary") * (A3:L3 = 2010) * (A5:L5))
当我对 2011 年的数字做同样的事情时,问题就出现了。唯一的问题是“Felles”不在同一列中,因为它与覆盖每个组的 6 个单元格合并。
2011 年总和: 同一列中的每个数字 - 第 1 行(后面 2 列)=“Felles”和第 3 行 =“2011” - 和 - 第 2 行 = “普通”,第 3 行 = “2011”
【问题讨论】:
-
工作表的结构是固定的吗?我的意思是:我可以假设费尔斯是从 G 到 L 的列吗?甚至是 Felles(也是 BHG)有六列大?
-
不,“Felles”之前可能是另外 5 个,之后可能是 24 个。它会不时变化。
-
问题是,AFAIK 不可能从公式中知道单元格是否在合并单元格中。 “Felles”是 G1 单元格的值,仅此而已。也许有一些规律可以利用? (即“Felles group”可能以 Felles 开头并一直持续到下一个非空单元格,而 Ordinary 组以 Ordinary 开头并继续 2 个单元格?)。然后使用 Match() 和 Offset() 你可以做一些事情。
标签: excel excel-formula