Google Apps Script(GAS)には、組み込みのスプレッドシートクラスであるRange
クラスにslice
メソッドがあります。
キコ
このメソッドを使用すると、スプレッドシート上のデータの一部を抽出することができるよ!
以下に、slice
メソッドの基本的な使い方を示します。
// スプレッドシートの範囲を指定します(例: "A1:C5")
var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1:C5");
// sliceメソッドを使用して、範囲の一部を抽出します
var slicedRange = range.slice(1, 3); // 2行目から3行目までの範囲を抽出
// 抽出した範囲の値をログに表示します
var values = slicedRange.getValues();
Logger.log(values);
上記の例では、getRange
メソッドを使用してスプレッドシートの範囲を指定し、slice
メソッドを使用して指定した範囲の一部を抽出しています。
slice
メソッドの引数には、開始行(1から始まるインデックス)と終了行(含まれない)を指定します。
抽出した範囲の値は、getValues
メソッドを使用して取得し、必要に応じて処理や表示に利用できます。
上記の例では、2行目から3行目までの範囲を抽出していますが、範囲や抽出する行数などは必要に応じて変更してください。
gas sliceの使い方!Slice以外の文字抽出
ルリ
slice
、substring
、substr
の比較結果をテーブル形式でまとめました。
メソッド | 説明 | 使用方法 | 指定方法 | 負のインデックス対応 |
---|---|---|---|---|
slice | 部分文字列を抽出します。 | str.slice(start, end) | 開始位置と終了位置(終了位置は含まない)を指定します。 | 対応しています。負のインデックスは末尾からの位置として扱われます。 |
substring | 部分文字列を抽出します。 | str.substring(start, end) | 開始位置と終了位置(終了位置は含まない)を指定します。 | 対応しています。負のインデックスは正の値に変換されます。 |
substr | 部分文字列を抽出します。 | str.substr(start, length) | 開始位置と抽出する文字数を指定します。 | 開始位置に負のインデックスを使用できますが、終了位置は指定できません。 |
以下に、使用例と比較結果のテーブルを示します。
var str = "Hello, World!";
var start = 2;
var end = 7;
var length = 5;
var sliceResult = str.slice(start, end);
var substringResult = str.substring(start, end);
var substrResult = str.substr(start, length);
var table = [
["メソッド", "抽出結果"],
["slice", sliceResult],
["substring", substringResult],
["substr", substrResult]
];
for (var i = 0; i < table.length; i++) {
Logger.log(table[i][0] + ": " + table[i][1]);
}
出力結果:
メソッド | 抽出結果
----------------
slice | llo,
substring | llo,
substr | llo,
上記の例では、元の文字列と抽出する部分文字列の範囲を指定して、slice
、substring
、substr
の結果を取得しています。
抽出結果をテーブル形式でまとめ、ログに表示しています。
注意点として、slice
とsubstring
は終了位置を含まない範囲で指定するのに対し、substr
は抽出する文字数を指定します。
ルリ
substring
はslice
と異なり、開始位置と終了位置を逆に指定することもできません。
gas sliceの使い方を学んだあとは…
本記事で基本的な文字抽出の方法は習得できたはずです!
GAS開発で出てくる基本的な関数の利用方法はこちらで紹介しているので、どんどん確認して知識を増やしていきましょう!
コメント