如果在列表中找不到类别,则Excel总计值(更好的编码方法)
我有一个数组的forms下面的代码,我想知道是否有一个更清洁,更dynamic的方式来编码。 (我已经删除了$,以方便阅读)
SUMPRODUCT(IF((A1:A10 <> D1)*(A1:A10 <> D2),B1:B10))
- 列A有一个名称列表
- B列有一个值列表
- D列有一个不包含在计算中的名字列表
这个公式的问题在于,对于DI列中的每个新项目,都必须附加另一个*,这将开始形成一个庞大的公式。 我尝试了SUMPRODUCT(IF((A1:A10 <> D1:D2),B1:B10))
但它没有工作。 有没有人有任何想法?
PS您必须按CTRL + SHIFT + ENTER使单元格数组,公式将无法正常工作。
编辑:我不能有D1:DX
是与其他范围相同的大小,因为我需要X为我的具体情况dynamic
让我们使用一个帮助列来find“好”的行。 在C1中input:
=IF(ISERROR(MATCH(A1,D:D,0)),1,0)
并抄下来。 每个“好”的名字都标有1 。 在另一个小区:
=SUMPRODUCT(--(C1:C100)*B1:B100)
例如:
“帮助”列避免了数组公式的需要。 您可以在D列中拥有尽可能多的“坏”名称,而无需更改公式。
在'E1'中input这个公式:
=SUMPRODUCT($B:$B,ISERROR(MATCH($A:$A,$D:$D,0))*1)