- 締切済み
EXCELのVLOOKUP関数について
EXCELでVLOOKUP関数を使ったとき 検索値にあたる、コード番号が「A100」などのような文字列の場合 「a100」でも「A100」でも英字の大文字小文字を区別して エラーの表示などはされませんよね。 これを区別させたいとき、大文字じゃないといけないのに 小文字で入った場合はエラーを返したいときなどの方法があれば 教えて下さい。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- turuzou
- ベストアンサー率33% (15/45)
No.4です。 >「範囲+1」の部分が・・・ 紛らわしい回答でご免なさい。 ご質問の様に、範囲を広げてください(範囲+1列です)。 失礼しました。
- turuzou
- ベストアンサー率33% (15/45)
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) 上記の様にすれば、検索値の入力は、半角で統一できるので使いやすいのではないでしょうか?
- turuzou
- ベストアンサー率33% (15/45)
例えば、検索値の全角と半角の区別は出来るので、 下記のような式で大文字を含む文字列だけを全角にしてしまうとか? 検索値がA列にある場合 =IF(EXACT(A1,LOWER(A1)),A1,JIS(A1))
お礼
検索値のセル以外に新たな列をもうけて IF関数を入れておくということですかね? ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
大文字、小文字が認識できる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))),"エラー")
お礼
なるほど・・・。 VLOOKUP以外の関数でこのようにできるんですね。 ありがとうございました。 勉強になりました。
- kickknock
- ベストアンサー率31% (207/661)
vlookup関数は、数値を拾いに行くので、文字の大小は識別しません。 文字列のエラーなどを確認したかったら、countifとかcountとか使う方が適切ですね。 何となく、質問はわかるのですが。
お礼
単純にVLOOKUPを使っての大小文字識別は不可能ということですね。 ありがとうございました。 お礼遅くなりすみませんでした。
お礼
お礼がおそくなりすみませんでした。 「範囲+1」の部分が理解できなくて・・・すみません。 範囲が一行広がる?ってことですか? 大体の意味は理解できます。 ありがとうございます