0

我的问题是我需要引用一个单元格(A1),它可以是可以在 L 列中找到的状态的名称,也可以是“所有状态”,然后我想包含 L 列的所有结果。我不知道如何包含这个。

=SUMPRODUCT(--(IF(A1="All States",Data!$L:$L,Data!$L:$L=A1)),Data!Q:Q)

我想基于上述添加更多标准,所以我不想沿着将 sumproduct 嵌入 if 函数的路线走下去,因为公式很快就会变得太笨拙。

4

1 回答 1

1

你有很多选择。使用您的初始公式,我会将其调整为

(A)  =SUMPRODUCT((IF($A$1="All States",1,($L$2:$L$11=$A$1)))*($Q$2:$Q$11))  

但这需要作为数组公式输入,因此ENTER您需要CONTROL++SHIFT来确认,而不是只用 确认ENTER。当 { } 出现在您的公式周围时,您将知道您已经做对了。请注意,它们不能手动添加。

我相信会更快的非数组类型公式是查看您的两个选项。您正在处理单个状态或所有状态。设置IF检查以确定是否需要对所有列 Q 求和,或者是否需要从 Q 列中查找单个值。我使用了以下公式:

(B)  =IF(A1="all states",SUM($Q$2:$Q$11),INDEX($Q$2:$Q$11,MATCH($A$1,$L$2:$L$11,0)))

有点作弊但简化了事情,是将最终状态添加到 L 中列表的底部,并调用“所有状态”。在 Q 所在的相应行中=sum(First Cell:Last Cell)。如果你这样做,那么你可以使用以下公式:

(C)  =SUMPRODUCT(($L$2:$L$12=$A$1)*($Q$2:$Q$12))

那也是其他选择,只是想我会展示一些选择。

概念证明

于 2020-02-16T07:29:32.733 回答