我有一个关于谷歌脚本的问题,希望能得到一些帮助。
目标:在多个工作表中搜索一个值,并返回匹配项的单元格位置。
我尝试过使用以下脚本:
/**
* Finds a value within a given range.
* @param value The value to find.
* @param range The range to search in.
* @return A range pointing to the first cell containing the value,
* or null if not found.
*/
function find(value, range) {
var data = range.getValues();
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j] == value) {
return range.getCell(i + 1, j + 1);
}
}
}
return null;
}
然而,它返回错误“TypeError:无法在对象中找到getValues函数”
我的值将被定义为文本字符串,例如“ABCD”
我的范围将是多个工作表的范围,例如sheet1!A1:C4,sheet2!A1:C4
该函数应返回查找值的工作表、列和行
目前,我正在使用iferror index match循环公式逐列搜索工作表(我使用间接作为我的范围是可变的),但希望有一个脚本可以使这更容易和更快。
=IFERROR(index(INDIRECT(Sheet1!A:A),
iferror(MATCH(A2,INDIRECT(Sheet1!B:B),0),
iferror(MATCH(A2,INDIRECT(Sheet1!C:C),0),
...ETC
感谢您提前给予的任何帮助。
谢谢。