みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

EXCELのVLOOKUP関数について

EXCELでVLOOKUP関数を使ったとき
検索値にあたる、コード番号が「A100」などのような文字列の場合
「a100」でも「A100」でも英字の大文字小文字を区別して
エラーの表示などはされませんよね。

これを区別させたいとき、大文字じゃないといけないのに
小文字で入った場合はエラーを返したいときなどの方法があれば
教えて下さい。
よろしくお願いします。

投稿日時 - 2009-04-28 13:46:38

QNo.4915543

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

No.4です。
>「範囲+1」の部分が・・・

紛らわしい回答でご免なさい。
ご質問の様に、範囲を広げてください(範囲+1列です)。
失礼しました。

投稿日時 - 2009-05-06 15:04:30

ANo.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)
上記の様にすれば、検索値の入力は、半角で統一できるので使いやすいのではないでしょうか?

投稿日時 - 2009-04-28 15:35:37

お礼

お礼がおそくなりすみませんでした。
「範囲+1」の部分が理解できなくて・・・すみません。
範囲が一行広がる?ってことですか?

大体の意味は理解できます。
ありがとうございます

投稿日時 - 2009-05-04 20:40:29

ANo.3

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

投稿日時 - 2009-04-28 14:48:24

お礼

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

ありがとうございました。

投稿日時 - 2009-05-12 21:26:50

ANo.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))),"エラー")

投稿日時 - 2009-04-28 14:40:37

お礼

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

投稿日時 - 2009-05-04 20:32:24

ANo.1

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

何となく、質問はわかるのですが。

投稿日時 - 2009-04-28 14:38:48

お礼

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

お礼遅くなりすみませんでした。

投稿日時 - 2009-05-04 20:30:38

あなたにオススメの質問