Google Apps Script で、スプレッドシートの列の値を取得する


Google スプレッドシートの 列の値を指定して取得するシュチュエーションがあり、
列の値を配列で取得する関数を実装したので、
備忘で記載します。


参考


作成したスクリプト

getRange("A:A").getValues(); で指定した列の値が取得できます。
これだけだと、全てのセルの値が取得できてしまうため、
取得後に、for ループで、null または、空白のセルを除外するようにしています。

  • getColumnValues
    function getColumnValues() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var configSheet = ss.getSheetByName('config');
      var values = configSheet.getRange("A:A").getValues();
      var result = new Array();
      for each (var value in values) {
        if(value != null && value != "") {
          result.push(value);
        }
      }
      return result;
    }
    

以下、シート名と、指定列、開始 indexを指定できるようにしました。

  • getColumnValues
    function getColumValues(sheetName, columnName, startIndex) {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName(sheetName);
      var values = sheet.getRange(columnName + ":" + columnName).getValues();
      var result = new Array();
      for (var i = 0; i < values.length; i++) {
        if (i >= startIndex) { 
          if(values[i] != null && values[i] != "") {
            result.push(values[i]);
          }
        }
      }
      return result;
    }
    
    使用箇所では以下のように使います。
  // configシートオブジェクトを取得
  var sitemapUrls = getColumValues("config", "A", 1);

以上です。

コメント