我有一张如下所示的表格:
Col1 | Col2
-----+-----
A | 12
A | 4
B | 5
A | 16
A | 8
B | 91
C | 6
A | 55
-----+-----
C | ???
我想要的是,如果我C
在左下角的单元格中输入(一个文本值),则在标记的单元格中显示最后一个值上方的???
值的总和(即 12+4+5+16+8+91)。同样,如果我在同一个单元格中输入,我希望得到 12+4+5+16+8 作为结果。Col2
C
B
我尝试过SUMIFS
,但VLOOKUP
没有成功。您是如何做到的?
答案1
您可以尝试以下公式:
=SUM(B1:INDEX(B:B,MATCH(2,IF($A$10=A1:A8,1))-1))
Ctrl使用++作为数组公式输入Shift。Enter
IF($A$10=A1:A8,1)
1
返回一个包含和的数组false
。如果范围等于 C,则我们得到数组{false,false,false,false,false,false,1,false}
,并MATCH(2, {false,false,false,false,false,false,1,false})
返回,当从中减去 1 时,7
它将变成。6
然后 index 返回单元格 B6,由 选取该单元SUM
格以构成范围B1:B6
。
如果C
将 改为A
,我们得到:{1,1,false,1,1,false,false,1}
,MATCH
返回8
并且SUM
变成B1:B7
。
答案2
使用带有文本的单元格引用略有不同。您必须用 括住引用,&
Excel 才能使用它。
输入以下公式B9
并读取单元格A9
作为要排除的值。如您所见,您可以直接使用它=SUMIFS(B1:B8,A1:A8,"<>C")
来获取所需的值,但它不会读取单元格中的值A9
。下面使用文本。
=SUMIFS(B1:B8,A1:A8,"<>"&A9&"")