VSTACK関数で複数の表を1つにまとめる!

Excel 2024 Microsoft 365 Web版 Excel
Microsoft 365は、バージョン2412で動作確認しています。
解説記事内の画像はExcel 2021のものです。

スポンサーリンク

VSTACK関数は、Excelの表を縦に積んで1つにまとめる関数

Vertical(縦に)+ Stack(積み重ねる)

スタッキングされた保存容器

なので、このように複数の表を1つにまとめてくれます。

VSTACK関数を使うときに頭に置いておくことはこちら!

  • VSTACK関数はスピル関数
  • VSTACK関数が使えるのはMicrosoft 365、Excel 2024、またはWeb版のExcel
  • 積み重ねたい表は、普通の表でもテーブルでもOK(テーブルが超おすすめ)
目次

スポンサーリンク

VSTACK関数の基本の使い方

結果を表示させたい箇所に見出しを作っておく

まずはお好みで、結果を表示させたい箇所に見出しを作っておきます。
積んでいく最初の表を、見出しを含めて積む場合は作らなくてもいいので、ここは完全にお好みで。

答を表示させたい一番左上のセルを選択

VSTACK関数はスピル関数なので、関数を入力する箇所は、答をズラーッと表示させたいところの一番左上。
というわけで、答を表示させたい箇所の、一番左上のセルを選択。

半角イコールを入力

数式を入力する合図で、半角イコールを入力。

VSTACKを選択

関数名の頭文字「V」だけでも、「VSTACK」の途中まで入力でも、入力で絞り込まれた関数名が一覧表示されるので、キーでVSTACKを選択し、Tabキーを押すと、

関数名VSTACKと括弧始まりが入力された

関数名VSTACKと、ここから引数を入力しますよという合図の括弧始まりが入力されます。

スタックしたい1つ目の表の範囲を選択

まずはスタックしたい1つめの表の範囲を選択。
今回は答を表示させたい箇所にあらかじめ見出しを作っておいたので、スタックする表のデータ部分だけを範囲選択すればOK。

スタックしたい1つ目のテーブル範囲を選択

この時、選択する表がテーブルだと、テーブル専用の範囲選択で瞬時に指定できるので超便利です!

半角カンマを入力

次の指定の前に、区切りとなる半角カンマを入力。

スタックしたい2つめの表の範囲を選択

お次は、スタックしたい2つ目の表の範囲を選択。

半角カンマを入力

まだ指定したい表があるなら、お次の表の範囲を指定する前に、区切りとなる半角カンマを入力。

❶ 表の範囲を指定
❷ 区切りとなる半角カンマを入力
❸ お次の表の範囲を指定

スタックしたい表の範囲すべてを指定し終わった

の操作を繰り返し、スタックしたい表の範囲すべてを指定し終わったら、

半角カンマを入力

「もう指定は終わりましたよ」の合図で半角で括弧閉じを入力してEnterキーで確定すると、

半角カンマを入力

指定した表をスタックして、1つの表にまとめることができました!

VSTACK関数の数式

数式バーで数式を確認

数式を入力したセルを選択すると、数式バーでその数式を確認できます。

VSTACK関数の数式

数式内で指定した表が普通のセル範囲だった場合は、こんな数式に。

数式内で指定した表がテーブルだった場合

数式内で指定した表がテーブルだった場合は、

VSTACK関数の数式

こんな数式に。
スタックするよう指示しているテーブルの名前が数式に表示されています。

数式のゴースト

そして、数式内で指定した表が普通の範囲だろうが、テーブルだろうがに関わらず、VSTACK関数はスピル関数なので、自分で数式を入力したセル以外の、結果が表示されているセルにはゴーストが表示されています。

データが増えるとどうなる?

VSTACK関数の数式

VSTACK関数でまとめる指示を出した表が、普通のセルの場合は、表の範囲を「何番地から何番地まで」と限定的に指定しているため、

数式内で指定した表にデータを追加した

その範囲以上に増えたデータは、自動で結果に表示されることはありません。

VSTACK関数の数式

でも、VSTACK関数でまとめる指示を出した表がテーブルだった場合は、「このテーブルを1つにまとめてください」という、テーブル名での指定になっていることと、

数式内で指定したテーブルにデータを追加した

そもそもテーブルは、データが増えても範囲を自動で拡張してくれるため、元のテーブルにデータが増えたら、もちろん自動的にVSTACK関数の結果にも反映されます
これこそが、まさにテーブルをおすすめしている理由です!

現実的には別シート

数式内で指定したテーブルにデータを追加した

今回は設定方法を分かりやすくするため、同じシートにある表を1つにまとめる例を使いましたが、現実的には、それぞれの表が別のシートにあり、VSTACK関数の結果も別シートに表示させる方が現実的だと思います。

別のシートにある場合の数式

それぞれが別のシートにある場合の数式はこんな感じ。
この数式は表が普通のセル範囲だった場合。

VSTACK関数の数式

それぞれが別シートにある場合でも、表がテーブルになっている場合は、テーブル名が表示されるため、それぞれの表が同一シートにある場合と同じになります。

列数が違うと#N/Aエラー

表の列数が揃っていない

VSTACK関数でまとめたい表の列数が揃っていないと、

VSTACK関数の#N/Aエラー

1つにまとめた結果、列数の少ない表のところに#N/Aエラーが表示されてしまいます。

IFERROR関数とVSTACK関数のネスト

なので、列数が違う表をVSTACKで1つにまとめたい場合は、IFERROR関数や、IFNA関数を使って、

IFERROR関数でエラーを空欄表示にした

エラー表示となる部分を空欄(またはお好みの文字など)で表示されるようにします。

スポンサーリンク

かつて、こんな後悔のご経験はありませんか?
もっと早くからパソコンを触っておけば...
今まさしく、あの時とは比べものにならない大きな進化が、今まで経験したことのない驚異的なスピードで私たちを巻き込んでいます。
そうです、AIです。
あの時の何倍も何十倍も大きな後悔をしないために、本当に必要な情報とテクニックが手に入る場所、それがBe Cool UsersのAI特化メンバーシップです!

Be Cool Users管理人の略歴・得意なことをまとめました!
お仕事のご依頼も「自己紹介・お仕事のご依頼につきまして」からご連絡くださいませ。
「こんなことできる?」もお気軽にご相談ください。

目次へ
ページ先頭へ