使用谷歌应用程序脚本和电子表格,我一直在尝试做一件简单的事情,但无法找出问题所在。我有一张纸,有一个空白列和一个带文本的列。列不相邻。我正在尝试在一列中的每个单元格中搜索文本,如果找到文本,则将空列中单元格的值设置为“是”。
示例(抱歉没有代码 - 我已经用它转了几个小时,我所拥有的东西太复杂了,最好只提供一个例子):
Column A with text Empty Column F
abcd efg hij
klmn opq rstu
vwxzy Yes
在 A 列中搜索“xyz”并在 F 列中返回“是”的最简单代码是什么?
我已经在网上查看并尝试了十几个不同的代码示例,但都无法使它们工作。感谢任何帮助!
编辑(希望是最终版本)供我使用(我有一些后端实用程序可以根据标题名称获取列号,该代码未包含在此代码中,仅供参考):
var sskey = SpreadsheetApp.openById('**********************')
function otherfunction(){
addCustomValue('POCs', 'Groups', 'Champion', 'Champion', 'Yes');
}
function addCustomValue(sheetNamestr, searchColnamestr, writeColnamestr, searchKeystr, writeValstr) {
var sheet = sskey.getSheetByName(sheetNamestr);
var searchColnum = MyUtilities.getColIndexByName(sheet, 1, searchColnamestr);
var writeColnum = MyUtilities.getColIndexByName(sheet, 1, writeColnamestr);
var data = sheet.getDataRange().getValues();
for (n=0; n<data.length; ++n) {
if (data[n][searchColnum-1].toString().match(searchKeystr)==searchKeystr){ data[n][writeColnum-1] = writeValstr};
}
sheet.getRange(1,1,data.length,data[0].length).setValues(data);
}
谢谢塞尔!现在我可以根据任何列和条件在我的电子表格上运行它!