このようなシートがあって
一行目が「カタカナ」の列のアルファベット(B)を取得したい
コード.gs
function getColStr() {
var str = "カタカナ";
var sheet = SpreadsheetApp.getActiveSheet();
var headers = getSheetHeaders(sheet)[0];
var col = headers.indexOf(str) + 1;
var range = sheet.getRange(1, col);
var a1 = range.getA1Notation();
var colStr = a1.replace(/[0-9]/g, '');
Logger.log(colStr);
}
function getSheetHeaders(sheet) {
var last_col = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, last_col);
var headers = range.getValues();
return headers;
}
|
意訳この機能がやること 探す文字列を決めて シートを取得して getSheetHeadersに渡して返ってきた二次元配列の0番目を取得して [[ひらがな, カタカナ, 半カナ]]の[ひらがな, カタカナ, 半カナ]を取得する 一致する文字のindexに+1して indexは0始まりなので+1する 1行目のその列を取得して A1 の形にして 数値を削除して アルファベットだけログに出す } この機能がやること 受け取ったシートで値が入力されている最終列を取得して 1行目から1行、1列目から最終列までを範囲選択して 値を取得して 返す |
getColStr()を実行すると B を取得できます
参考
getA1Notation()
https://developers.google.com/apps-script/reference/spreadsheet/range#getA1Notation()