クイックナビゲーション
HSTACK関数 - 配列を水平方向に結合
概要
HSTACK関数は複数の配列を水平方向(列方向)に順次結合し、1つの大きな配列を返します。動的配列機能を活用して、データセットを横に拡張するのに最適です。
構文
=HSTACK(array1,[array2],...)
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| array1 | Array |
はい | 最初に結合する必須の配列。セル範囲、数式、定数配列が使用可能。 |
| array2,... | Array |
いいえ | 任意の追加配列。複数指定可能で、右側に順次結合される。 |
HSTACK関数の使用
HSTACKはデータ分析やレポート作成で、異なるデータソースの列を横に結合する際に非常に便利です。VSTACKと組み合わせることで、2次元的な配列操作が可能になります。エラー処理を組み合わせることで、実務レベルのデータ処理が実現できます。
HSTACKの一般的な例
基本的な2配列結合
=HSTACK(A2:C3,E2:G3)
2つの2行3列の配列を横に結合し、2行6列の結果配列を返します。完全一致する行数でエラーなし。
行長不一致時の#N/A補完
=HSTACK(A2:B4,C2:D3,E2:F2)
行数が異なる3配列を結合。短い配列の不足部分に#N/Aが自動挿入され、3行6列の結果に。
エラー値を含む結合(IFERROR併用)
=IFERROR(HSTACK(A2:B4,C2:D3,E2:F3),"データ不足")
空白セルやエラー値を含む場合の安全な結合。IFERRORでエラー処理を追加。
よくある質問
HSTACKは水平(横)方向に結合、VSTACKは垂直(縦)方向に結合します。同じ動的配列ファミリー関数です。
長い配列の行数に合わせ、短い配列には#N/Aが自動挿入されます。IFERRORで任意の値に置換可能です。
Excel 365、Excel 2021以降で利用可能です。旧バージョンでは代替手段が必要です。
一般的なエラーと解決策
#N/A エラー(不足行)
Cause: 結合する配列の行数が不一致
Solution: IFERROR関数で#N/Aを任意の値(""や0)に置換する。例:=IFERROR(HSTACK(...),"")
#VALUE! エラー
Cause: 配列内の不正なデータ型や参照エラー
Solution: 参照範囲を確認し、データ型を統一する。
配列が展開されない
Cause: 古いExcelバージョンまたは互換モード
Solution: Excel 365/2021を使用し、結果セルに余白を確保する。
注記
- 結果配列の行数は各配列の最大行数、列数は全配列の列数合計になります。
- 単一セルやスカラー値も配列として自動拡張されます。
- 他の動的配列関数(VSTACK、CHOOSECOLS等)と組み合わせると強力です。
- 大規模データでは計算負荷に注意が必要です。
互換性
利用可能: Excel 365, Excel 2021
利用不可: Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021+