大体でIT
大体でIT
Excelで、INDEX関数とMATCH関数を使って、複数該当する値を取得する方法について、ご紹介します。複数該当する値を取得するには、「作業列」を使う方法が簡単です。INDEX関数とMATCH関数をうまく使いこなせると、検索できる幅が広がります。
この記事では、INDEX関数とMATCH関数を使って、複数該当する値を取得する方法について、ご紹介します。
複数該当する値を取得する場合は、「作業列」を使う方法が簡単です。
INDEX関数とMATCH関数を使えば、検索できるスキルの幅が広がります。
うまくINDEX関数とMATCH関数を使いこなしていきましょう。
では、INDEX関数とMATCH関数で、「複数該当」する値を取得する方法について、解説していきます。
- INDEX関数とMATCH関数で複数該当する値を取得
ExcelでINDEXとMATCHを使って検索する
Excelで、INDEX関数とMATCH関数を使って、複数該当する場合の検索方法について、ご紹介します。
検索する値が1つの場合は、簡単で、次のようにINDEX関数とMATCH関数を使うとできます。
検索する値が1つの場合
検索する値によっては、検索結果が複数該当する場合があります。
商品の「A」が、複数ある場合に、INDEX関数とMATCH関数で検索しても、1つしか検索できません。
検索する値が「複数該当」する場合
商品「A」が複数該当しますけども、1つしか検索できません。
この記事でやりたいのは、次のように複数該当する場合は、複数の検索結果を出力するということです。
複数該当する値を取得したい
商品「A」が3つあるので、検索結果が3つとなっています。
では、INDEX関数とMATCH関数で、検索する場合に、複数該当する場合の検索方法について、解説していきます。
INDEX関数とMATCH関数で、複数該当する場合に複数の結果を出力するには、作業列を使うのが簡単です。
表を用意
作業列を追加
この作業列に「COUNTIF関数」を入力していきます。
やりたいのは、作業列に、商品「A」の連番を入力する、ということです。
作業列に商品Aの「連番」を入力したい
では、「COUNTIF関数」を使って、商品「A」の連番を入力していきます。
COUNTIF関数の入力
商品「A」に一致する連番を入力したいので、「=COUNTIF(C1:C2,G1)」と入力します。
あとで、下の方にコピーしたいので、COUNTIFの範囲の一部を絶対参照にします。
「=COUNTIF($C$1:C2,G1)」と入力しています。
「=COUNTIF($C$1:C2,$G$1)」と入力しています。
IF関数の入力
商品「A」以外の値を空白「""」にするために、「IF関数」を使います。
「=IF(C2=G1,COUNTIF(C1:C2,$G$1),"")」と入力しています。
下の方にコピーするので、検索値を絶対参照にします。
「=IF(C2=$G$1,COUNTIF(C1:C2,$G$1),"")」と入力しています。
商品Aの「連番」が完成
この連番を使って、INDEX関数とMATCH関数で、複数該当する値を検索していきます。
先ほど作成した作業列の連番を使って、検索値を検索してみます。
作業列が「1」である行を取得
INDEX関数とMATCH関数を使って、作業列が「1」である行の「A列」の値を取得します。
「=INDEX(A:A,MATCH(1,D:D,0))」と入力しています。
この数式を右の方にコピーしますので、作業列「D:D」を絶対参照にします。
「=INDEX(A:A,MATCH(1,$D:$D,0))」と入力しています。
作業列が「1」である行の「A列」を取得できました。
これで、作業列が「1」である行の値を取得できました。
作業列が「2」である行の値を取得
同じように次は、作業列が「2」である行の「A列」の値を検索します。
セルには「=INDEX(A:A,MATCH(2,$D:$D,0))」と入力しています。
これで、作業列が「2」である行の「A列」が取得できます。
ただ、これでは面倒くさいので、「ROW関数」を使います。
作業列の連番を「ROW関数」で取得
これで、「1、2、3、」と連番を自動で取得することができます。
セルには、「=INDEX(A:A,MATCH(ROW(A1),$D:$D,0))」と入力しています。
結果は、同じように作業列が「1」である行の値が取得できます。
ROW関数を使って、作業列が「1」である行の値を取得できました。
表全体にコピー
これで、INDEX関数とMATCH関数を使って、複数該当する値を取得することができました。
ただ、取得できる値がないので、4行目以降がエラーとなっています。
このエラーを「IFERROR関数」を使って、空白「""」にしていきます。
エラーとなっていたセルを「IFERROR関数」を使って空白「""」にしていきます。
次のように「IFERROR関数」を入力していきます。
IFERROR関数でエラーを空白にする
セルには、「=IFERROR(INDEX(A:A,MATCH(ROW(A1),$D:$D,0)),"")」と入力してます。
表全体にコピーする
複数該当する値を取得した結果
こんな感じで、INDEX関数とMATCH関数を使うと、複数該当する値を取得することができます
検索値を変更してみる
この記事では、INDEX関数とMATCH関数を使って、複数該当する値を取得する方法について、ご紹介しました。
複数該当する値を取得する場合は、「作業列」を使う方法が簡単です。
INDEX関数とMATCH関数を使えば、検索できるスキルの幅が広がります。
うまくINDEX関数とMATCH関数を使いこなしていきましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。