У меня похожая проблема.
Вот как я это делаю, но это не лучшее решение. Я ищу лучший.
Если какое-либо значение в листе Цены и столбце D изменяется.
То есть, если какое-либо значение ячейки изменяется во всем столбце, оно обновляет значение пользовательской функции.
//Search Price sheet with the given name. Return price. dummy param updates google ss once the "Prices" sheet values changed.
function searchPrice(price,dummy)
{
var SPREADSHEET_NAME = "Prices";
var SEARCH_COL_IDX = 2;
var RETURN_COL_IDX = 3;
var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();
for (var i = 0; i < values.length; i++)
{
var row = values[i];
if (row[SEARCH_COL_IDX] == price)
{
return row[RETURN_COL_IDX];
}
}
}
Вот как это называется = searchPrice (B8, Цены! D: D)
Просто дайте вашей пользовательской функции фиктивный параметр. Он ничего не делает в пользовательской функции.