- ベストアンサー
エクセルのVLOOKUPで数字を検索する方法とは?
- エクセルのVLOOKUP関数を使って、A列の数字の中にB列の数字が含まれているかどうかを検索する方法について教えてください。
- A列とB列の数字が数値型と文字列で異なるために検索がうまくいかない場合、どのようにすれば解決できるのでしょうか?
- A列の数字の前に「00」がついている場合に検索がうまくいかない理由についても教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数で検索する 例えば、先頭が00固定ならば、=VLOOKUP("00"&B1,A:A,FALSE)、先頭が不特定ならば、=VLOOKUP("*"&B1,A:A,FALSE)で検索できますが如何でしょうか。 NO1様のご回答の通り、=COUNTIF(A:A,"*"&B1")の方が汎用的かと思います。 因みに全数値型に変更する方法として、A列を選択→データ→区切り位置→完了で一括変更ができると思いますのでお試し下さい。
その他の回答 (3)
- Nouble
- ベストアンサー率18% (330/1783)
VLOOKUP関数は高機能な性か思い関数な事もありますが そもそも 此の関数だけである無しまでをも表示させるのは 費用対効果が合わなさすぎますし 第一! 此の関数は捜査範囲が左にあることを 基本的には求めますので かなりお勧めできないのです が ご所望と言うことなので… C列にBにある値がA列に対しての 有無の検査結果を表すとして =choose(iserorr(vlookup(value(B1),value(A:A),1,0))+1,"無","有") =choose(product(0+iserorr(vlookup(value(A:A),value(B:B),1,0)))+1,"有","無") =if(iserorr(vlookup(value(B1),value(A:A),1,0)),"無","有") =if(product(0+iserorr(vlookup(value(A:A),value(B:B),1,0))),"無","有") =lookup(product(0+iserorr(vlookup(value(A:A),value(B:B),1,0))),{0;1},{"有","無"}) =index({"有";"無"},1,product(iserorr(vlookup(value(A:A),value(B:B),1,0))+0)+1) =choose(match(product(0+iserorr(vlookup(value(A:A),value(B:B),1,0))),{0;1},0),"有","無") =if(sumxmy2(sign(row(A:A)),iserorr(vlookup(value(A:A),value(B:B),1,0))),"有","無") エラーを嫌わず それを許容して 更に利用すればいいのでは? 尤も 元データに細工できるなら もっと他のやり方もあるのですが 今は携帯で即興で書いているので かなり自身無いですし こんな感じでひとつ…
- Cupper
- ベストアンサー率32% (2123/6444)
数値と文字列の違いで検索に失敗している 文字列から数値に型を指定するだけでは、数値になりませんから… 数値の前に"00"が着いているということは文字列のままです また、セルに入力されている文字の横の位置は標準の設定なら 文字列:左寄せ 数値:右寄せ ですので一目で分かります A1セルを選択して、F2キーを押す、続いてEnterキーを押す A2セルを選択して、F2キーを押す、続いてEnterキーを押す A3セルを選択して、F2キーを押す、続いてEnterキーを押す A4セルを選択して、F2キーを押す、続いてEnterキーを押す A5セルを選択して、… とするとようやく数値として認識されます あるいは、 どこか空いたセルに "1" を入力して、そのセルをコピー A列全体を選択して、「編集」→「形式を選択して貼り付け」→「乗算」→「OK」 これで一度に数値として認識させることができます
- bari_saku
- ベストアンサー率17% (1827/10268)
この目的でしたら、VLOOKUPよりCOUNTIFの方がいいんじゃないでしょうか。 あと全部数値にしたのなら、現在、Aの値の頭の2つの0はなくなっている状態と解釈していますが、あってますか?
お礼
早速のご回答ありがとうございます! 全部数値にしても「00」は消えず、ただ、A列の数字をダブルクリックすると「00」は消えるのですが。
お礼
ご回答ありがとうございます!そうだったんですね・・・。 助かりました!