日々の業務や家計の管理でExcelを使っている皆様、こんな経験はありませんでしょうか?
- 複数のExcelシートに散らばったデータを、一つにまとめるのに毎回手間がかかる。
- 手作業でのコピー&ペースト(コピペ)が多く、うっかりミスをしてしまわないか心配になる。
- 毎月の集計作業や報告書作成に、想像以上に時間がかかってしまう。
もし一つでも心当たりがあるなら、朗報です!Excelには、これらのデータ整理の悩みを一気に解決してくれる強力な機能があります。それが「VSTACK関数」です。この関数を一度覚えれば、これまで時間をかけていた作業が劇的に効率化され、データ整理の達人へと大きく近づくことができるでしょう。
VSTACK関数の使い方:まずは2つの表をまとめてみよう
実際にVSTACK関数を使ってみましょう。まずは、最も基本的な「2つの表を縦に結合する」方法から解説します。

この様な2つの表があります。
基本構文
=VSTACK(配列1, [配列2], …)
配列1: 最初に結合したい表やデータ範囲を指定します。
配列2:…: 2つ目以降に結合したい表やデータ範囲を指定します。複数指定可能です。

=VSTACK(B3:D6,F4:H6)

VSTACK関数は、入力したセルを起点に、結果が自動的に必要な範囲に展開される「スピル機能」に対応しています。複雑な数式をたくさんのセルに入力する必要はありません。元データが変われば、まとめた表も自動で更新
バラバラの売上データを「日付順」に自動で並べ替える
次に、VSTACK関数と他の関数を組み合わせることで、さらに高度なデータ整理ができることをご紹介します。ここでは、複数の場所に散らばった売上データを一つに集約し、さらに「日付順」に自動で並べ替える方法を見ていきましょう。

まず、VSTACK関数を使って、点在するすべての売上データを一つにまとめます。
=VSTACK(B4:D6,B9:D11,B14:D16)

この数式で、3つのデータが縦に連結された一つの表が作成されます。

表示形式を日付に書き換えます。
SORT関数で売上順に並べ替える

=SORT(VSTACK(B4:D6,B9:D11,B14:D16),3,1)
SORT関数の引数解説
- 第1引数: 並べ替えの対象となるデータ(ここではVSTACK関数の結果全体)。
- 第2引数: 並べ替えの基準となる列番号。結合後の表で「金額」が3列目にあるため、「3」を指定します。
- 第3引数: 並べ替えの順序。「TRUE」または「1」で昇順(古い日付から新しい日付へ)、「FALSE」または「-1」で降順(新しい日付から古い日付へ)となります。今回は古い日付順にしたいので「TRUE」を指定します。
この数式を入力するだけで、複数の場所に散らばっていたデータが一つにまとまり、さらに日付順にきれいに並べ替えられた表が自動的に完成します。手作業で一つずつ並べ替える手間がなくなるだけでなく、常に最新のデータが日付順に整理されるため、分析や確認作業が非常にスムーズになります。
「支店別シート」を「統合レポート」に一瞬でまとめる
会社で支店ごとの売上データが別々のシートに分かれているといったケースはよくあります。このような場合でも、VSTACK関数を使えば、複数のシートにまたがるデータを簡単に一つの統合レポートとしてまとめることができます。

ここでは、「品川店」「渋谷店」「秋葉原店」という3つの支店の売上データが、それぞれ別のシートに保存されていると仮定します。これらのデータを一つの「統合レポート」シートにまとめる手順を見ていきましょう。
シート名を指定してデータを結合する

統合レポートを作成したいシート(例:「統合レポート」シート)の任意のセル(例えばB3セル)に、以下の数式を入力します。ポイントは、各シートのデータ範囲を「’シート名’!セル範囲」という形式で指定することです。

この数式を入力してEnterキーを押すと、各支店のデータが縦に連結され、一つの統合された表が自動的に作成されます。ただ、範囲選択を増やしたため、入力されてないセルは0となってしまいます。
「終了行を指定しない範囲指定」と「FILTER関数」の組み合わせ
この問題を解決し、データが追加されても自動的に結合後の表に反映されるようにするには、「終了行を指定しない範囲指定」と「FILTER関数」を組み合わせるのが最も効果的です。
データ範囲を指定する際に、A3:D13のように最後の行番号を固定するのではなく、A:Dのように列記号のみを指定します。これにより、その列の最後までが範囲として認識されるようになります。
FILTER関数で空白行を除外する
そこで、FILTER関数を使って「空白ではない行だけを抽出する」という条件を追加します。FILTER関数は、指定した範囲の中から条件に一致するデータだけを抽出する便利な関数です。
推奨される数式
以下のように、VSTACKで結合したい各範囲をFILTER関数で囲みます。
=FILTER(VSTACK(品川:秋葉原店!A4:C15), VSTACK(品川:秋葉原店!A4:A15)<>0)
第1引数: VSTACK(‘品川:秋葉原店’!A4:C15) で、3シート分のA〜C列のデータを縦に結合します。
第2引数: VSTACK(‘品川:秋葉原店’!A4:A15)<>0 で、A列だけを抽出して「0ではない(空欄ではない)」という条件(TRUE/FALSEの1次元配列)を作ってフィルターをかけています。

すると、空白を除外して計算することが可能です。
- Vstackの代わりになるものは?
-
VSTACKが使えない環境ではどうする? Excel 2019以前ではVSTACKは使えませんが、代わりに「Power Query」で統合できます。 VBAやマクロ不要で自動更新したいときに便利
- ExcelのHSTACK関数とは?
-
HSTACK関数は、指定した複数のセル範囲や配列を水平方向(横方向)に順番に追加して、1つの新しい配列として結合するExcelの関数です。 複数の表を横に並べてまとめたい場合や、離れた場所にあるデータを1行に結合したい場合に役立ちます。
まとめ
VSTACK関数は、複数の表やシートに散らばったデータを効率的に統合し、さらに自動更新まで可能にする非常に強力なExcel関数です。特に、日々のデータ整理に時間を取られている中高年のExcelユーザーの皆様にとって、この関数は作業効率を劇的に向上させます。
最初は少し難しく感じるかもしれませんが、基本的な使い方から始めて、徐々にFILTER関数との組み合わせに挑戦してみてください。一度その便利さを体験すれば、もう手作業でのコピペには戻れないはずです。ぜひVSTACK関数をマスターして、Excel作業をもっと快適に、もっとスマートにこなしましょう!
■__________________________________■
メルマガ登録でお渡しする
【10大】
特典をプレゼント中↓↓↓
✅Powerquery教科書(PDF版)
✅MOS教科書(PDF版)
✅Ctrlキーのショートカット集
✅現金出納帳フォーマット
✅家計簿フォーマット
✅備品管理表フォーマット
✅提出物が揃ったら自動で完成(提出物確認)
✅備品注文書(チェックボックスで管理)
✅ガントチャートフォーマット
✅目次自動作成ツール
✅在庫管理表
\ 無料メルマガに登録してプレゼントの受け取りはここから/




コメント