对共享一个公共索引值的多行求和

Sum Multiple Rows Sharing A Common Index Value

我似乎无法在此站点上找到任何关于此确切索引匹配函数问题的示例。

绿色 框的值为 "x"。我想要实现的是在 G 列中找到 "x" 的每个实例(这将被拖到所有列之后),并且基本上在 D 列中查找它是等同的小时数,并在每周的一个单元格计算中对它们求和。

例如在电子表格的这一部分,总和为:3.75 + 7.5 + 3.75 + 15 = 30 小时

我从:=INDEX($D:$D7,MATCH("x",G3:G157,0)) 开始,其中 returns 是正确的答案,即 3.75 小时,所以我尝试使用以下循环函数:

=AGGREGATE(9,0,INDEX($D:$D7,,MATCH("x",G3:G157,0)))

虽然这是 returns 一条 #REF! 错误消息。

这是一张link电子表格的截图以供参考。 (我没有 post 有问题的图像所需的声誉)。

如能就此问题提供任何帮助,我们将不胜感激。我更喜欢单元内函数解决方案,因为我对 VBA.

没有信心

如果您可以使用公式“=IF(G7="x";D7;0)”添加一个隐藏列,并根据 G 列中是否存在“x”来计算相应的小时数,那就更简单了. 然后你可以简单地得到这个隐藏列的总数。它更具可读性和易于维护。

G2: =SUMIF(G:G7,"x",$D:$D7)  

并根据需要向右填写。