我在想办法如何在 Google Sheets 中实现此功能时遇到了一些困难。
我正在寻找使用 countif(或类似函数)来计算工作表中的行数,其中列 B:B+C:C+D:D > sheet2!$A$2。该函数应仅计算符合单元格 A:A 中 sheet2!$B$3 的条件以及其他几个条件的行,格式相同,只是单元格不同,所以我认为 countifs 可能是最佳选择?
我当前的方法与下面的方法类似(我尝试过各种变化),但我似乎找不到让它单独考虑每一行的方法。
=countifs(工作表1!B:B +工作表2!C:C +工作表3!D:D,> H2)
答案1
非常好,@barry。
我认为 Arrayformula() 是 Google Sheets 独有的。因此,对于 Excel 用户,我将添加此解决方案:
=SUMPRODUCT(1*((Sheet1!B:B+Sheet2!C:C+Sheet3!D:D)>Sheet2!$A$2)*(Sheet2!A:A=Sheet2!$B$3))
内部表达式(Sheet1!A:A+Sheet2!B:B+Sheet3!C:C)>H2)
生成一个 True/False 值数组,其中引用的 3 个列中的行之和大于 A2 时为 True。乘以 1 会将 True/False 值转换为 1 和 0,然后 SUMPRODUCT() 将它们相加,同时也消除了将公式作为数组公式输入的需要。
可以通过将内部数组乘以另一个类似的 True/False 值数组来包含其他条件,如公式末尾所示,其中最终数组指定 Sheet2!A:A 必须等于 $B$3 才能计算行数。
答案2
你不能使用,COUNTIFS
因为与 Excel 一样,条件范围不能是数组,因此不能通过函数或计算进行修改。
尝试一下 Google Sheets
=arrayformula(sum((Sheet1!A:A=Sheet2!$B$3)*(Sheet1!B:B+Sheet1!C:C+Sheet1!D:D>Sheet2!$A$2)))
您可以根据需要添加更多条件