エクセルで、表(配列)を決まった行数・列数まで広げるには EXPAND関数を使います。2行2列の表を4行3列にするなら、=EXPAND(A3:B4,4,3) と入れると、元の値のまわりに空きの欄ができます。
広げた所は、何も指定しないと #N/A になり、好きな値で埋めることもできます。この記事では、EXPAND関数の基本、空きを埋める値の指定、行だけを広げる方法、元より小さくできない決まり、ほかの関数との組み合わせまでを、1つの表で説明します。下の練習ツールで、値を書き換えて結果の変わり方を試せます。
EXPAND関数の書き方
| 引数 | 入れるもの | ポイント |
|---|---|---|
| 配列 | 広げたい範囲 | |
| 行数 | 広げた後の行の数 | 元の行数より小さいと #VALUE! エラー。 |
| 列数(省略可) | 広げた後の列の数 | 省略すると元の列数のまま。 |
| 埋める値(省略可) | 広げた所に入れる値 | 省略すると #N/A。 |
Microsoft 365 で使えます。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
EXPAND関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 4行3列に広げる | =EXPAND(A3:B4,4,3) | 空きは #N/A |
| 空きを「-」で埋める | =EXPAND(A3:B4,4,3,”-“) | 空きは – |
| 行だけ広げる(0で埋める) | =EXPAND(A3:B4,3,,0) | 3行2列(3行目は 0) |
| 元より小さくする | =IFERROR(EXPAND(A3:B4,1),”小さくできない”) | 小さくできない |
| 広げた後の行数 | =ROWS(EXPAND(A3:B4,4,3)) | 4 |

決まった大きさに広げる
左上の2行2列に 山田 70・佐藤 85 が入り、広げた3列目と3・4行目は #N/A になります。
空きを好きな値で埋める
4つ目の引数に「”-“」を指定すると、#N/A の代わりに – が入ります。入力欄の形を作るときなどに使えます。
行だけを広げる
列数を省略すると元の2列のまま、行だけが3行に広がります。埋める値を 0 にしたので、3行目は 0 になります。
元より小さくはできない
行数を元の 2 より小さい 1 にすると #VALUE! エラーになるので、IFERROR関数で 小さくできない と表示しました。表を小さく切り出したいときは TAKE関数などを使います。広げた後の大きさは =ROWS(EXPAND(A3:B4,4,3)) で 4 行と確かめられます。
▶ この式(H8)を、練習ツールで試す / この式(H11)を、練習ツールで試す
EXPAND関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#N/A」が表示される | 広げた所の埋める値を指定していない | 4つ目の引数で値を指定する。 |
| 「#VALUE!」になる | 行数・列数が元より小さい | 元の大きさ以上を指定する。 |
| 「#SPILL!」になる | 結果が広がる先のセルに値が入っている | 右下のセルを空ける。 |
| 「#NAME?」になる | Microsoft 365 以外の Excel | 使えるバージョンで開く。 |
EXPAND関数のよくある質問
大きさの違う表をつなぐときに使える?
使えます。列の数が少ない表を EXPAND関数で広げてから VSTACK関数でつなぐと、#N/A の代わりに好きな値で埋められます(VSTACK関数・HSTACK関数の使い方)。
あわせて読みたい:配列の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)

コメント