• 締切済み

EXCELのVLOOKUP関数について

EXCELでVLOOKUP関数を使ったとき 検索値にあたる、コード番号が「A100」などのような文字列の場合 「a100」でも「A100」でも英字の大文字小文字を区別して エラーの表示などはされませんよね。 これを区別させたいとき、大文字じゃないといけないのに 小文字で入った場合はエラーを返したいときなどの方法があれば 教えて下さい。 よろしくお願いします。

  • C_PAMA
  • お礼率80% (328/408)

みんなの回答

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.5

No.4です。 >「範囲+1」の部分が・・・ 紛らわしい回答でご免なさい。 ご質問の様に、範囲を広げてください(範囲+1列です)。 失礼しました。

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.4

No.3の追記です。 コード表(範囲)の左(A列)に1列挿入して A1へ =IF(EXACT(B1,LOWER(B1)),B1,JIS(B1)) を、オートフィルで下へ VLOOKUP(検索値,範囲,列番号,検索の型) VLOOKUP(A1,範囲,列番号,0) を ↓ VLOOKUP(IF(EXACT(A1,LOWER(A1)),A1,JIS(A1)),範囲+1,列番号+1,0) 上記の様にすれば、検索値の入力は、半角で統一できるので使いやすいのではないでしょうか?

C_PAMA
質問者

お礼

お礼がおそくなりすみませんでした。 「範囲+1」の部分が理解できなくて・・・すみません。 範囲が一行広がる?ってことですか? 大体の意味は理解できます。 ありがとうございます

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.3

例えば、検索値の全角と半角の区別は出来るので、 下記のような式で大文字を含む文字列だけを全角にしてしまうとか? 検索値がA列にある場合 =IF(EXACT(A1,LOWER(A1)),A1,JIS(A1))

C_PAMA
質問者

お礼

検索値のセル以外に新たな列をもうけて IF関数を入れておくということですかね? ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

大文字、小文字が認識できるFIND関数を利用する方法は如何でしょうか。 =IF(SUMPRODUCT(ISNUMBER(FIND(検索値,範囲))*ROW(範囲)),"あり","エラー") VLOOKUP関数と同様に対象列を抽出する方法は次のようになります。(D1セルに検索値、A1:B3範囲でB列を抽出) =IF(SUMPRODUCT(ISNUMBER(FIND(D1,$A$1:$A$3))*ROW($A$1:$A$3)),INDEX($B$1:$B$3,SUMPRODUCT(ISNUMBER(FIND(D1,$A$1:$A$3))*ROW($A$1:$A$3))),"エラー")

C_PAMA
質問者

お礼

なるほど・・・。 VLOOKUP以外の関数でこのようにできるんですね。 ありがとうございました。 勉強になりました。

  • kickknock
  • ベストアンサー率31% (207/661)
回答No.1

vlookup関数は、数値を拾いに行くので、文字の大小は識別しません。 文字列のエラーなどを確認したかったら、countifとかcountとか使う方が適切ですね。 何となく、質問はわかるのですが。

C_PAMA
質問者

お礼

単純にVLOOKUPを使っての大小文字識別は不可能ということですね。 ありがとうございました。 お礼遅くなりすみませんでした。

関連するQ&A

  • VLookUp関数の使い方

    VLookUp関数で[検索の型]をFalseにすると、検索値と同じ値がないと エラーコード(#N/A)を返してきます。 検索値と同じ値がないときは、別の処理をしたいので、エラーコードではなく別の文字列を返してほしいですが、 できますか?

  • エクセルのVLOOKUP関数について

    エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。 それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。 LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。 3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。 文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか? 1つずつ自分で数字を入力するしかないのでしょうか? 他に何か別の方法でも構いませんので、教えていただけないでしょうか?

  • エクセル「VLOOKUP関数」についての質問です。

    エクセル「VLOOKUP関数」についての質問です。 初心者に近いので応用が浮かびません・・・ VLOOKUP関数で「#N/A」部分には指定の文字を表示させ、返ってきた値をブランクで表示させたいのですがエラー表示は「IF関数」で「ISNA」で""の間に特定の文字を指定するところまでしか出来ず困っています。 【例】 <4月在籍者>  A      B     C 個人コード  名前   在職者 11111    あいう子  退職 22222    かきく子 33333    さしす子  退職 44444    たちつ子 55555    なにぬ子 C列に5月在籍者のデータから検索をかけ、同氏名が存在しない場合はエラーになります。 そこでエラーは「退職」と表示させつつ、同氏名が存在した場合は同氏名を表示させるのではなく、ブランクにしたいのです。 わかりにくい説明ですが どうか よろしくお願いいたします。

  • エクセルのVLOOKUP関数

    エクセルでVLOOKUP関数を使ってます。 一般的には、たとえば製品番号(数字)を入力すると 製品名(文字列)を引いてくるという使い方でVLOOKUP 関数を設定すると思いますが、製品名を入力すると、製品番号を引いてくるように設定しようと思ったらうまくできません。 何かよい方法はありますか?

  • エクセル VLOOKUP について

    エクセルのVLOOKUP関数について質問です。 VLOOKUPでは文字列検索で、指定の値(文字列)を含むという検索値はできないのでしょうか? 現在A列に検索したいワードを含む文章が入っており、ワードを含む列の2番目のセル(Bの列)を 別シートへ呼び出そうとしたのですが、エラーになってしまします。 例えば、「りんご」という言葉を含む文章、含まない文章がある列で、検索値を「りんご」にして VLOOKUP関数を使用する事はできないのでしょうか? エラーになってしまうので、別シートにりんごと入力したセルを作成し、セル番号で指定してみたり、 書式設定を確認したりとしたのですが、成功しません。 もちろんFALSE(0)でもTRUE(1)でも試したのですが、できませんでした。 無理ですか?どこか自分が間違っていそうな点をご指摘いただけませんでしょうか?

  • エクセル関数VLOOKUPで教えてください。 

    エクセル関数VLOOKUPで教えてください。  シ-ト1にA列から学籍番号・B列に氏名・C列に点数(数値)を記入してあります。 シ-ト2に順位表を作成しA列にLARGE関数を使用してシ-ト1から点数降順(昇順)に表示しました。シ-ト2のB列に学籍番号 C列に氏名 をVLOOKUP関数でシ-ト1から抽出したいのですが、点数が同点の場合に当該複数名を表示せず単一名になってしまいます。VBA・マクロを使用せずに関数のみで同一点数獲得者の氏名を個別個々に表示させる方法を教えてください。

  • VLOOKUP関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • VLOOKUP関数で困っています。

    コード番号の下二桁を取り出して、その値を表から探し出して商品名を表示させる作業をVLOOKUPで設定しようとしていますが、うまくいきません。 おそらく、下2桁を取り出したセルにはRIGHTB関数の計算式が入っており、取り出された2桁の文字列ではなく、計算式を表の中から探し出しているようでN/Aのエラーメッセージです。このような場合、どのようにすればよいのでしょうか。

  • EXCELのVLOOKUP関数について

    EXCELのVLOOKUP関数について教えてください。 例えばA1が○でC1が×のとき、その該当行の3列目を示す というような検索値を2つ満たすようなやり方は可能でしょうか? 範囲、列番号とも検索値1つに対応しているのでvlookup関数を並列することになるのでしょうか? 別の簡単な方法があれば教えてください。 わかりにくい質問で申し訳ございません。よろしくお願いします。

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

専門家に質問してみよう