LANG SELRCT

コードを書く場所

2019年12月24日火曜日

シートの複数列のデータをそれぞれ一次元配列で取得したい2(オブジェクト)


A, B, C列に値が入っていて列ごとにデータを取得したい


そしてこのようにオブジェクトにしたい
{
  col1=[a1, a2, a3, a4, a5],
  col2=[b1, b2, b3, b4, b5],
  col3=[c1, c2, c3, c4, c5]
}





コード.gs
function getMultipleColsData() {
  var ss_url = 'https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0';
  var ss = SpreadsheetApp.openByUrl(ss_url);
  var sheet = ss.getSheets()[0];
  var lastRow = sheet.getLastRow();
  var lastCol = sheet.getLastColumn();
  
  var obj = {};
  for(var i = 0; i < lastCol; i++) {
    
    var targetCol = i + 1;
    var range = sheet.getRange(1, targetCol, lastRow, 1);
    var values = range.getDisplayValues();
    var array = values.map(function(array) { return array[0] });
    obj['col' + targetCol] = array;

  }
  Logger.log(obj);
}


関連記事

シートの複数列のデータをそれぞれ一次元配列で取得したい