【GAS】スプレッドシートのオートフィル機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートのオートフィル機能をすべてまとめました。

隣接したセルの数字や日付、英字などの連続データを自動で振ってくれるオートフィル。大量のデータを扱う場合、大活躍する場合があります。

自動化して手間を省いて、作業を効率化しまくりましょう。

オートフィルに関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク

Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

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);
}
Parameters
名前タイプ説明
destinationRange値で自動入力される範囲。宛先範囲はこの範囲を含み、それを一方向(上、下、左、または右)にのみ拡張する必要があります。
seriesAutoFillSeries新しい値を計算するために使用されるべきオートフィルシリーズのタイプ。この系列の効果は、ソースデータの種類と量によって異なります。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | autoFill(destination, series)

隣接オートフィル[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);
}
Parameters
名前タイプ説明
seriesAutoFillSeries新しい値を計算するために使用されるべきオートフィルシリーズのタイプ。この系列の効果は、ソースデータの種類と量によって異なります。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | autoFillToNeighbor(series)




オートフィルシリーズ列挙型[AutoFillSeries]

オートフィルのシリーズです。

Enum AutoFillSeries
自動入力された値を計算するために使用される系列の種類の列挙体。これらの系列が計算値に与える影響は、元データの種類と量によって異なります。

Properties
プロパティタイプ説明
DEFAULT_SERIESEnumデフォルト。この設定で自動入力すると、拡張範囲内の空のセルに既存の値の増分が入力されます。
ALTERNATE_SERIESEnumこの設定で自動入力すると、拡張範囲内の空のセルに既存の値のコピーが表示されます。

参照:Google Apps Script | REFERENCE | SpreadSheet | Enum AutoFillSeries


最後に

GASオートフィル機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加