谷歌表格 - 用于在列中生成段落的脚本



我发现很多脚本可以从Google表格中获取数据并创建Google文档,但是我需要在表格本身中生成一个段落(实际上只有几句话)。我们为在Google表单中输入信息(商店名称,位置,品牌等)的人创建网页,通过将Google表格导出到.csv文件中并上传生成页面的文件来实现此目的。因此,我们需要该段落位于Google表格中。

我需要一个脚本,给我一个段落,上面写着:

D列是位于H列的"我们的品牌"经销商。D列也出售T列

几个小时以来,我一直在试图弄清楚这个脚本,将我在其他地方发现的东西拼凑在一起,似乎每次我整理出一点,我都会搞砸另一点。一团糟:

function onEdit() {
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = activeSheet.getSheetByName("All Dealers");  
  var cell = sheet.getActiveCell();  
  var row = cell.getRow();
  var col = cell.getColumn();

    // Fetch the range of cells
    var dataRange = sheet.getRange(row, col)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var dealerName = row[0]
    var city = row[1]
    var brand = row[2];
    }
  var body = 'dealerName' + "is a OURBRAND located in" + 'city' + 'dealerName' + "also sells" + 'brand';
  SpreadsheetApp.getActiveSheet().getRange("AI"+row).setValue('body');
}

电子表格可在此处获得

你不需要脚本:数组公式可以做你想做的事。初步版本:在单元格 AI2 中,输入

=arrayformula(D2:D & " is a BRAND dealer located in " & H2:H & ". "  & D2:D & " also sells " & T2:T)

(请注意,我在适当的位置放置了空格;这是连接字符串时需要格外注意的事情。

上述缺点是您还可以在空行中获得一些文本。若要筛选它们,请将每个列引用替换为其筛选版本:filter( ... , len(D2:D))仅保留具有非空列 D 的行。

=arrayformula(filter(D2:D, len(D2:D)) & " is a BRAND dealer located in " & filter(H2:H, len(D2:D)) & ". "  & filter(D2:D, len(D2:D)) & " also sells " & filter(T2:T, len(D2:D)))

arrayformula意味着随着新数据添加到列 D,H,T 中,将在列 AI 中创建新文本。

最新更新