EXPAND関数は、検索/行列関数(配列操作関数)の一つです。配列(セル範囲)を指定サイズに拡張して新しい配列で返します。配列が拡張される部分に埋め込む値を指定することもできます。
2022年8月下旬のアップデートで新たに一般公開された14個の文字列・検索/行列関数のひとつです。(3月から「Office Insider Program」でテストされていたものが公開されたものです)
はじめに
EXPAND関数は、セル範囲(配列)を指定したサイズに拡張して新しい配列を返します。
EXPAND関数の基本的な使い方について紹介していきます。
この関数を使用できるのは、サブスクリプション版の「Microsoft 365」アプリ「Excel for Microsoft 365」とWeb版だけですので注意してください。
関数の名前が「EXPAND」だから「広げる、拡大する、拡張する」のような動作をする関数ということですね。よろしくお願いしますm(__)m
【この記事でわかることは】
・EXPAND関数の使い方がわかります
EXPAND 関数の構文
EXPAND 関数入力時に表示される「数式オートコンプリート」から確認しましょう。
※ 対応していないExcelバージョンでは「オートコンプリート」にこの関数は表示されません。
※ リンクはこの関数の公式ヘルプの掲載場所です。
EXPAND 関数の構文と引数
表示される引数の表示画像がこちらです。
=EXPAND(array, rows, [columuns], [pad_with])
引数は英文表記のままですね。整理すると次のような感じです。
引数 | 説明 |
---|---|
配列 array | 拡張前のセル範囲(配列)を指定【必須】 |
行 rows | 新しいセル範囲(配列)の行数を指定【必須】 空欄の場合、元の「配列」行数のまま |
[列] [columuns] | 新しいセル範囲(配列)の列数を指定[省略可能] 省略の場合、元の「配列」列数のまま |
[埋める値] [pad_with] | 拡張された部分に代入する値[省略可能] 省略した場合の規定値は #N/A |
EXPAND 関数の使用例
それでは実際に使ってみて確認することが大事ですので早速やってみましょう。
「配列」および「セル範囲」の例を比較
初めに簡単な例で「行」の引数だけ設定してみます。
左側にデータ、「セル範囲」の式、「配列」を手入力した式の順位表示しています。
引数「行」のみ設定した場合
2行2列のデータに1行プラスする設定です。「行」の引数は元の2行+追加1行=「3」です。
最後の引数「pad_with」に値を設定しない場合と設定した場合の違いも一緒に見ていきましょう。
最後の引数「pad_with」を設定しない場合
・1行拡張されて新たな配列(セル範囲)が作成されスピルして表示されました。
・拡張された部分には #N/A “使用可能な値がない” というエラー値が表示されています。関数で値を表示しているのですから当然ですね。
最後の引数「pad_with」に値「”-“」を設定した場合
・最後の引数に「”-“」を設定したので「#N/A」が「-」の表示になりました。
・「””」にすれば空欄表示になります。
・セルの値を参照させることもできます。
※ スピルについての解説記事なら↓こちらをご覧ください。
引数「行」と「列」を設定した場合
次は、「列」の引数にも数値を設定した場合はこんな感じです。
・手入力の配列は {1,2;3,4} です。「;」が列の区切りです。
・拡張したセルには「行」「列」ともにすべて同じ値が入ります。
・例えば、「単独セル」を拡張させて「pad_with」も「単独セル」を参照するようにすれば、
←こんなこともできますね。
「B1」以外が全部拡張部分です。
「A1」セルの値を拡張したセル全部に表示しています。
「pad_with」に数式はセットできない
・引数「pad_with」に「数式」をセットできないかといろいろ試してみましたが無理でした。
・文字列や数値などの「値」ではなく「数式」がセット出来たらおもしろいと思ったんですが。
・下の画像は、セル参照ではなく式内に直接記述して「今日の月/日」を表示させています。
配列を減らすことはできない
・引数「行」「列」の値に「配列」より小さい値はセットできません。
・「行」に小さい値を設定している下の画像は #VALUE! エラーになっています。
・「行」「列」に設定する数値は「配列」以上(同じか大きい)でないといけません。
・それなら、引数は初めから「プラスする値」という設定にしてほしかったですね。
・何故ならば、引数を省略すると「配列」行列数がそのまま表示されるんですよ!
・なんか納得できない感じです(- -;
・ROWS関数やCOLUMUNS関数で配列から取得するしかないですね。
・=EXPAND(A2:B3,ROWS(A2:B3)+1,COLUMUNS(A2:B3)+1,””) のような感じです。
・公式ヘルプでは「配列を展開、または埋め込んで、指定した行と列の大きさに合わせます」と表記されています。この表現からすると、拡張するサイズありきのような感じですね。
まとめ(おわりに)
以上、EXPAND 関数 について解説しました。
EXPAND関数は、セル範囲(配列)を指定したサイズに拡張して新しい配列を返してくれます。
拡張した配列要素(セル)に「値」を表示できますが、いま一つ使いどころが思いつきません。
配列を拡張したのは良いのですがどのようなことに活用できるかを一緒に考えましょう。
引数の「行」と「列」が拡張した後の行数と列数にしなければいけない点が注意点ですね。
どんなことに使えるのか考えてみま~す(^^)
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
【今後の記事について】
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m
過去記事のサンプルファイルをダウンロードできます
この記事で使用したサンプルの登録はありません。
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください
・拡張したセルにはすべて同じ値が入ります。