如何使用谷歌电子表格应用程序脚本设置公式?

时间:2017-04-24 06:12:05

标签: javascript google-sheets

实际上,问题是 - 如何重新创建公式类型:   ArrayFormula(替换(替换(regexreplace(K1:K&“”,“[ - /,()]”,“”),4,0,“ - ”),8,0,“ - ”) )
代码。不幸的是,我自己并没有找到它,所以我在寻求帮助。

UPD。 让我澄清一下。 我用到脚本中的部分代码:

value = value.replace(/^ /, '').replace(/[. )]/g, 'a').replace(/[+]/g, '').replace(/(aa)/g, '-').replace(/(a)/g, '-').replace(/[(]/g, '-'); value = value.replace(/^-/, ''); value = value.replace(/-$/, ''); range2.setValue(value);

这是结果的示例: “(22)road.C​​A” - “22-road-CA”; “22roadCA” - 不是(恐怖)。 如果我们使用谷歌电子表格,我们可以使用我之前键入的公式,在这种情况下,结果将是: “(22)road.C​​A” - “22-road-CA”; “22roadCA” - “22-road-CA”。 那么,如何为它创建正确的代码呢? Mb我应该删除所有符号,使用循环方法逐个检查符号,并在一些单元格数组后插入我的变体?

1 个答案:

答案 0 :(得分:0)

简单示例:

var formulaTargetCell = SpreadsheetApp
.getActiveSpreadsheet()
.getActiveSheet()
.getRange(1, 1, 1, 1); 

formulaTargetCell.setFormula('=ArrayFormula(replace(replace(regexreplace(K1:K&"""",""[-/,. ()]"",""""),4,0,""-""),8,0,""-""))');

//or

var formulaTargetCell = SpreadsheetApp
.getActiveSpreadsheet()
.getActiveSheet()
.getRange('B2');

formulaTargetCell.setFormulaR1C1('=ArrayFormula(replace(replace(regexreplace(K1:K&"""",""[-/,. ()]"",""""),4,0,""-""),8,0,""-""))');

available API of Range

中记录的app脚本中仍然存在某种设置公式的方法