首页 > 解决方案 > ArrayFormula() 和 SumIf() 匹配 "This" Row()

问题描述

我正在尝试实现以下功能:在每一行中查看列的值(例如)1。如果B列的值也是(例如)1,然后运行列表,将列的值求和并将其捕获每行列。CBG

因此,第 4,5 行和第 6 行的预期结果G将分别为 3,3 和 1。

在此处输入图像描述

我在想类似的东西(这是伪的)

=ArrayFormula(SumIf(RangeForB,THISROW=OTHERROWS,RangeForC))

我也不确定如何获得“这一行”,我知道你可以使用ROW(),但这会给我索引而不是行的值。INDEX()据我所知也不能用于ArrayFormula()

非常感谢您的帮助,干杯。

标签: google-sheets

解决方案


=ARRAYFORMULA(MMULT(QUERY(B1:C, 
 "select B, C where B matches '1' and C matches '2'", 0),
 (TRANSPOSE(COLUMN(B1:C1)^0))))


推荐阅读