目次
Excelの操作でよく使われる「検索」「取得」ですが、今回は範囲内の値を検索する方法をご紹介します。 今回はExcel 2019(Excel 365の一部)を使用しますが、お好みのバージョンでお気軽にご利用ください。
まず最初に、例のベースとなるデータセットについて知っておこう。
ここでは、異なる映画業界の複数の俳優とその人気映画の1つを含むテーブルがあります。 このデータセットを使って、値の範囲内の値を見つけることにします。
これは基本的なデータセットであることに注意してください。 実際のシナリオでは、もっと大規模で複雑なデータセットに遭遇することがあります。
練習用ワークブック
練習用ワークブックは、下記リンクからダウンロードしてください。
Excel 範囲内の値を検索する.xlsx範囲内の値を求める3つの方法
ムービーデータセットを使って、ある範囲から値を見つけると書きましたが、検索値と出力を格納するフィールドをいくつか紹介しましょう。
ここでは、次の2つのフィールドを追加しています。 価値を見出す と 結果 を明確にした。
1.MATCH関数で範囲内の値を検索する
値の検索」機能をいくつか聞いてみる。 FIND , 検索 しかし、このような場合、どうすればよいのでしょうか?
答えは質問の中にある。 はは!そうだ、「match」という単語を出したが、これは範囲内の値を見つける関数になるんだ。
があります。 MATCH エクセルでは、ルックアップ値の位置を範囲内で特定するために関数を使用します。 この関数を使用してみましょう。
ここでは、値を検索する ブラッド・ピット をアクターの配列に追加すると、数式は次のようになります。
=match(h4,c4:c14,0)
を設定しました。 H4 として ルックアップバリュー において MATCH 次に C4:C14 は範囲、0は完全一致を表します。
これにより、範囲内の値の位置が返されます。
を見ることができます。 ブラッド・ピット は表の2番目であり、数式はその数字を返しました。 つまり、範囲内の値を見つけたことになります。
検索値の順位を取ることが目的なら、これだけやればいいのです。
しかし、値が範囲内に存在するのかしないのか、誰もが理解できる結果を出したいのであれば、いくつかの論理関数を使用します。 イフ と ISNUMBER が、助けになる。
という式になります。
=IF(ISNUMBER(MATCH(H4,C4:C14,0)), "Found", "Not Found")
があります。 MATCH 関数は ISNUMBER であるかどうかをチェックする。 FIND は位置またはエラーを返します。 MATCH が文字列内の文字を取得しない場合、次のように返します。 #N/A! エラー)、数値(位置)に対しては 真
そのため、"Found "を if_true_value に対して イフ 関数を使用します。
ここでは ブラッド・ピット MATCH は数字を返した(先に見た)。 つまり、最終的な結果は「Found」である。
範囲外の値を検索した場合、数式は「Not Found」を返します。
2.範囲内の値を求めるCOUNTIF関数
統計関数で COUNTIF を使用して、範囲内の値を見つけることができます。 COUNTIF 関数は、ある範囲から与えられた条件に一致するセルの数を数えます。
この説明では、セルの数を得ることが目的ではなく、むしろ範囲内の値を見つけることが目的であることに疑問を持たれるかもしれません。
大丈夫!私たちが価値を見出し COUNTIF を中心に、多くの人の協力が必要です。 イフ が。
数式は以下のものになります。
=IF(COUNTIF(C4:C14,H4)>0, "Found", "Not Found")
内 COUNTIF(C4:C14,H4)>0
, C4:C14 は範囲であり H4 は求めるべき値です。
そして、ご存知のように COUNTIF は、基準に基づいてセルをカウントするので、そのセルは C4:C14 基準範囲 H4 もしその値が見つかれば、結果は0より大きくなる。
値が0より大きければ,その値が範囲内にあることを意味する。 そして if_true_value (「Found」)が答えになります。
3.VLOOKUPを使う
を使用することができます。 ブイルック 関数を使用して、範囲内の値を見つけることができます。 ブイルック は、縦に並んだ範囲内のデータを検索します。
を使って式を書いてみましょう。 ブイルック .
=VLOOKUP(H4,C4:C14,1,0)
H4 は ルックアップバリュー と C4:C14 は範囲です。 1 は column_num。 と 0 は完全一致の場合です。
これは位置やブール値ではなく、所見に対応する値を取得するものである。
計算式の結果、値そのものを求めることができました。
もし、範囲外のものを検索すると、式は次のようになります。 #N/A! のエラーが発生しました。
このエラーを取り除き、範囲外の値に対してより理解しやすい結果を出すために、関数を使用します。 イフナ .
があります。 イフナ 関数は、与えられた値や式がExcelで評価されるかどうかを調べます。 #該当なし の結果を置き換えます。 #N/A! .
という式になります。
=IFNA(VLOOKUP(H4,C4:C14,1,0), "Not Found")
を包み込みました。 ブイルック をもって イフナ として、"Not Found "を設定します。 ifna_value そのため、範囲内の値が見つからない場合は、"Not Found "という結果を返します。
しかし、値が範囲内にある場合、標準的な ブイルック の結果が最終的な出力となります。
Findに基づく範囲からの値の導出
範囲内の検索値を元に値を取り出すことはよくあることです。 例えば、範囲内の俳優の名前を探して、映画の名前を導き出したいとします。
値を取得する方法にはいくつかありますが、ここでは最も一般的な方法を紹介します。
の組み合わせは INDEX と MATCH は値を導出する。 INDEX 関数は、範囲内の指定された位置の値を返します。
数式は以下のものになります。
=index(e4:e14,match(h4,c4:c14,0))
を見てきました。 MATCH マッチした値の位置を返し INDEX は、その位置の値を用いて、その範囲から値を返します。 E4:E14 .
を使用することができます。 ブイルック 関数で、検索した値に基づいて値を返します。 この例では、式は次のようになります。
=VLOOKUP(H4,C4:E14,3,0)
ここでは、テーブルのほぼ全体を挿入しています。 SL.いいえ 列)を範囲とする。 column_num_index(カラムナンバーインデックス は3であり、これはマッチングによって範囲の3列目から値がフェッチされることを意味します。 そして3列目には映画の名前が含まれています。
もし、Excel 365を使用しているのであれば、別の関数として XLOOKUP .
この関数を使った計算式は次のようになります。
=XLOOKUP(H4,C4:C14,E4:E14)
内 XLOOKUP を挿入し、検索値( H4 )、次にルックアップ範囲( C4:C14 )、そして最後に範囲( E4:E14 ) から出力させたい。
XLOOKUP は、範囲外の値に対してパラメータを設定することができます。
=XLOOKUP(H4,C4:C14,E4:E14, "Not Found")です。
ここで、範囲内に存在しない値を見つけると、結果として "Not Found "が表示されます。
結論
以上、Excelで範囲内の値を検索する方法を紹介しました。 参考になれば幸いです。 理解しにくい点があればコメントください。 また、他に見落としがあるかもしれませんので、教えてください。