excel 使用INDEX MATCH函数对行进行乘法和求和

fnvucqvd  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(216)

我有下表:

在单元格A7中,我定义了要用于计算的第1列的索引,在本例中为A。对于索引为A的每一行,我想将第2列的该行值乘以第3列。在本例中,有两行索引为A,所以我想对这两行都进行计算,然后将结果相加,如下所示:5 * 3 + 9 * 7= 78。
为了实现这一点,我首先尝试编写一段代码,对第2列中与给定索引匹配的所有值求和。该索引为A,因此输出应为5 + 9= 14。我的代码只查找第一个匹配项,因此是第2行,它将显示第2列的值,因此是5。以下是单元格B7的代码:

=SUM(INDEX(B2:B5;MATCH(A7;A2:A5;0)))

即使我解决了这个问题我仍然没有得到我真正想要的东西,但我认为这是一个开始,我如何得到我最初想要的东西,并使结果等于78?

ttp71kqs

ttp71kqs1#

键入此公式:
=总和((A2:A5=A7)(B2:B5)(C2:C5))
然后按Ctrl-Shift-Enter
这会将它转换为一个数组公式,您可以识别它,因为它周围会有大括号:
{=总和((A2:A5=A7)(B2:B5)(C2:C5))}

cuxqih21

cuxqih212#

使用BYROW()

·单元格B7中使用的公式

=SUM(BYROW(FILTER(Table12[[Column 2]:[Column 3]],A7=Table12[Column 1]),LAMBDA(m,PRODUCT(m))))

如果未使用Structured References,则

=SUM(BYROW(FILTER(B2:C5,A7=A2:A5),LAMBDA(m,PRODUCT(m))))

或者,使用令人难以置信的多功能SUMPRODUCT()函数

·单元格C7中使用的公式

=SUMPRODUCT((A7=A2:A5)*(B2:B5)*(C2:C5))

相关问题