excel公式,根据条件在单行中添加单元格

时间:2016-08-16 20:54:11

标签: excel excel-formula

让我们说,

Sheet1:A1 = x

Sheet2内容看起来像

x 3 3 4 
y 0 2 1

是否有一个excel公式可以匹配Sheet1:A1和Sheet2:A1(基本上是值'x')并添加该行中的其他单元格(3,3​​,4)。结果(Sum = '10')应该在Sheet1更新:C4说。

我尝试过SUMIF,但由于限制只能处理匹配的数组大小,因此只显示了一列的内容。我知道这可以通过VBA实现,但只是想知道一个公式是否可用。

TIA!

3 个答案:

答案 0 :(得分:1)

这个公式会做你想要的:

=SUM(SUMIF(Sheet2!A:A,A1,INDIRECT("Sheet2!" & {"B:B","C:C","D:D"})))

它将迭代遍历每个列上的单个SUMIF(),然后添加结果。

如果您想要更多列或不同的数组,请将数组中的地址更改为所需的列。

enter image description here

答案 1 :(得分:1)

尝试以下

=SUM(IF(Sheet2!A1:A99=A1,Sheet2!B1:D99,0))

请注意,这是一个数组公式,因此必须使用 Ctrl + Shift + Enter 输入。

此公式的作用是将{A}栏中Sheet2的所有行转换为x中的B:D中的零,然后将剩余的内容相加。

同样,您可以使用

=SUMPRODUCT((Sheet2!A1:A99=A1)*Sheet2!B1:D99)

并且您不必将其作为数组公式输入。

答案 2 :(得分:0)

对于非易失性非数组公式,请尝试使用

=SUM(INDEX(Sheet2!B:D,MATCH(Sheet1!A1,Sheet2!A:A,0),))