如何将sumifs比较运算符与范围

时间:2019-12-03 14:52:18

标签: google-sheets google-sheets-formula array-formulas google-sheets-query sumifs

我希望逐行比较两列中的值,并根据比较结果将这些列之一中的值相加。

类似这样的东西:

=SUMIFS(T4:T50,T4:T50,">="&M4:M50)

在这里,我正在比较T和M列中的值。如果对于每一行,T中的值大于M,则将其包括在总和中。它不起作用。

但是这样的事情可行:

=SUMIFS(T4:T50,T4:T50,">=400")

如何逐行比较?

4 个答案:

答案 0 :(得分:0)

这是一篇很有帮助的帖子,其中包含针对此问题的6个选项:How to Include Multiple Sum Columns in SUMIF in Google Sheets

我倾向于使用帮助程序列的选项#1,因为它可以简化公式,并且其他人(甚至您自己)以后可以更轻松地追溯您的步骤。

因此,在您的情况下,我将添加一个简单的帮助器列:

var allcounts = query("SELECT name FROM sqlite_master WHERE type = 'table'")
                .map(name -> "SELECT '$name' AS Tablename, count(*) AS Records FROM \"$name\"")
                .join(" UNION ALL ");
var totals = query(allcounts);

将公式复制到该列中。然后在您的=T4 >= M4 公式中添加helper列作为条件:

SUMIFS

答案 1 :(得分:0)

您可以在查询中将逐行比较与总和相结合:

=query({M:M,T:T},"select sum(Col2) where Col2>=Col1 label sum(Col2) 'Total'")

enter image description here

答案 2 :(得分:0)

尝试:

=ARRAYFORMULA(IF(T2:T>=M2:M, T2:T+M2:M, ))

0

答案 3 :(得分:0)

感谢您的答复。每个人都工作了,但选择了这样做:

SUMPRODUCT((T4:T)*((T4:T)>=(M4:M)))