動的配列・スピル入門
VSTACK関数を見て理解する
複数の配列を上から下へ順番につなぎ、1つの大きな配列として返す関数です。
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 の仕様を基準にしています。
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | 店舗Aの商品 | 数量 | 店舗Bの商品 | 数量 | 結合結果 | |||
| 2 | りんご | 10 | みかん | 12 | りんご | 10 | ||
| 3 | バナナ | 15 | もも | 8 | バナナ | 15 | ||
| 4 | ぶどう | 20 | みかん | 12 | ||||
| 5 | もも | 8 | ||||||
| 6 | ぶどう | 20 |
①配列1②配列2✓起点セル↘スピル結果
①・② 正式引数 / 教材要素1–3 処理の流れ
2つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A2:B3表のセル: A2:B3最初に配置する店舗Aの商品リストです。A2:B3の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配列を確認する
A2B2A3B3A2:B3の2行×2列を、上から第1の配列として縦につなぎます。
第2配列を確認する
D2E2D3E3D4E4D2:E4の3行×2列を、上から第2の配列として縦につなぎます。
配列を縦に結合する
G2:H62つの配列を縦につなぎ、5行×2列の結果をG2:H6へスピルします。
対応アプリ
- Excel
- Google スプレッドシート
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- VSTACKは指定した配列を上から下へ順番に結合します。
- 結果の行数は、指定した各配列の行数の合計になります。
- 結果の列数は、指定した配列の中で最も列数が多い配列に合わせられます。
- 列数が少ない配列の不足部分には、実際の#N/Aエラーが返されます。
- この教材では店舗A・店舗Bの商品リストを縦につなぐ流れを確認できます。
一般構文
対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり
Excel
=VSTACK(array1, [array2], ...)Google スプレッドシート
=VSTACK(range1, [range2], ...)公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文
未確認
計算結果・入力の扱い・エラー・配列展開
次に学ぶ関数
HSTACK
縦につなぐ次は、横につなぐ方法を学びます。
次に学ぶ