Excel

【Excel】EXPAND関数の使い方|配列を指定サイズに拡張する最新関数を徹底解説

「配列をもっと広げたい」「指定サイズで空白を埋めたい」
そんなニーズに応えるのが、EXPAND(エクスパンド)関数です。

この記事では、EXPAND関数の基本構文から実用的な活用例まで、わかりやすく解説します。


1. EXPAND関数とは?

EXPAND関数は、指定した行数・列数に合わせて配列のサイズを拡張する関数です。
足りない部分は空白または指定した値で補われます。

例:2×2の配列を4×3に拡張する

excel
=EXPAND(A1:B2, 4, 3)

→ データが下方向と右方向に広がり、空白で埋まります。


2. 基本構文と使い方

■ 構文

excel
=EXPAND(array, rows, [columns], [pad_with])
引数 説明
array 元となる配列(セル範囲や関数の結果)
rows 拡張後の行数(省略不可)
columns 拡張後の列数(省略可)
pad_with 不足部分を埋める値(省略時は空白)

■ 例1:2×2の配列を4×3に拡張(空白で埋める)

excel
=EXPAND(A1:B2, 4, 3)
A B C
1 2
3 4

■ 例2:不足部分を「0」で埋める

excel
=EXPAND(A1:B2, 4, 3, 0)
A B C
1 2 0
3 4 0
0 0 0
0 0 0

3. オプション引数の活用方法

引数名 解説
columns 指定しない場合は元の配列の列数を維持
pad_with 任意の値(数値・文字列・関数)で不足部分を埋めることが可能
excel
=EXPAND(A1:B2, 5,, "空")

→ 列数は変えず、行だけ5行に増やして「空」で埋める


4. 応用テクニック

● 他の関数と組み合わせて表示を整える

excel
=EXPAND(SORT(A2:A5), 10, 1, "(空白)")

→ 並べ替えた結果を10行に揃えて、足りないところを「(空白)」で補完


● 動的な表作成で使う

他の配列関数(SEQUENCE、VSTACKなど)と連携させて、表形式のテンプレートやレポート作成に活用可能です。

excel
=EXPAND(VSTACK(A1:A3), 10)

→ 縦に積み重ねた配列を10行に固定表示(印刷や整形用に便利)


● チャート用データ範囲の整形

excel
=EXPAND(FILTER(A2:B100, B2:B100>=100), 20,, "—")

→ 売上が100以上のデータを抽出し、チャート用に常に20行に揃える


5. よくあるエラーと対処法

エラー 原因 対処法
#VALUE! 行数または列数に0以下の数値を指定 1以上の正の整数を指定する
#SPILL! 展開先に値がある 対象セルを空ける
データが不完全 元の配列より拡張後のサイズが小さい 拡張サイズが元配列以上か確認

6. まとめ

項目 内容
主な用途 配列サイズの調整、見た目の整形、テンプレート用途
メリット 配列を任意サイズに拡張し、指定値で不足部分を埋められる
注意点 元の配列より小さいサイズを指定するとデータが切れる
おすすめ活用 チャート準備、表形式の固定整形、空欄補完、印刷整形などに便利

✔ 補足:EXPAND関数が活きる場面

  • 「表示を整えたい」けど「関数で動的にしたい」

  • 「行数が可変」の表を見やすく整えたい

  • Power QueryやVBAを使わずに拡張表示したい

そんなとき、EXPAND関数は非常に頼れる存在になります。


EXPAND関数は、データの整形やテンプレート作成で力を発揮する関数です。
他のスピル関数(UNIQUE, FILTER, SORT など)と組み合わせて使えば、Excelでの自動化や表示の最適化がぐんと進みます。
ぜひ活用してみてください!