我发现很多脚本可以从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 中创建新文本。