Excel 複数のセル範囲を結合(VSTACK・HSTACK)

2023年1月19日

English version.

VSTACK関数とHSTACK関数は2022年9月にMicrosoft365(Office365)のExcelに追加された新機能で

複数のセル範囲を結合する関数です。

VSTACK関数は行方向、HSTACK関数は列方向に結合します。

単独での利用ケースは少ないですが、複雑な数式を活用する人には強力な関数です。

仕様

=VSTACK(array1, array2,~arrayN)

=HSTACK(array1, array2,~arrayN)

引数省略時の値説明
array1~省略不可対象のセル範囲を指定します。
引数の詳細

使い方

基本的には二つ以上のセル範囲を引数に指定します。

行/列の個数が合わない箇所は#N/Aエラーになります。

列全体を指定して結合したい場合

この手の数式を作る場合は、データ範囲が不定であることが多く、

列全体を指定したいことがあります。

しかし、そのまま列を指定するとExcelを超えた行数になるため、

結果が#NUM!エラーになってしまいます。

名前の管理で有効な行だけにする数式を登録します。

「新規作成」をクリックします、

名前に任意の関数名、参照範囲に次の数式を指定します。

=LAMBDA(指定範囲,LET(中間範囲,HSTACK(BYROW(指定範囲,LAMBDA(行,COUNTA(行))),指定範囲),MAP(DROP(FILTER(中間範囲,CHOOSECOLS(中間範囲,1)>0),,1),LAMBDA(セル,IF(セル="","",セル)))))

指定の関数名で利用することが可能になります。(例では有効行)

=VSTACK(有効行(E:G),有効行(I:K),有効行(M:O))

ヘッダー行がある場合は、DROPでヘッダーの行数を削除します。

=VSTACK(DROP(有効行(E:G),1),DROP(有効行(I:K),1),DROP(有効行(M:O),1))

この方法は後述の他の関数と組み合わせる場合にも有効です。

この範囲はLETで名前と付けると扱いやすくなります。

=LET(対象範囲,VSTACK(DROP(有効行(E:G),1),DROP(有効行(I:K),1),DROP(有効行(M:O),1)),ROWS(対象範囲))

また数式のセルに#を付けても範囲全体を指定する数式になります。

他の関数と組み合わせた利用例

この関数を単独で利用するケースは少なく、

他の関数と組み合わせることが多いでしょう。

基本的には検索/行列関数と組み合わせることになります。

SORT関数やSORTBY関数で複数範囲をまとめて並べ替える

SORT関数SORTBY関数と組み合わせると

複数の範囲を統合して並び替えることが可能です。

SORT関数

SORTBY関数数の場合、並び替え基準列をセル範囲で指定します。

LET関数で並び替え範囲をVSTACK関数で別名にした上で

(数式が重複してもいいならLET関数なしでも可)、

CHOOSECOLS関数で列を数値指定にすることも可能です。

LET関数を利用する方が手間が少なく読み易い数式になります。

XLOOKUP・VLOOKUP関数で複数範囲から検索

XLOOKUP関数で複数のセル範囲から検索することも可能です。

LET関数で範囲をVSTACK関数で別名にした上で

(数式が重複してもいいならLET関数なしでも可)、

CHOOSECOLS関数で列を数値指定にすることも可能です。

LET関数を利用する方が手間が少なく読み易い数式になります。

VLOOKUP関数HLOOKUP関数でもVSTACK関数で複数の検索範囲を統合可能です。

UNIQUE関数で複数範囲の重複を除外

UNIQUE関数と組みあわせると複数範囲を一気に重複除外可能です。

FILETER関数で複数範囲から検索

FILTER関数で複数の検索範囲から検索することも可能です。

LET関数で範囲をVSTACK関数で別名にした上で

(数式が重複してもいいならLET関数なしでも可)、

CHOOSECOLS関数で列を数値指定にすることも可能です。

LET関数を利用する方が手間が少なく読み易い数式になります。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

活用例

セル範囲をランダムで並び変える

関数の仕様と使い方の記事一覧