このようなシートがあって
一行目が「カタカナ」の列のアルファベット(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()