ラベルラベル

動的配列・スピル入門

VSTACK関数を見て理解する

複数の配列を上から下へ順番につなぎ、1つの大きな配列として返す関数です。

3つのポイント

  1. 縦につなぐ複数の配列を指定する
  2. 配列を上から下へ結合する
  3. まとまった結果を複数セルへスピルする
例題

2つの店舗の商品リストを縦につなぐ

サンプル数式

  • 配列1
  • 配列2

いまの結果:

5行 × 2列
計算結果
結果セル:G2スピル範囲:G2:H6

先頭行:「りんご」 | 10

入力・条件:配列1 A2:B3(2行 × 2列) / 配列2 D2:E4(3行 × 2列)
  • 配列1A2:B3(2行 × 2列)先頭行:「りんご」 | 10
  • 配列2D2:E4(3行 × 2列)先頭行:「みかん」 | 12
この結果になる理由

複数の配列を縦につないだ結果です。

サンプルデータ

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「2つの店舗の商品リストを縦につなぐ」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABCDEFGH
1店舗Aの商品数量 店舗Bの商品数量 結合結果 
2りんご10 みかん12 りんご10
3バナナ15 もも8 バナナ15
4   ぶどう20 みかん12
5      もも8
6      ぶどう20
配列1配列2起点セルスピル結果
①・② 正式引数 / 教材要素1–3 処理の流れ

2つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A2:B3表のセル: A2:B3

    最初に配置する店舗Aの商品リストです。A2:B3の2行×2列を指定します。

  2. D2:E4表のセル: D2:E4

    配列1の下につなぐ店舗Bの商品リストです。D2:E4の3行×2列を指定します。

この数式を日本語にすると

A2:B3の店舗Aの商品2件と、D2:E4の店舗Bの商品3件を上から下へ結合します。結果はG2:H6にスピルし、5行×2列の1つの表になります。

この説明は、最初に表示されているサンプルデータをもとにしています。

処理の流れ

手順1〜3を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 第1配列を確認する

    A2B2A3B3

    A2:B3の2行×2列を、上から第1の配列として縦につなぎます。

  2. 第2配列を確認する

    D2E2D3E3D4E4

    D2:E4の3行×2列を、上から第2の配列として縦につなぎます。

  3. 配列を縦に結合する

    G2:H6

    2つの配列を縦につなぎ、5行×2列の結果をG2:H6へスピルします。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • VSTACKは指定した配列を上から下へ順番に結合します。
  • 結果の行数は、指定した各配列の行数の合計になります。
  • 結果の列数は、指定した配列の中で最も列数が多い配列に合わせられます。
  • 列数が少ない配列の不足部分には、実際の#N/Aエラーが返されます。
  • この教材では店舗A・店舗Bの商品リストを縦につなぐ流れを確認できます。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり

Excel

=VSTACK(array1, [array2], ...)

Google スプレッドシート

=VSTACK(range1, [range2], ...)
公式資料・確認範囲

未確認

計算結果・入力の扱い・エラー・配列展開

次に学ぶ関数

HSTACK

縦につなぐ次は、横につなぐ方法を学びます。

次に学ぶ