【发布时间】:2013-04-09 03:41:33
【问题描述】:
我正在慢慢地了解如何制定一个通用的编程过程,但我需要一个愿意进一步教我如何钓鱼的人(在这个 JS 池塘中)。
我想测试一个单元格范围(例如:A1:A10),如果在该范围内的单元格中找到“,”,我想在该单元格右侧的 5 列中编写一个公式细胞。
到目前为止,我已经能够在指定特定单元格时让它工作,但我不确定如何采用它来处理一系列单元格。
(顺便说一句,这是我理解如何在 VBA 中执行的操作 - 尽管没有 SPLIT 功能 - 但这种语言显然是一种非常不同的动物)
这是我现在拥有的:
var defSheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
var test1 = defSheet1.getRange("A1").getValue();
var splitCell = '=SPLIT(A1,",")';
if (test1.indexOf(",") !== -1)
{
defSheet1.getRange("F1").setFormula(splitCell);
}
else
{
Browser.msgBox("NO SPLIT NECESSARY");
}
(顺便说一句,实际范围将通过使用 getDataRange 确定,但为简单起见,我在这里使用预先确定的范围)
我已经在这里学到了不少东西,并且我正在逐渐获得在 JS 中“思考”的能力,但是 VBA “For x = 1 to numLastRow” 的概念不是在 JS 中为我点击。
【问题讨论】:
-
您可以使用以下电子表格公式放入单元格 F1:
=arrayformula(iferror(split(A:A, ","))) -
@David Tew - 非常有趣的选择。我不会想到把它朝那个方向发展。这个概念是守门员。谢谢!
标签: javascript google-apps-script google-sheets