如何使 Excel 在二维查找中对多个行键的值求和,以返回相应单元格中的求和值

如何使 Excel 在二维查找中对多个行键的值求和,以返回相应单元格中的求和值

因此,我面临着一组数据排列的挑战,通过合并 VLOOKUP 和 MATCH 字符串,我能够得到结果,但是有一个小问题!

下面粘贴的是合并后的字符串,用于查找并匹配 A 列上的每个 Outlet Owner 和行上的每个对应产品A1:G1

=VLOOKUP($I2,$A$1:$G$21,MATCH(K$1,$A$1:$G$1,0),FALSE)

这是我的数据表:

图像

现在,我陷入了困境,因为在行键在范围查找中出现多次的情况下,公式仅返回许多可用数字中的一个(我认为是列表中的第一个)。因此,如果有人能帮助我如何将 SUMUP 字符串添加到上述公式中,以便它将所有多个行键相加并返回总数,我将不胜感激。例如,在我的例子中,最终字符串应该将 Samson、Juliet、Matthew 等拥有多个 Outlets 的每种产品下的所有数字相加,并在摘要部分的相应单元格中返回它们的总数。

注意:我之所以使用,VLOOKUP是因为摘要部分(目标表)中的标题与查找表(源表)的排列方式不同。我的真实数据表的标题范围非常长,我不能浪费宝贵的时间和精力开始排列源表和目标表中的列以使其看起来相似!

答案1

您可以使用这个公式:

=SUM(INDEX(($B$1:$E$1=K$1)*($A$2:$A$21=$J2)*$B$2:$E$21,))

INDEX() 会在标题和行不符合条件的地方构建一个值为 0 的数组。

在此处输入图片描述

根据您编辑的答案,为了表明顺序并不重要:

在此处输入图片描述


为了使公式即插即用,请使用以下命令:

=SUM(INDEX(($C$1:$G$1=K$1)*($A$2:$A$21=$I2)*$C$2:$G$21,))

将其设置为 K2。然后拖动到上方和下方。

在此处输入图片描述

答案2

您可以使用VLOOKUP检索单个项目,计算总和需要SUMSUMIF或者SUMIFS,对于您的情况,此公式将起作用:

=SUMIF($A$2:$A$15,$H2,INDEX($B$2:$E$15,0,MATCH(I$1,$B$1:$E$1)))

稍微解释一下:

  • MATCH选择右列的索引
  • INDEX选择正确的列(注意0行索引)
  • SUMIF计算实际所有者姓名的总和

在此处输入图片描述

相关内容