Excel SUMIF - 如果满足 OFFSET 条件,则对同一行中的两个 OFFSET 单元格求和

Excel SUMIF - 如果满足 OFFSET 条件,则对同一行中的两个 OFFSET 单元格求和

我有一张这样的桌子:

TABLE A

NAME     VALUE 1   VALUE 2   RESULT
Daniel   1         4
John     3         5
Daniel   5         8

我需要在 RESULT 列中运行 SUMIF 来检查上述单元格(使用 OFFSET),如果满足条件,我希望添加两个(OFFSET)值。我知道我可以通过执行两个 SUMIF 来实现这一点,但我想知道是否可以只使用一个 SUMIF 来实现,然后使我的代码更易读、更快速。我尝试过这些,但没有成功:

SUMIF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1), "Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1)))

和:

IF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1)="Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1),0)

结果应该是:

TABLE A

NAME     VALUE 1   VALUE 2   RESULT
Daniel   1         4         0
John     3         5         5
Daniel   5         8         5
John     1         5         18

答案1

如果不使用结构化表引用,则不需要偏移量:

=SUMIF($A$1:A1,"Daniel",$B$1:B1)+SUMIF($A$1:A1,"Daniel",$C$1:C1)

在此处输入图片描述

如果你想要一个公式那么它将是一个数组公式:

 =SUM(IF($A$1:A1="Daniel",$B$1:B1+$C$1:C1,0))

根据版本的不同,退出编辑模式时可能需要使用 Ctrl-Shift-Enter 而不是 Enter。

在此处输入图片描述


如果使用对真实表的结构化引用,则需要偏移量:

=SUM(IF(OFFSET(Table2[[#Headers],[NAME]],,,ROW($ZZ1))="Daniel",OFFSET(Table2[[#Headers],[VALUE 1]],,,ROW($ZZ1))+OFFSET(Table2[[#Headers],[VALUE 2]],,,ROW($ZZ1)),0))

同样,根据版本的不同,退出编辑模式时可能需要使用 Ctrl-Shift-Enter 而不是 Enter。

在此处输入图片描述

相关内容