CHOOSEROWS関数は、検索/行列関数(配列操作関数)の一つです。配列(セル範囲)から行を指定どおりに取り出します。
2022年8月下旬のアップデートで新たに一般公開された14個の文字列・検索/行列関数のひとつです。(3月から「Office Insider Program」でテストされていたものです)
はじめに
CHOOSEROWS関数は、配列(セル範囲)から行を取り出しますが、列を取り出すCHOOSECOLS関数も同時に公開されています。
CHOOSEROWS関数の基本的な使い方について紹介していきます。
この関数を使用できるのは、サブスクリプション版の「Microsoft 365」アプリ「Excel for Microsoft 365」とWeb版だけですので注意してください。
関数の名前からすると「行」を「選び出す」という意味ですね。
どんなふうに使うのか詳しく教えてください。よろしくお願いしますm(__)m
【この記事でわかることは】
・CHOOSEROWS関数の使い方がわかります
CHOOSEROWS 関数の構文
CHOOSEROWS 関数入力時に表示される「数式オートコンプリート」から確認します。
※ 対応していないExcelバージョンでは「オートコンプリート」にこの関数は表示されません。
※ リンクはこの関数の公式ヘルプの掲載場所です。
CHOOSEROWS 関数の構文と引数
表示される引数の表示画像がこちらです。
=CHOOSEROWS(array, row_num1, [row_num2], …)
引数は英文表記になっていますが何となく意味はわかりますね。整理すると次のような感じです。
引数 | 説明 |
---|---|
配列 array | 配列(セル範囲)を指定【必須】 |
行番号1 row_num1 | 取り出す最初の行番号を指定【必須】 |
[行番号2] [row_num2] | 追加で取り出す行番号を順番に指定 [省略可能] ※ 配列内の行数が指定できる最大数 |
※ 行番号は「0」及び配列内の行数を超えて指定することはできません。
CHOOSEROWS 関数の使用例
それでは実際に使ってみて確認することが大事ですので早速やってみましょう。
引数の行番号を数式内に直接記述
次のように行番号を数式内に直接記述することで指定順に行を取り出すことができます。
引数の行番号を配列(セル範囲)で指定
次は、行番号を配列(セル範囲)で指定した例です。
・行番号は、セル H1~J1 に記入された値をセル範囲 H1:J1 で指定しています。
・手動で配列を指定する場合は {1,2,1} のように中括弧で括って記述します。
・この方法なら数式変えず、セル値の変更だけで表示行を切り替えることができます。
・行番号で、1を2回指定しています。同じ番号を複数回指定することも可能です。
・行番号を指定するセルの位置は画像のように「上側」でなくどこでも(縦でも)OKです。
行見出し一覧を検索して行番号を設定する方法
行番号の指定は、行数が多い表では行の番号と開始行から計算して何番目の行なのか算出して指定するのは大変です。そんな場合は、関数を使って行見出しなどを検索する方法が使えます。
画像では新しい XMATCH関数 を使っていますが、MATCH関数でも同じです。
※ XMATCH関数の使い方は、XMATCH関数の解説記事をご覧ください。
・行に見出しがある場合は、見出しの文字列を検索して行番号を取得すればOKです。
・取り出したい「検索文字列」を別のセル範囲に設定して取得するようにしましょう。
セルの参照範囲を可変にする方法
先ほどの例では、XMATCH関数の引数「検索値」をセル範囲(H1:L1)で指定しています。その範囲内に空欄のセルがあると #N/A エラーになってしまうので範囲を正しく設定する必要があります。
OFFSET関数+COUNTA関数でセル範囲を可変にする
手動で変更しなくてもよい方法を紹介しておきます。次の画像をご覧ください。
【OFFSET(H1,0,0,1,COUNTA(H1:M1))で可変する動作】
・OFFSET関数の 5番目の引数「幅」にCOUNTA関数を使うことで可変するようになります。
・COUNTA関数で参照セル範囲「H1:M1」内の入力セル数が引数「幅」になっています。
・入力セル数の増減で引数「幅」の値も変化するのでエラーにならず動作してくれます。
「OFFSET関数」と「COUNTA関数」についての詳しい説明は、次のCHOOSECOLS関数の記事内で説明していますので参照してください。
まとめ(おわりに)
以上、CHOOSEROWS 関数 について解説しました。
CHOOSEROWS関数を使えば、元データから必要な行だけ抽出したり、好きなように表示位置を変更できることがわかりました。引数の指定方法もシンプルで難しくないと思います。今回使った「XMATCH」「OFFSET」「COUNTA」以外でも関数を組み合わせて使えばいろいろなことに活用できそうですね。
大きな表から必要な行のデータだけ取り出せるのはありがたいです。CHOOSECOLS関数とあわせて利用方法をもっと考えながらテストしていきたいと思います(^^;)
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
【今後の記事について】
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m
過去記事のサンプルファイルをダウンロードできます
この記事で使用したサンプルの登録はありません。
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください
・1番目,6番目,4番目,2番目の行を指定した結果がスピル表示されました。
・=CHOOSEROWS(A2:F7,-1,-6,-4) のように行番号を負数で指定すると、後ろからカウントした位置の行を取り出すことができます。