GAS PR

[GAS]セルの結合・分割や、存在する結合セルを取得する方法 -Rangeクラス-

記事内に商品プロモーションを含む場合があります

Google Apps Script (GAS) でこのセル範囲のセルを結合・分割したり、存在する結合セルを取得する方法を説明します。

Rangeクラスのメソッドを利用した手順について説明します。

Google Apps Scriptの基本的な使い方については下記をご覧ください。

GASによるスプレッドシート操作の概要

GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。

クラス説明
SpreadSheetAppSpreadSheetサービスの親クラス
Spreadsheetスプレッドシートを操作するクラス
Sheetシートを操作するクラス
Rangeセル範囲を操作するクラス

それぞれ下記のような位置付けになります。

「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。

このページでは、上記の中のRangeクラスの下記のメソッドについて説明します。

メソッド戻り値説明
merge()Rangeこのセル範囲のセルを結合する
mergeAcross()Rangeこのセル範囲のセルを横方向で結合する
mergeVertically()Rangeこのセル範囲のセルを縦方向で結合する
breakApart()Rangeこのセル範囲のセルを分割する
getMergedRanges()Range[]このセル範囲に存在する結合されたセルを取得する
isPartOfMerge()Booleanこのセル範囲に結合されたセルが存在するかどうかを取得する

このセル範囲のセルを結合・分割する

このセル範囲のセルを結合・分割するメソッドを説明します。

このセル範囲のセルを結合する:merge()

このセル範囲のセルを結合する方法です。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セル範囲が結合されます。

このセル範囲のセルを横方向で結合する:mergeAcross()

このセル範囲のセルを横方向で結合する方法です。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セル範囲が横方向で結合されます。

このセル範囲のセルを縦方向で結合する:mergeVertically()

このセル範囲のセルを縦方向で結合する方法です。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セル範囲が縦方向で結合されます。

このセル範囲のセルを分割する:breakApart()

このセル範囲のセルを分割する方法です。

結合されたセルをすべて含んでいる必要があります。結合されたセルの一部のみを含んでいる場合はエラーになります。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セル範囲に存在する結合されたセルが分割されます。

このセル範囲に結合されたセルが存在するかや、結合されたセル範囲を取得する

このセル範囲に結合されたセルが存在するかどうかを取得したり、結合されたセル範囲をRangeクラスの配列で取得するメソッドを説明します。

このセル範囲に結合されたセルが存在するかどうかを取得する:isPartOfMerge()

このセル範囲に、結合されたセルが存在するかどうかを取得する方法です。結合されたセルの一部でも含んでいれば取得の対象になります。

結合されたセルが1つでも存在する場合はtrue、1つも存在しない場合はfalseを返します。

下記のように実行します。

下記のファイルで実行してみます。指定されたセル範囲はC2:D2のため”B2セル”と記載された結合セルは一部のみ含んでいる状態です。

下記のような実行結果になります。一部のセルのみ含んでいる結合セルも含め、結合されたセルが存在するかどうかを取得できます。

このセル範囲に存在する結合されたセルを取得する:getMergedRanges()

このセル範囲の結合されたセルを取得する方法です。結合されたセルの一部でも含んでいれば取得の対象になります。

Rangeクラスの配列で返します。

下記のように実行します。

下記のファイルで実行してみます。指定されたセル範囲はB2:D3のため”D3セル”と記載された結合セルは一部のみ含んでいる状態です。

下記のような実行結果になります。一部のセルのみ含んでいる結合セルも含め、取得できます。

まとめ

Google Apps Script (GAS) でこのセル範囲のセルを結合・分割したり、存在する結合セルを取得する方法を説明しました。

GASは無料で利用できてとても便利なツールです。

Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます

GASの基本構文を知りたい方は、下記もご覧ください。