【GAS】配列をスプレッドシートに書き込み、読み取りする方法解説
配列をスプレッドシートに書き込んだり読み取ったりする方法がわからない。。
今回は、このような方に向けて、
GASで配列をスプシに書き込む方法、またそれを読み取る方法
について解説していきます。
私は、GASを使っての業務改善、効率化を行っています。その中で培った使えるコードを解説していきます!
では、やっていきましょう!
目次(クリックで読みたい部分にジャンプできます)
GASの配列をスプレッドシートに直接書き込むことはできない
GASの一次元配列は、直接スプレッドシートに書き込むことはできません。
2次元配列であれば、範囲を指定しさえすれば、setValues() でスプシに入れることはできます。
ただ、この方法だと1つのセルに配列を収めることはできなく、配列の長さによって、使用するセルの数も可変になります。
スプレッドシートを配列記録専用にしている場合であれば、良いかもですが、複数のセルに配列が格納されるのは、管理しづらいかも知れません。
配列がスプレッドシートに代入できない
配列の1つ目しか、代入されません。
GASからスプレッドシートに配列を書き込む方法
GASで作成した配列をスプレッドシートに書き込むためには、文字列に変換する必要があります。
配列を文字列に変換するためには、join() メソッドを使います。
シートの指定.getRange(行,列).setValue(配列.join(" , "))
joinの中の 「 , 」の部分は好きなものに変えて問題ありません。
使用例
実際に配列をスプレッドシートに書き入れてみます。
配列が「 , 」を挟んで、挿入されていますね。
スプレッドシート上に書き込んだ配列をGASに読み取る方法
では、スプレッドシートに書き込んだ配列を逆に、GASに読み取れるようにする方法を解説していきます。
スプレッドシート上に文字列として、書き込んだ配列をGASに元の配列として取り込んでみましょう。
取り込むのには、split() メソッドを使います。
シートの指定.getRange(行,列).getValue().split(" , ")
使用例
value に文字列で読み込んだ値を、入れています。
ログに実際に文字列が配列として読み込まれているのがわかりますね!
まとめ
これら二つを用いれば、配列をスプレッドシートに記録しておいて、別の処理でGASに読み込むということが可能になります。
ぜひ配列を使う際には活用してみてくださいね