# 行のグループ化

特定の列を軸として指定することで、その列の値を元に行（レコード）をグループ化して表示することが可能です。行がグループ化された場合、同じ列の値を持つレコードがそれぞれのグループにまとめられてシート内に表示されます。

<figure><img src="https://2817247209-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FS2wT6ommdiuYru74JEtd%2Fuploads%2Fgit-blob-42735a98a291c1ee72511217d6d1a87760394abf%2Frow-grouping.png?alt=media" alt=""><figcaption></figcaption></figure>

ある列を軸として行のグループ化を行う場合、以下の手順に従います。

<figure><img src="https://2817247209-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FS2wT6ommdiuYru74JEtd%2Fuploads%2Fgit-blob-8c9ad61b9487082d7ad13e0333ef0e054870bb4d%2Frow-grouping-menu%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

1. 対象の列の列ヘッダのメニューから「行をグループ化」を選択します
2. 列がシートの最左端の列として固定され、レコードがグループ化されて表示されます

<figure><img src="https://2817247209-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FS2wT6ommdiuYru74JEtd%2Fuploads%2Fgit-blob-9fb30f44d2166ca0a58250c83780d4a4663092bf%2Frow-grouping-detail.png?alt=media" alt=""><figcaption></figcaption></figure>

それぞれのグループ値を持つ行が **グループ行 \[A]** としてシート内に表示され、その中に **詳細行 \[B]** としてシート内の各レコードがグループ分けされて表示されます。グループ化の軸として指定された列は **行グループ列 \[C]** としてグリッド表の左端の固定表示領域内に表示されます。

## 折りたたみ・展開表示

グループ行の先頭に折りたたみのための山形の矢印アイコンが表示されます。グループに所属するレコードは詳細行としてグループ行の中に包含されて表示されますが、グループ行の折りたたみアイコンをクリックすることで、詳細行の表示・非表示が可能です。

シートのヘッダにある山形の矢印アイコンは、シート内のすべてのグループ行の折りたたみ状態を一括で変更します。シート全体での折りたたみ・展開状態はシート・ビューに保存されるため、次回表示時に折りたたみ・展開状態のどちらで表示するかを定めておくことも可能です。

## グループ行の固定表示

行グループ化されたシートに対して縦方向にスクロールを行った際には、各グループの詳細行が完全にスクロールされて見えなくなるまで、グループ行は画面上部に固定されます。このため、グループに所属するレコードの数が多い場合でも、どのグループに属しているかを見失うことなく、常に把握が可能になっています。

## 小計表示

集計表示が設定されている列がシート内に存在する場合、グループ行には小計値が表示されます。[集計行](https://docs.mashmatrix.com/mashmatrix-sheet/ja/functions_about_displaying_data/summary_row)ではシート全体のレコードに対する集計値が表示されるのに対し、グループ行にはグループに所属するレコードを対象とする集計値が表示されます。集計内容は、シート内のデータの入力／編集に応じて、リアルタイムで計算され反映されます。詳しくは「[集計表示](https://docs.mashmatrix.com/mashmatrix-sheet/ja/change_column_setting/options#summary-display)」を参照してください。

## 複数の列による行グループ化

行グループ化する際の軸となる列（行グループ列）には複数の列を指定できます。複数の列が行グループ列となっている場合、行グループ列となっているすべての列の値の組合わせを元に行のグループ化を行います。グループ化の適用順は固定領域内の行グループ列の表示順番によって指定できます。

{% hint style="info" %}
多段レベルでの行グループ化には現在対応していません
{% endhint %}

## 日付/日付時刻データ型の列による行グループ化

日付および日付時刻データ型を持つ列の場合、グループ化を行う際の集計期間単位を変更することができます。

集計期間単位を変更するには、以下のように行います。

1. 日付値・日付時刻値をもつ列を行グループ列として行グループ化します
2. 行グループ列のヘッダメニューを開き、「集計期間単位」サブメニュー内の任意の集計期間を選択します。

変更可能な集計期間単位は以下のようになります。

* 日付
* 週
* 年月
* 四半期
* 年

集計期間単位を変更した場合、同じ集計期間に属する値をもつレコードは同じグループとして行グループ化表示がなされます。例えば「2023/4/15」という日付値を持つレコードと「2023/6/1」という日付値を持つレコードが四半期の集計期間単位で行グループ化された場合、同じ「2023 Q2」というグループ行内の詳細行として表示されます。

## 行グループ内での新規レコード作成

シートで新規レコード作成操作が許可されている場合、各グループの最下部に新規レコード作成のための行が表示されます。行のヘッダ部にある＋ボタンあるいは空白のセルをクリックすることで、新規レコードを追加できます。

行グループ列として指定されている列が編集可能な列である場合、同グループに追加された新規レコードには、自動的にグループ行の値が列の値として設定されます。そのため、レコードを保存した後も同じグループに所属するレコードとなります。

## 行グループ化の解除

行グループ化を解除するには、以下の手順で行います。

* 行グループ化列のヘッダメニューから「行のグループ化を解除」を選択

## 行グループ化の制限事項

* 行グループ列は、グリッド表の最左端に固定表示されます。行グループ化されている場合、行グループ列を固定領域から外すことはできません。
* 行グループ化の対象となるレコードは、シートにロード済みのレコードが対象となります。対象となるレコードの全体をサーバから取得できていない場合、表示されるグループ行は本来のものより少なくなる可能性があります。また、グループ行内に表示される小計値は本来の値とは異なる可能性があります。
  * その際、表示される集計値には警告マークが表示され、実際の集計結果と異なる可能性があることを示します
