Excelで表を作っていると、
「別々の範囲を横に並べて1つの表にしたい」と感じることはありませんか?
そんなときに便利なのが、複数の配列やセル範囲を横方向に並べて結合できる HSTACK関数 です。
この記事では、HSTACK関数の使い方をわかりやすく解説します。
HSTACK関数とは
HSTACK関数は、複数の配列やセル範囲を列方向に追加しながら、横に並べて1つの配列にまとめる関数です。
左から右へ順番に結合されるため、複数の表を横につなげたいときに役立ちます。
書式
=HSTACK(配列1,[配列2],…)
引数の説明
- 配列1:横に並べる最初の配列やセル範囲を指定します。
- [配列2]…:2つ目以降の配列やセル範囲を指定します。複数指定できます。
HSTACK関数の使い方
例①:配列を結合する

=HSTACK(B3:D5,C8:C10)
この例では、HSTACK関数を使って、既存の成績データに英語の点数を横方向に追加しています。
もとの表は「名前・国語・数学」の3列で構成されていますが、別の範囲にある「英語」の列をHSTACK関数で結合することで、「名前・国語・数学・英語」の4列の表に拡張できます。

このように、別々に管理しているデータを横に追加していくことで、見やすい一覧表を簡単に作成できます。
例②:行数が違う場合は注意

=HSTACK(B3:D5,C8:C9)
この例では、行数の異なる範囲をHSTACK関数で結合しています。
HSTACK関数は、指定した範囲のうち最も行数が多い配列に合わせて結果を返すため、行が足りない部分には #N/A が表示されます。

そのため、結合する範囲の行数がそろっていない場合は注意が必要です。必要に応じて、IFERROR関数と組み合わせてエラー表示を空白などに置き換えることもできます。
関連関数
| 関数名 | 特徴 |
|---|---|
| VSTACK関数 | 複数の配列を縦方向に結合する |
| TRANSPOSE関数 | 行と列を入れ替える |
| CHOOSECOLS関数 | 指定した列だけを取り出す |
| CHOOSEROWS関数 | 指定した行だけを取り出す |
| IFERROR関数 | エラーを別の値に置き換える |
まとめ
HSTACK関数は、複数の配列やセル範囲を横方向に並べて結合できる関数です。
別々の表を1つにまとめたいときや、列を追加する形でデータを整理したいときに役立ちます。
ただし、結合する範囲の行数が異なる場合は不足部分に #N/A が表示されるため、必要に応じてIFERROR関数と組み合わせて使うのがポイントです。

