是否有一种方法来设置一个单元格为一定的值,如果它被设置为一定的值在谷歌应用程序脚本



我想在我的一个工作表中获得所有数据并检查特定值。然后我想把这个特定值的单元格设为另一个值。我知道我可以使用getDataRange()来获取所有的值,但是我该如何循环查找一个特定的值呢?

查找和替换

function searchAndReplace(n = 77) {
const ss = SpreadsheetApp.getActive();
const ui = SpreadsheetApp.getUi();
const sh = ss.getSheetByName("Sheet0");
const sr = 2;//data startrow
const vs = sh.getRange(sr, 1, sh.getLastRow() - sr + 1, sh.getLastColumn()).getValues();
vs.forEach((r, i) => {
r.forEach((c, j) => {
if (c == n) {
let r = ui.prompt("Enter new Value", ui.ButtonSet.OK_CANCEL)
if (r.getSelectedButton() == ui.Button.OK) {
sh.getRange(i + sr, j + 1).setValue(r.getResponseText());
}
}
})
})
}

最简单的方法是使用TextFinder。

代码:

function findReplace() {
const findValue = "foo";
const replaceValue = "bar";
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getDataRange();
const textFinder = range.createTextFinder(findValue).matchEntireCell(true);
textFinder.replaceAllWith(replaceValue);
}

您所需要做的就是将findValuereplaceValue更改为您要查找的值。

如果你正在寻找一个无代码的选项,一个查找和替换(shift + Cmd + H)也会做的伎俩!

相关内容

最新更新