我有一个函数,我想搜索给定的工作表并返回包含自定义函数“POPULATE”的单元格数组。该函数当前返回每个“= POPULATE”实例的字符串数组。
function formulaSearch() {
var sheet = spreadsheet.getSheetByName('test');
var range = sheet.getDataRange();
var values = range.getValues();
var formulas = range.getFormulas();
// Search for all cells with the POPULATE function and put them into array
var cells = [];
for (var row in formulas) {
for (var col in formulas[row]) {
if (formulas[row][col].indexOf("=POPULATE") > -1 ) {
cells.push(formulas[row][col]);
Logger.log(cells);
}
}
}
return cells;
}
如何以包含公式的每个单元格的A1表示法返回单元格数组?我知道.getA1Notation()方法,但我无法将返回数组中的元素转换为Range数据类型。
答案 0 :(得分:4)
一种方法是从range
变量中获取单元格,然后从中获取A1表示法:
for (var row in formulas) {
for (var col in formulas[row]) {
if (formulas[row][col].indexOf("=POPULATE") > -1 ) {
cell = range.getCell(row+1, col+1).getA1Notation();
cells.push(cell);
Logger.log(cells);
}
}
}
编辑:范围不是0索引。在getCell()中添加了1到row和col。谢谢你指出@ tsc333!