ExcelでVLOOKUPの大文字小文字を区別する方法(4つの方法)

  • これを共有
Hugh West

があります。 ブイルック は、Microsoft Excel で最も強力かつ柔軟で、非常に便利な関数の 1 つです。 ブイルック は、大文字と小文字を区別せずに検索を行います。 この記事では、大文字と小文字を区別せずに検索する方法を紹介します。 ブイルック Excelでは大文字と小文字が区別されます。

練習用テンプレートダウンロード

練習用のExcelテンプレートはこちらから無料でダウンロードできますので、ご自身で練習してみてはいかがでしょうか。

VLOOKUP Case Sensitive.xlsx

エクセルでのVLOOKUP

ブイルック は、' 縦型ルックアップ これは、Excel がある列の特定の値を検索して、同じ行の別の列から値を返すための関数です。

一般的な処方。

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

これです。

論証 定義
ルックアップバリュー 一致させようとしている値
table_array 値を検索したいデータ範囲
col_index_num lookup_valueの対応するカラム
レンジルック TRUE または FALSE のブール値である。

FALSE(または0)は完全一致を、TRUE(または1)は近似一致を意味します。

ExcelでVLOOKUPの大文字小文字を区別する4つのダイナミックな方法

次のような学生のデータセットを考える。 このデータセットには、同じ名字だが異なる姓を持ち、異なるスコアを取得した2人の学生がいる。

ジョン・ショーのスコアのルックアップを行いたい。 そこで、一般的な ブイルック の式で結果を得ることができます。

=VLOOKUP(G3,B2:D7,3,0)

しかし、上の写真にあるように、ジョン・ショーのスコアではなく、ジョン・シナのスコアという結果が出てしまいました。 それは、次のような理由です。 ブイルック は,配列中の検索値を検索し,最初に得られた値を返します。

そこで、大文字と小文字を区別するために ブイルック を実行するには、別の関数を実行する必要があります。 そして、そのセルでジョン・ショーのスコアを取得するには、少し巧妙な方法が必要です。 それを行うには、別の関数をまとめて実装し、その関数で ブイルック .

次の項では、その組み合わせについて説明します。 INDEX機能 MATCH機能 という組み合わせがあります。 ブイルック CHOOSE機能 , SUMPRODUCT関数 と実行します。 XLOOKUP関数 を使用すると、大文字と小文字が区別されるようになります。 ブイルック をExcelで表示します。

1.INDEX、MATCH関数を使って、Excelで大文字小文字を区別するVLOOKUPを開発する

大文字と小文字を区別して取得できる ブイルック を組み合わせることで INDEX MATCH を一緒に機能させることができます。

の組み合わせのジェネリックフォーミュラ。 INDEX MATCH 関数は

=INDEX(data,MATCH(TRUE,EXACT(value,lookup_column),0),column_number)

大文字小文字を区別するための手順 ブイルック を実装することで INDEX MATCH の機能を併せ持つものを以下に示します。

ステップス

  • 結果値を入れたいセルをクリックします(今回の場合、そのセルは G4 ).
  • そして、次の式を書きなさい。
=index(d2:d7,match(true,exact(g3,b2:b7),0))です。

さて、上の写真を見てください。そこには、ジョン・シナの点数ではなく、ジョン・ショーの点数があることがわかりますね。

フォーミュラの内訳

どうやってジョン・ショーの点数がわかったのか、計算式を分解してみましょう。

  • exact(g3,b2:b7) ->です。 エグザクト 関数は、Excelで返す という2つの文字列が全く同じであれば FALSE ここでは,2つの文字列が一致しないときに エグザクト 関数に第2引数として配列を渡し、その配列が "A "であるか "B "であるかを調べるよう依頼します。 セルG3 (が入っているかどうかを調べます。 入力として配列を渡したので、その配列は または ファルス また、出力はExcelのメモリに保存され、範囲指定ではありません。

出力します。 {false;false;false;false;true}とする。

の値を比較した出力です。 G3 を得たので、ルックアップ配列のすべてのセルに ということで、ルックアップ値と完全に一致する。 あとは、その の値を配列で返します。

があります。 MATCH 機能で救う!

  • match(true,exact(g3,b2:b7),0)です。 -となる。 match({false;false;false;false;true})です。

説明する。 があります。 MATCH この例では,完全に一致する値を取得したいので,第3引数に 0 (TRUE)です。

出力します。 6

  • index(d2:d7,match(true,exact(g3,b2:b7),0))である。 -となります。 INDEX(D2:D7,6)

説明する。 があります。 INDEX 関数は2つの引数をとり,1次元の範囲内の特定の値を返します。 行番号の位置は既に知っているので (6) を使用することで、目的の値を保持することができます。 INDEX でその位置の値を抽出します。

出力します。 22

というわけで、john Showのスコアは22点。

2.VLOOKUPとCHOOSE関数を組み合わせて、Excelで大文字小文字を区別したVLOOKUPを行う。

の組み合わせで2通りの実装が可能です。 ブイルック とのことです。 選択 関数を使って、大文字と小文字を区別する ブイルック をExcelで表示します。

2.1 ヘルパーカラムでVLOOKUPの大文字小文字を区別する

新しいカラムを挿入して、ルックアップ配列の各項目に固有のルックアップ値を取得することも効果的な方法です。 これは、文字ケースの異なる名前を区別するのに役立ちます。 そして、その新しく挿入したカラムをヘルパーカラムと名付けることにします。

大文字小文字を区別するための手順 ブイルック とHelper Columnの組み合わせは以下の通りです。

ステップス

  • データを取り出したい列の左側にヘルパー列を挿入します。

  • ヘルパー欄に数式を入力 =ROW() 各セルに行番号が挿入されます。
  • 結果値を入れたいセルをクリックします(今回の場合、そのセルは H4 ).
  • そして、次の式を書きなさい。
=vlookup(max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7))),$d$2:$e$7,2,0)であること。

さて、上の写真を見てください。そこには、ジョン・シナの点数ではなく、ジョン・ショーの点数があることがわかりますね。

フォーミュラの内訳

では、どのようにしてジョン・ショーのスコアがわかったのか、計算式を分解してみましょう。

  • exact(h3,$b$2:$b$7)です。 ->前回の考察と同様です。 エグザクト の配列を返します。 FALSE の値で、ここで は大文字と小文字を区別するマッチを表し FALSE は,一致しない値を表すので,この例では次のような配列を返します。

出力します。 {false;false;false;false;true}とする。

  • exact(h3,$b$2:$b$7)*(行($b$2:$b$7)) -となります。 { FALSE;FALSE;FALSE;FALSE;TRUE} * {John,Roman,Seth,Dean,Finn,john}。

説明する。 の配列との掛け算を表しています。 TRUE/FALSE の行番号と B2:B7 がある場合は、必ず であれば、行番号を抽出し、それ以外の場合は ファルス .

出力します。 {0;0;0;0;0;7}

  • max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7))) -となります。 MAX( 0;0;0;0;0;7)

説明する。 数値の配列から最大値を返します。

出力します。 7 (これは完全一致する行番号でもある)。

  • vlookup(max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7))),$d$2:$e$7,2,0) -となります。 VLOOKUP(7,$D$2:$E$7,2,0)

説明する。 配列からルックアップ値を取り出すだけでよいのです。 (D2:D7) で、完全に一致するものを探したいので、引数として 0 (TRUE)です。

出力します。 22

というわけで、john Showのスコアは22点。

ヘルパーカラムは、データセットのどこにでも挿入できます。 ただ、データを取得したいカラムの左側に挿入してください。 その際、カラムの番号を ブイルック の機能を適宜変更します。

2.2 仮想ヘルパーデータでVLOOKUPの大文字小文字を区別する

仮想ヘルパーデータの使用方法は、ヘルパー列の挿入とほぼ同様ですが、ここでの工夫は、ワークシートに実際の列を置くのではなく、数式そのものが列として機能することです。

大文字小文字を区別するための手順 ブイルック を、Virtual Helper Data と共に提供します。

ステップス

  • 結果値を入れたいセルをクリックします(今回の場合、そのセルは I4 ).
  • そして、次の式を書きなさい。
=vlookup(max(exact(i3,$d$2:$d$7)*(row($d$2:$d$7))),choose({1,2},row($d$2:$d$7),$f$2:$f$7),2,0)

さて、上の写真を見てください。ジョン・シナのスコアではなく、ジョン・ショーのスコアがあるのがわかると思います。

フル・フォーミュラの次の部分は、ここでは、次のように動作します。 ヘルパーデータ ,

=---CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7)---

フォーミュラの内訳

バーチャル・ヘルパー・データがどのようにジョン・ショーのスコアを算出するのに役立ったのか、計算式を分解して見てみましょう。

  • choose({1,2},row($d$2:$d$7),$f$2:$f$7)です。 ->この数式を選択し、押して図示すると F9 という結果が出ます。

出力します。 {2,100;3,50;4,30;5,80;6,60;7,22}

説明する。 これは,与えられた配列から行番号とそれに関連する値を除算して表示する配列を表します. カンマ .そして、それぞれの セミコロン はそれに続く新しい行番号を表します。 つまり、行番号と返り値を持つ列(つまり、この場合は行番号とScore列)からなる2つの列が作成されたように見えます。

  • vlookup(max(exact(i3,$d$2:$d$7)*(row($d$2:$d$7))),choose({1,2},row($d$2:$d$7),$f$2:$f$7),2,0) -となります。 VLOOKUP(7,{2,100;3,50;4,30;5,80;6,60;7,22},2,0)

説明する。 を適用すると ブイルック 関数では,単に2つの仮想データ列から最初の列のルックアップ値を探し,対応する値を返すだけである(すなわち スコア を組み合わせたものです。 マックス エグザクト 関数は、上記のHelper Columnの議論の計算で得たものです。

出力します。 22

というわけで、john Showのスコアは22点。

3.SUMPRODUCT関数を使ってExcelのVLOOKUPを大文字小文字を区別して表示させる

大文字と小文字を区別して取得できる ブイルック を実装することで サンプロダクト 関数を使用します。

ジェネリック・フォーミュラ。

=SUMPRODUCT(- -( EXACT(値,lookup_column)),result_column)。

大文字小文字を区別するための手順 ブイルック を実装することで サンプロダクト 関数を以下に示します。

ステップス

  • 結果値を入れたいセルをクリックします(今回の場合、そのセルは G4 ).
  • そして、次の式を書きなさい。
=sumproduct((正確には(b2:b7,g3)*(d2:d7)))

さて、上の写真を見てください。ジョン・シナの点数ではなく、ジョン・ショーの点数があるのがわかりますね。

フォーミュラの内訳

どうやってジョン・ショーの点数がわかったのか、計算式を分解してみましょう。

  • exact(b2:b7,g3) ->前回の考察と同様です。 エグザクト の配列を返します。 FALSE の値で、ここで は大文字と小文字を区別するマッチを表し FALSE は,一致しない値を表すので,この例では次のような配列を返します。

出力します。 {false;false;false;false;true}とする。

  • サンプロダクト((正確には(b2:b7,g3)*(d2:d7)))。 -となる。 sumproduct({false;false;false;false;true} * {100,50,30,80,60,22})である。

説明する。 サンプロダクト の場合、それぞれの配列の値を単純に掛け合わせて、最終的な配列を取り出します。 {false;false;false;false;false;22}のようになります。 .そして、その値を合計して返します。

出力します。 22

というわけで、john Showのスコアは22点。

この公式のマジックは、、、。 FALSE の価値観は、実は他のすべての価値観を打ち消しているのです。 .

だから きおくにとどめる というのは、配列の中に複数のマッチがある場合は サンプロダクト はそれらのマッチした値の合計を返す。 また サンプロダクト は数値に対してのみ機能し、テキストに対しては機能しません。 したがって、一意のテキスト値を取得したい場合は、これまで説明した方法を利用してください。

4.エクセルで大文字小文字を区別してVLOOKUPを行うXLOOKUPの公式

大文字と小文字を区別して取得できる ブイルック を実行することで XLOOKUP 関数を使用します。

ジェネリック・フォーミュラ。

=XLOOKUP(TRUE,EXACT(lookup_value, lookup_array), return_array, "Not Found")

大文字小文字を区別するための手順 ブイルック を実装することで XLOOKUP 計算式は以下の通りです。

ステップス

  • 結果値を入れたいセルをクリックします(今回の場合、そのセルは G4 ).
  • そして、次の式を書きなさい。
=XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "見つかりませんでした")

さて、上の写真を見てください。そこには、ジョン・シナの点数ではなく、ジョン・ショーの点数があることがわかりますね。

フォーミュラの内訳

では、どのようにしてジョン・ショーのスコアがわかったのか、計算式を分解してみましょう。

  • exact(g3, b2:b7) ->前回の考察と同様です。 エグザクト の配列を返します。 ファルス の値で、ここで は大文字と小文字を区別するマッチを表し FALSE は,マッチしない値を表すので,この場合は以下のような配列が返されます。

出力します。 {false;false;false;false;true}とする。

  • XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "見つかりませんでした") -となります。 XLOOKUP( {false;false;false;false;true}です。 {100,50,30,80,60,22}, "見つかりませんでした")

説明する。 その後 XLOOKUP は,与えられた配列を検索します(この例では,配列は B2:B7 )に対応しています。 の値に一致するものを返送する配列 ( D2:D7 ).

出力します。 22

というわけで、john Showのスコアは22点。

を覚えておいてください。 もし、ルックアップカラムに複数の同じ値(文字ケースを含む)がある場合、数式は最初に見つかったマッチを返します。

この XLOOKUP のみで動作します。 Excel 365 .

押さえておくべきポイント

  • 値を検索するデータテーブル配列の範囲は固定されているので、忘れずに ドル 記号を配列テーブルのセル参照番号の前に置く。
  • 配列の値を扱うときは、忘れずに Ctrl + Shift + Enter を押すだけで、結果を抽出することができます。 入力 は、配列の値を操作している間は動作しません。
  • を押した後 Ctrl + Shift + Enter の数式を数式バーで囲んでいることに気づきます。 中括弧{} を入力し、配列式として宣言します。 括弧{} を選択すると、Excelが自動的にこれを行います。

結論

を作る方法を詳しく説明しました。 ブイルック 関数の組み合わせにより、大文字と小文字を区別することができます。 この記事が皆様のお役に立てれば幸いです。 また、ご不明な点がありましたらお気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。