首页 > 解决方案 > ARRAYFORMULA 和 COUNTA 仅计数到当前行

问题描述

这是我的工作表的一个例子

在 D 行,我想计算 E 行(COUNTA)的值,但只计算列的当前行。我尝试使用 ARRAYFORMULA 和 COUNTA 和 ROW,但根据我的阅读,COUNTA 不适用于 ARRAYFORMULA。我用这个公式得到的是每行返回的列的总 COUNTA。

我需要自动将公式应用于行(和新行),所以我打算使用 ARRAYFORMULA。但是,我也在研究 QUERY 函数,但无济于事。我认为我的解决方案可能在脚本中,但我对它们还不是很有信心。

标签: google-apps-scriptgoogle-sheets

解决方案


我想到了。事实证明,我认为解决方案是一个应用程序脚本是对的。这是我的代码:

function myFunction() {

  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  ss.getRange("D2").setFormula("=IF(ISBLANK($A2),,COUNTA(INDIRECT($F2)))");

  var lr = ss.getLastRow();
  var downRange = ss.getRange(2, 4, lr-1);

  ss.getRange("D2").copyTo(downRange);

}

推荐阅读