小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年11月15日【ID:0】

メンバー限定

【Excel】複数シートの表を数式で1つにまとめる


以下のように、数式で複数のシートに用意された表を1つのシートにまとめて表示する方法について解説していきます。


複数の表を縦方向に繋げる

複数の表を縦方向に繋げるには、VSTACK関数を活用します。
この関数の使い方は、以下になります。

=VSTACK(配列1, [配列2], [配列3], …)
// 配列:対象の表(必要な数分、カンマ区切りで指定する)

実際に、各シートの表を指定して表を繋げる場合、以下のような数式になります。

=VSTACK('2024年1月'!A2:C10,'2024年2月'!A2:C10,'2024年3月'!A2:C11,'2024年4月'!A2:C11,'2024年5月'!A2:C11)
// それぞれのシートの表を1つ1つ指定

VSTACK関数を使うことで、上記のように表を繋げることができました。
しかし、この数式のままですと、「シートの数が増えた時」や「表にデータが追加された時」に対応するのが大変になります。
そこで、複数のシートの表を一括で指定する数式に変更していきます。

複数の表を一括で指定する

複数のシートの範囲を一括で指定する場合、「=VSTACK(」と入力した後に、「対象の先頭のシート」を選択した後に、Shiftキーを押しながら、「対象の末尾のシート」を選択します。
この時、対象のシートの間に対象でないシートが含まれていると、その対象でないシート自体も参照されてしまいます。
対象の末尾のシートを選択することができましたら、アクティブになっているシートの表の範囲を大きめに指定します。
実際に上記の手順で指定すると、以下のような数式になります。

=VSTACK('2024年1月:2024年5月'!A2:C100)
// 今後データが追加されることを考慮して100行目まで指定

上記の数式を入力すると、空の範囲が「0」として抽出されてしまいます。
ただ、全シートの表を繋げることができました。

「0」を除外する方法については、後で解説していきます。

こちらで参照しているシートは、対象のシートの先頭から末尾のシートになります。
次から追加するシートに関しては、指定した先頭と末尾のシートの間に移動することで、数式を修正する必要がなく、まとめた表に加えることができるようになります。

そのため、先頭と末尾のシートに関しては「空の表」にし、シートの開始と終了が分かりやすいようなシート名にしておくと良いです。
実際に、修正した例が以下になります。

=VSTACK(S:G!A2:C100)

先頭と末尾のシートに関しては、以下のように空の表にしています。

以上の手順で、複数のシートの表を一括で指定し、抽出することができました。
ただ、空(「0」)のデータが表示されている状態では、見た目が良くないので、空(「0」)のデータを除外して抽出する数式に変更する必要があります。


空(「0」)のデータを除外する

続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
ExcelVBA特別教材配布 ExcelVBA特別教材配布





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

4021841

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ