用于查找特定行中的第一个 emply 列的脚本函数

问题描述 投票:0回答:1

我需要一个脚本函数来定位现有数据的特定行中的第一个空列单元格。我的数据与不同的客户水平存储在每一行。他们的购买量按商品和价格添加到该行的接下来的两列中。 I2:AW2 的标题是项目描述和价格的列对。这个问题是2019年有人问的,但所有答案都没有解决所问的问题。每个答案都是如何在第一个空行中找到第一列。这些答案没有解决他的问题,也没有解决我的问题。

这是专门用于慈善拍卖的。数据表首先使用数据输入表格收集数据,添加:投标人编号、姓名、电子邮件、电话号码、入场券和商品销售。当购买新商品时,所有数据都是在 4 小时内以随机顺序收集的,我使用数据输入表单按名称或投标人编号搜索投标人。对于返回的行,我需要找出其特定行中的下一个空单元格(列),并添加他们购买的商品和支付的价格。除了这个之外,我可以做所有事情,添加项目和成本,因为它是水平存储的数据而不是垂直存储的数据。

我发现一个使用“=INDEX(a4:ArrayFormula(Max(COLUMN(A4:4)*(--(A4:4)<>""))))”的公式,如果直接输入到电子表格中,它就可以工作,但我需要将其作为应用程序脚本函数,以便它将添加数据输入表单中的数据。

我发现一个使用“=INDEX(a4:ArrayFormula(Max(COLUMN(A4:4)*(--(A4:4)<>""))))”的公式,如果直接输入到电子表格中,它就可以工作,但我需要将其作为应用程序脚本函数,以便它将添加数据输入表单中的数据。

我尝试通过使用公式设置变量将其变成一个函数,并在函数中使用它在接下来的两个空单元格中附加数据,标签为“项目详细信息”和“价格”。无论我如何尝试在脚本中使用它,我都无法在没有错误的情况下保存它。

google-apps-script autofill
1个回答
0
投票

此返回值加一。

function getRowWidth(row, sh, ss) {
  var ss = ss || SpreadsheetApp.getActive();
  var sh = sh || ss.getActiveSheet();
  var row = row || sh.getActiveCell().getRow();
  var rcA = [];
  if(sh.getLastColumn()){rcA = sh.getRange(row, 1, 1, sh.getLastColumn()).getValues().flat().reverse();}
  let s = 0;
  for (let i = 0; i < rcA.length; i++) {
    if (rcA[i].toString().length == 0) {
      s++;
    } else {
      break;
    }
  }
  return rcA.length - s;
}
© www.soinside.com 2019 - 2024. All rights reserved.