ラベルラベル

動的配列・スピル入門

HSTACK関数を見て理解する

複数の配列を横方向に順番につなぎ、1つの大きな配列として返す関数です。

3つのポイント

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

社員情報と担当情報を横方向に結合する

サンプル数式

  • 配列1
  • 配列2

いまの結果:

3行 × 4列
計算結果
結果セル:G2スピル範囲:G2:J4

先頭行:「田中」 | 「営業」 | 「関東」 | 「商品A」

入力・条件:配列1 A2:B4(3行 × 2列) / 配列2 D2:E4(3行 × 2列)
  • 配列1A2:B4(3行 × 2列)先頭行:「田中」 | 「営業」
  • 配列2D2:E4(3行 × 2列)先頭行:「関東」 | 「商品A」
この結果になる理由

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

サンプルデータ

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

「社員情報と担当情報を横方向に結合する」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABCDEFGHIJ
1社員名部署 担当地域担当商品 結果   
2田中営業 関東商品A 田中営業関東商品A
3佐藤開発 関西商品B 佐藤開発関西商品B
4鈴木営業 九州商品C 鈴木営業九州商品C
配列1配列2起点セルスピル結果
①・② 正式引数 / 教材要素1–3 処理の流れ

2つの引数

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

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

    左側に配置する社員の基本情報です。この例ではA2:B4の3行×2列を使います。

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

    配列1の右側につなぐ担当情報です。この例ではD2:E4の3行×2列を使います。

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

A2:B4の社員名・部署と、D2:E4の担当地域・担当商品を左から右へ結合します。結果はG2:J4へスピルし、4列の1つの表としてまとまります。

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

処理の流れ

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

  1. 第1配列を確認する

    A2B2A3B3A4B4

    A2:B4の3行×2列を、左から第1の配列として横につなぎます。

  2. 第2配列を確認する

    D2E2D3E3D4E4

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

  3. 配列を横に結合する

    G2:J4

    2つの配列を横につなぎ、3行×4列の結果をG2:J4へスピルします。

対応アプリ

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

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

この例の注意点

  • HSTACKは複数の配列を左から右へ順番に結合します。
  • 結果の行数は、指定した配列の中で最も行数が多い配列に合わせられます。
  • 結果の列数は、指定した各配列の列数を合計した数になります。
  • 行数が少ない配列の不足部分には#N/Aが返されます。
  • この教材では社員の基本情報と担当情報を横につなぎ、1つの表にまとめる流れを確認できます。

一般構文

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

Excel

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

Google スプレッドシート

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

未確認

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

次に学ぶ関数

カテゴリから探す

次に学ぶおすすめ関数はありません。カテゴリから探しましょう。

カテゴリを見る