2016-08-16 72 views
0

单行比方说,Excel公式增加细胞中基于标准

Sheet1:A1 = x 

Sheet2的内容看起来像

x 3 3 4 
y 0 2 1 

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

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

TIA!

回答

0

这个公式会做你想要什么:

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

它会遍历做个体SUMIF()上的每个,然后加入结果列。

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

enter image description here

+0

如果有比'Sheet2'列屈指可数这可能会变得丑陋。 –

+0

@AlexisOlson我同意,只是给出一个非数组答案。 –

0

尝试使用以下

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

注意,这是一个数组式,所以它必须使用Ctrl键 + + 输入输入。

该公式的作用是将Sheet2上的所有行转换为列A中的xB:D中的零,然后对剩下的内容进行求和。

同样,你可以使用

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

,你就不必输入它作为数组公式。

-1

对于非挥发性,非数组公式,试试这个

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