教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelのHSTACK関数の使い方

構文

構文は以下の通りです。

=HSTACK(範囲1, 範囲2, ...)

解説

HSTACK関数は、複数の範囲や配列を横方向に結合し、1つの配列として返す関数です。それぞれの範囲の行数が同じである必要があります。異なる場合、エラーが発生します。

使用例

(例1)2つの範囲を横に結合

セル範囲A1:A3に「りんご」「みかん」「バナナ」、セル範囲B1:B3に「いちご」「ぶどう」「すいか」というデータが入力されています。これらを横に結合して、1つの表のように表示したい場合、次の数式を使います。

=HSTACK(A1:A3, B1:B3)

結果は以下のように、データが横に並べられます。

りんご いちご
みかん ぶどう
バナナ すいか

A1:A3のデータとB1:B3のデータが、横方向に結合されて表示されます。各行のデータが対応する列として配置されます。

(例2)3つの範囲を結合

セル範囲A1:A3に「りんご」「みかん」「バナナ」、セル範囲B1:B3に「いちご」「ぶどう」「すいか」、セル範囲C1:C3に「メロン」「パイナップル」「マンゴー」が入力されています。このデータをさらに結合して、3つの列にしたい場合は、次の数式を使います。

=HSTACK(A1:A3, B1:B3, C1:C3)

結果は以下のように、3つの列が横に並びます。

りんご いちご メロン
みかん ぶどう パイナップル
バナナ すいか マンゴー

A1:A3のデータとB1:B3のデータとC1:C3のデータの範囲がすべて結合され、データが横に並べられます。複数のデータ範囲を1つのテーブルとして整理する際に役立ちます。

(例3)異なるセル範囲の結合

セル範囲A1:A2に「トマト」「きゅうり」、セル範囲B1:B4に「にんじん」「じゃがいも」「大根」「ナス」というデータが入力されています。このデータを結合してみます。

=HSTACK(A1:A2, B1:B4)

結果は、行数が異なるため、エラー(#VALUE!)が発生します。

HSTACK関数は、結合する範囲の行数が一致している必要があります。行数が異なる場合はエラーが発生するため、事前に範囲を確認することが重要です。

(例4)空のセル範囲を結合

セル範囲A1:A3に「ネギ」「キャベツ」「ブロッコリー」、セル範囲B1:B3に空白セルを含みます。このデータを結合してみます。

=HSTACK(A1:A3, B1:B3)

結果は以下のように、データが横に並べられます。

ネギ (空白)
キャベツ (空白)
ブロッコリー (空白)

空白のセルも結果として反映され、データが結合されます。これは、データの欠損やその後必要がある場所を視覚的に確認する際に役に立ちます。

まとめ

HSTACK関数は、複数の範囲を横方向に結合する関数で、列の結合を効率よく行います。結合する範囲は、行数が一致している必要があり、異なる場合はエラーが発生します。データを整えるために、空白を考慮した範囲も結合可能です。