我有一组数据,其中一列包含产品ID,另一列包含值。
我希望获取列值的总和,如果ID的第3个字符为7或9。我有一个我相信非常接近的公式,但还没有:
=SUMIFS(E3:E821,A3:A821,MID(this,3,1)="7",A3:A821,MID(this,3,1)="9")
我的问题是我在标准中使用mid函数,但我不知道如何给它一个变量来引用当前正在评估的单元格。如果我使用JavaScript编程,我会使用“this”来引用当前对象,但这在Excel中不起作用。我能找到的所有例子都有非常简单的标准,你不会在比较中引用细胞本身,这让我感到茫然。
答案 0 :(得分:1)
创建辅助列C:
=OR(MID(A2,3,1)="7",MID(A2,3,1)="9")
SumIfs函数是:
=SUMIFS(B:B,C:C,TRUE)
答案 1 :(得分:0)
另一个没有辅助列的替代方案,我没有优化。它是一个数组函数(因此在键入公式后按CTRL SHIFT ENTER:
=SUMPRODUCT(IF(MID(A:A,3,1)="7",1,0),B:B)+SUMPRODUCT(IF(MID(A:A,3,1)="9",1,0),B:B)
答案 2 :(得分:0)
更简单:
=SUMPRODUCT((MID(A:A,3,1)="7")+(MID(A:A,3,1)="9"),B:B)
没有CTRL + SHIFT + ENTER,也没有帮助器列。只需一个公式即可满足您的需求。
有关可用here的更多信息。