- Вы хотите получить значения из следующего скрипта.
var completeSearch = dataSheetName.createTextFinder(searchTerm).findAll();
dataSheetName
- это лист в электронной таблице. - Об этом я подумал из имени переменной
dataSheetName
.
- Вы хотите использовать скрипт Google Apps.
Еслимое понимание верно, как насчет этой модификации?
Точки модификации:
- Значения, полученные с помощью
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
}
}
Примечание:
- Выпоказывают часть вашего сценария в вашем вопросе.Поэтому я дополнил другую часть для работы сценария.Если это отличалось от вашего сценария, измените его.
Ссылки:
Если я неправильно понял ваш вопрос и это не тот результат, который вам нужен, я приношу свои извинения.
Редактировать:
- Вы хотите получить координаты (a1Notation) ячеек, полученных с помощью поиска.
Из вашего ответа я понял, как выше.Если мое понимание верно, как насчет этого примера скрипта?
Модифицированный скрипт:
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())
}
}
Ссылка: