エクセル入門
EXPAND関数(配列を指定された行と列に拡張する)

Excelの初心者向け入門解説
最終更新日:2022-11-21

EXPAND関数(配列を指定された行と列に拡張する)


EXPAND関数はOffice365のExcelに2022年になってから追加された新しい関数です。


EXPAND関数は、配列(またはセル範囲)を指定された行と列のサイズに拡張した配列を返します。
配列の拡張される部分は埋め込む値を指定できます。


EXPAND関数の構文

=Expand(配列, 行, [列], [pad_with])



配列 セル範囲、配列(1次元または2次元)、または定数値を指定します。
必須です。
拡張する行の数。
引数「配列」の行数以上の数値を指定します。
既定値は配列引数の行数です。
つまり省略した場合は引数「配列」の行数が維持されます。
取得する列の数。
引数「配列」の列数以上の数値を指定します。
既定値は配列引数の列数です。
つまり省略した場合は引数「配列」の列数が維持されます。
pad_with 拡張部分に埋め込む値。
既定値は #N/A です。

引数「行」または「列」の値が、引数「配列」の行数または列数より小さい場合は #VALUE! エラーになります。
pad_with が指定されていない場合 は、拡張される部分は #N/A で埋められます。

引数「配列」に定数値を指定した場合は、行1列1の配列と同様に扱われます。

Microsoft「Office のサポート EXPAND関数」の記載について
「配列が大きすぎる場合、Excel は#NUMを返します。」
このように書かれていますが、
大きな配列を扱おうとすると、リソース不足が出てしまうので、
#NUMエラーの発生は確認できていません。


Excel エクセル EXPAND関数 新関数


EXPAND関数の使用例と解説

配列の行数を3から5に拡張し、拡張部分を""で埋める

=EXPAND(A1:B3,5,,"")
Excel エクセル EXPAND関数 新関数

EXPAND関数はセル範囲A1:B3を受け取り、
引数「行」に指定された行数5行に配列を拡張して返します。
拡張された部分は""で埋められます。

配列の列数を2から3に拡張し、拡張部分を"-"で埋める

=EXPAND(A1:B3,,3,"-")
Excel エクセル EXPAND関数 新関数

EXPAND関数はセル範囲A1:B3を受け取り、
引数「列」に指定された列数3列に配列を拡張して返します。
拡張された部分は"-"で埋められます。

配列の行数を3から5に、列数を2から3に拡張する。埋める値を省略

=EXPAND(A1:B3,5,3)
Excel エクセル EXPAND関数 新関数

EXPAND関数はセル範囲A1:B3を受け取り、
引数「行」に指定された行数5行、引数「列」に指定された列数3列に配列を拡張して返します。
拡張された部分は、pad_withが省略されているので #N/A で埋められます。

引数「配列」に定数値を指定

=EXPAND("ABC",4,3,"ABC")
Excel エクセル EXPAND関数 新関数

定数値の"ABC"を4行3列の配列に拡張し、拡張部分にも"ABC"を埋めています。
"ABC"を""(長さ0の文字)とすれば空白の配列を作成できます。

配列の行数より小さい値を行に指定した場合は #VALU! エラー

=EXPAND(A1:B3,2)
Excel エクセル EXPAND関数 新関数

引数「行」または「列」の値が、引数「配列」の行数または列数より小さい場合は #VALUE! エラーになります。


LAMBDA以降の新関数の問題集 ・・・ 解答は別ページになっています。

・目次 ・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・SCAN編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編 ・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
LAMBDA以降の新関数の使用例
・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・クロスABC分析 ・月利が毎月変動する月複利の計算 ・レーベンシュタイン距離 ・文字列を数字と数字以外で分割 ・縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS) ・直積(クロス結合、…




同じテーマ「エクセル入門」の記事

TOROW関数(配列を横1行の配列にして返す)
DROP関数(配列の先頭/末尾から指定行/列数を除外)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)
EXPAND関数(配列を指定された行と列に拡張する)
WRAPROWS関数(1次元配列を指定数の行で折り返す)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)
LAMBDA以降の新関数の使用例
縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS)


新着記事NEW ・・・新着記事一覧を見る

数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)
WRAPROWS関数(1次元配列を指定数の行で折り返す)|エクセル入門(2022-11-08)
EXPAND関数(配列を指定された行と列に拡張する)|エクセル入門(2022-11-07)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)|エクセル入門(2022-11-06)
DROP関数(配列の先頭/末尾から指定行/列数を除外)|エクセル入門(2022-11-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.マクロって何?VBAって何?|VBA入門
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ