【Google Apps Script(GAS)】splitで文字列を区切る2(lengthで配列数を調べる)

スポンサーリンク
オンライン完結で通学不要!無料体験あり!
最短4週間でGASをマスターできる
Google Apps Scriptコース』開講中!
申し込み金額の20%分のキャンペーンコードをプレゼントする「真夏の20%還元キャンペーン」を8月16日まで実施中

今回は前回の記事の続きです。

【Google Apps Script(GAS)】splitで文字列を区切る1
今回はGoogle Apps Scriptで文字列を区切る方法(区切り位置)についてご紹介します。 今回の例を読み進めるにあたり、配列についてある程度理解している必要がありますのでご注意ください。 https://vba-gas.info/category/google-apps-script/gas-array

前回のサンプル1では事前に配列の数が分かっていましたが、このままでは文字列を区切った後の配列数が事前に分からない場合に対処する事ができません。
そこで今回は、文字列を区切った後の配列数が事前に分からない場合の処理方法についてご紹介します。
(というか、配列の数は事前に分からない場合がほとんどかもしれません)

スポンサーリンク
スポンサーリンク

文字列を区切った後の配列数が事前に分からない場合

それでは、下記のサンプル2を元にご紹介します。

・サンプル2

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得
var sh = ss.getActiveSheet(); //アクティブなスプレッドシートのアクティブシートを取得

var str = “1,2,3,4,5”;
var ary = str.split(‘,’); //splitで文字列を区切って配列変数に格納
var count = ary.length; //配列変数aryの配列数を調べる

Browser.msgBox(count);

for (var i = 0; i < count; i++) {

sh.getRange(i + 1, 1).setValue(ary[i]); //配列変数aryのi+1番目に格納されている値をセルAi+1に入力
}
}

それでは上記のサンプル2についてですが、

var ary = str.split(‘,’)

までは前回のサンプル1と同様になります。
次の、

var count = ary.length;

ですが、

length

を使って配列の数をカウントし、取得した数値を変数countに代入しています。

Browser.msgBox(count);

は本来必要ない処理ではありますが、変数countに代入された数値が何であるかを確認するために、今回はメッセージボックスに表示させています。

変数aryの配列数

変数aryの配列数

メッセージボックスにより、今回の配列変数aryの配列数は5つ、つまり[0]~[4]までの格納場所が存在している事が分かりましたので、これを元に処理を進めていきます。

for (var i = 0; i < count; i++) {

のfor文ですが、変数iの初期値を0とし、iが変数countより小さい間、つまりiが0~4の間は処理を繰り返すようにします。

sh.getRange(1, i + 1).setValue(ary[i]);

では、アクティブシートのA列のi+1目、つまりセルA1~A5に、配列変数aryの[0]~[4]に格納されている値を順番に記入していく処理となります。

文字列区切り 実行結果

文字列区切り 実行結果

これで文字列を区切った後、いくつの文字列に分かれて配列に格納されたかが分からなくても、その都度ごとに配列数を数えて臨機応変に処理する事ができます。

タイトルとURLをコピーしました