長さが異なるが連続する縦のセルの間に空白がないデータのあるGoogleシートがあるとします。私は私のスプレッドシートのgetValues()メソッドへの呼び出しを1つだけとしようとしています。たとえば、最初のカラムについては、すべてのカラムに対してこのようにしたいと思います。次のコードはエディタで実行するのが非常に遅いです:スプレッドシートの列から配列を取り込むための最速の方法
function myFunction() {
var InfoSheetIterator = DriveApp.getFilesByName("InfoSheets");
var InfoSheetFile = InfoSheetIterator.next();
var InfoSheet = SpreadsheetApp.open(InfoSheetFile);
var DataRange = InfoSheet.getDataRange().getValues();
var ChannelList = DataRange;
var ChannelListArray = new Array();
var i = 0;
while (DataRange[i][0] != "" || DataRange[i][0] != undefined || DataRange[i][0] != null) {
ChannelListArray.push(DataRange[i][0]);
}
Logger.Log(ChannelListArray.toString());
}
これを行う方法はありますか?私は最適化しようとしているので、あまりにも多くのgetValues()呼び出しを使用することに対して警告されています。この場合、DataRangeという名前のgetValues()によって返される配列は、DataRange [0]が最初の行のすべての値を返すようなものですが、最初の列のすべての値が必要です。おそらく、私は単に列と行を反転することができますが、元のシートを大きくすると思います。