我正在尝试使用以下代码在Google表格中搜索特定的关键字:
var completeSearch = dataSheetName.createTextFinder(searchTerm).findAll();
当我记录它时,变量返回[Range, Range, Range, Range].
有没有办法让此关键字每次出现时都返回单元格值?
编辑:我并不是说我需要它来返回单元格VALUES,就像在单元格的内容中一样,而是单元格名称本身,例如(A4)。
答案 0 :(得分:0)
var completeSearch = dataSheetName.createTextFinder(searchTerm).findAll();
dataSheetName
是电子表格中的表格。
dataSheetName
的变量名。如果我的理解是正确的,那么该修改如何?
findAll()
检索的值为[Range, Range,,]
。为了从Range
检索值,在这种情况下,它使用getValue()
和getValues
。Range
的值都与searchTerm
的值相同。因此,在此示例脚本中,将同时检索搜索范围的值和搜索范围行的值。请认为这只是几个答案之一。
在使用此脚本之前,请设置变量searchTerm
和sheetName
。
function myFunction() {
var searchTerm = "sample"; // Please set this.
var sheetName = "Sheet1"; // Please set this.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheetName = ss.getSheetByName(sheetName);
var completeSearch = dataSheetName.createTextFinder(searchTerm).findAll();
for (var i = 0; i < completeSearch.length; i++) {
var range = completeSearch[i];
var value = range.getValue();
var rowValue = dataSheetName.getRange(range.getRow(), 1, 1, dataSheetName.getLastColumn()).getValues();
Logger.log(value) // Value of the searched range
Logger.log(rowValue) // Values of the row of searched range
}
}
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。
从您的答复中,我可以像上面那样理解。如果我的理解是正确的,那么该示例脚本如何?
function myFunction() {
var searchTerm = "sample"; // Please set this.
var sheetName = "Sheet1"; // Please set this.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheetName = ss.getSheetByName(sheetName);
var completeSearch = dataSheetName.createTextFinder(searchTerm).findAll();
for (var i = 0; i < completeSearch.length; i++) {
var range = completeSearch[i];
Logger.log(range.getA1Notation())
}
}