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

我需要在結果列中運行 SUMIF 來檢查上述單元格(使用偏移量),如果滿足條件,我希望添加兩個(偏移量)值。我知道我可以透過執行兩個 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。

在此輸入影像描述


如果使用真實表的結構化引用,則需要 Offset:

=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。

在此輸入影像描述

相關內容