GAS開発者向けにスプレッドシートのオートフィル機能をすべてまとめました。
隣接したセルの数字や日付、英字などの連続データを自動で振ってくれるオートフィル。大量のデータを扱う場合、大活躍する場合があります。
自動化して手間を省いて、作業を効率化しまくりましょう。
オートフィルに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
セル範囲クラス[Range]のオートフィル作成
セル範囲のオートフィル作成メソッドです。
オートフィル[autoFill(宛先範囲, シリーズ)]
autoFill(destination, series)
destinationRangeをこの範囲のデータに基づくデータで埋めます。新しい値は、指定された系列タイプによっても決まります。宛先範囲はこの範囲を含み、それを一方向にのみ拡張する必要があります。たとえば、次の例では、A1:A4の現在の値に基づいて、A1:A20に一連の増加する数値が書き込まれます。
function autoFillSample() {
var sheet = SpreadsheetApp.getActiveSheet();
// 値[1、2、3、4]を持ちます。
var sourceRange = sheet.getRange("A1:A4");
// 値で埋める範囲
var destination = sheet.getRange("A1:A20");
// A5:A20に新しい値を挿入し、A1:A4で表されるパターンを継続します
sourceRange.autoFill(destination, SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
}
名前 | タイプ | 説明 |
---|---|---|
destination | Range | 値で自動入力される範囲。宛先範囲はこの範囲を含み、それを一方向(上、下、左、または右)にのみ拡張する必要があります。 |
series | AutoFillSeries | 新しい値を計算するために使用されるべきオートフィルシリーズのタイプ。この系列の効果は、ソースデータの種類と量によって異なります。 |
隣接オートフィル[autoFillToNeighbor(シリーズ)]
autoFillToNeighbor(series)
隣接セルに基づいて新しいデータで塗りつぶす範囲を計算し、この範囲に含まれるデータに基づいて新しい値でその範囲を自動的に塗りつぶします。これらの新しい値は、指定された系列タイプによっても決まります。
計算されたデスティネーション範囲は、周囲のデータを考慮して新しい値を挿入する場所を決定します。自動入力される列のすぐ左または右側にデータがある場合、新しい値はこの隣接データまでしか広がりません。
たとえば、A1:A20が一連の増加する数値で埋められ、このメソッドが一連の日付を含むB1:B4の範囲で呼び出された場合、新しい値はB5:B20にのみ挿入されます。このように、これらの新しい値は、列Aの値を含むセルに「固定」されます。
function autoFillToNeighborSample() {
var sheet = SpreadsheetApp.getActiveSheet();
// A1:A20の値は[1、2、3、... 20]です。
// B1:B4の値は[1/1/2017、1/2/2017、...]です。
var sourceRange = sheet.getRange("B1:B4");
// 結果がB5:B20になります [1/5/2017、... 1/20/2017]
sourceRange.autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
}
名前 | タイプ | 説明 |
---|---|---|
series | AutoFillSeries | 新しい値を計算するために使用されるべきオートフィルシリーズのタイプ。この系列の効果は、ソースデータの種類と量によって異なります。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | autoFillToNeighbor(series)
オートフィルシリーズ列挙型[AutoFillSeries]
オートフィルのシリーズです。
Enum AutoFillSeries
自動入力された値を計算するために使用される系列の種類の列挙体。これらの系列が計算値に与える影響は、元データの種類と量によって異なります。
プロパティ | タイプ | 説明 |
---|---|---|
DEFAULT_SERIES | Enum | デフォルト。この設定で自動入力すると、拡張範囲内の空のセルに既存の値の増分が入力されます。 |
ALTERNATE_SERIES | Enum | この設定で自動入力すると、拡張範囲内の空のセルに既存の値のコピーが表示されます。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Enum AutoFillSeries
最後に
GASオートフィル機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント