Ваш код не может быть оценен, потому что мы не знаем значение getCell
.
В приведенном ниже коде «поиск» является именованным диапазоном. Диапазон - Ячейка E4, которая содержит значение "ghi", которое является поисковым термином.
function test01(){
var abc = "lookup";
so5693959103(abc);
}
function so5693959103(abc) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = "56939591";
var sheet = ss.getSheetByName(sheetname);
// Lookup value is the named range = lookup which is found in E4
var vlookupformula03 = "=VLOOKUP("+abc+",A1:B10,2,0)";
//insert formula into cell E8
var targetRange03 = sheet.getRange("E10");
targetRange03.setFormula(vlookupformula03);
Logger.log("DEBUG: result03 = "+targetRange03.getValue());
}
Скриншот Vlookup
Редактировать
Эта ревизия будет работать для значения функции =mylookup("xxx")
, где 'xxx' - это значение поиска.
В приведенном ниже примере значение поиска равно «ghi»
/*
Imitates the Vlookup function. Receives:
search - The desired value to look for in the column.
Once the cell of the [search] has been found, the returned parameter would be the value of the cell which is 1 cell to the right of the found cell.
*/
function mylookup(search) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = "56939591";
var sheet = ss.getSheetByName(sheetname);
var thevalue = search;
var lastRow=sheet.getLastRow();
var data=sheet.getRange(1,1,lastRow,2).getValues();
for(i=0;i<data.length;++i){
if (data[i][0]==thevalue){
return data[i][1];
}
}
}
Функция Mylookup