Как использовать заголовок столбца для ссылки на ячейку в Google Apps Script Электронная таблица
У меня есть несколько Google Таблиц, которые я связываю и обновляю ячейки между ними. Прямо сейчас я должен использовать ссылки R1C1 или A1, чтобы определить получение или установку ячеек на основе определенных столбцов.
Если добавлен новый столбец, все эти ссылки теперь отключены.
В каждом из этих строк в заголовках столбцов содержатся значения столбцов.
Можно ли ссылаться на ячейку в формате, таком как [columnHeader] 5 для ячейки в этом столбце, пятая строка?
Я думал о том, чтобы каждый заголовок каждого столбца назывался "именованным диапазоном", но я застрял в возможности ссылаться на ячейку, используя [named range] 5.
Предположим, я мог бы использовать какой-то способ динамического определения 100 переменных для формата данных текущего столбца (R1C1) (во всех листах), а затем попытаться использовать эти переменные псевдо-заголовка в ссылках на ячейки. Но я, вероятно, буду запускать скрипты 100 раз в день, и эта ужасная неэффективность вредит мне водителю.
Спасибо заранее.
Патрон
Ответы
Ответ 1
Я использую небольшую вспомогательную функцию, которая возвращает индекс столбца как число, которое я могу использовать в getRange(row,col)
Это очень просто и выглядит примерно так:
function getColByName(name){
var headers = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getDataRange().getValues().shift();
var colindex = headers.indexOf(name);
return colindex+1;
}
выполните следующие действия:
function testgetColByName(){
Logger.log(getColByName('header string'));
}