pagetop.png
iconiconicon

トップページ
講座案内
最先端学習メソッド
教室一覧
お客様の声
受講生作品
説明会予約
運営会社
新着情報一覧
お問い合わせ

パソコン入門講座

Word(ワード)講座

Excel(エクセル)講座

社会人向けパソコン講座

仕事に就職に役立つ資格取得講座


個人事業主様向け講座

趣味と生活を楽しむための講座

メニューに戻る

メニューに戻る

【Excel】VLOOKUPで「*」や「?」を正しく検索する方法

ExcelでVLOOKUP関数を使って検索をしている時に、
「完全一致のはずなのに、正しく検索できない」ということがあります
その原因のひとつが「*(アスタリスク)」や「?(クエスチョン)」です。
これらの記号は、Excelではワイルドカードとして扱われるため、見た目通りの検索をすることができません。

ワイルドカードとは、検索時に「任意の文字列」の代わりとして機能する特殊な記号です。
「*」は任意の文字列(0文字以上)の代わり、「?」は任意の1文字の代わりとして機能します。
例えば、「A*」 で検索すると 「A」で始まるすべての文字列が対象になり、
「A?C」 と検索すると 「ABC」「A1C」などが対象になります。

そのため、VLOOKUP関数で「A?C」の行の対象列を検索したいのに、
「ABC」の行の結果が出てきてしまうということが発生します。




そこで使用するのが「~(チルダ)」という記号です。
「~」は、直後の文字をワイルドカードではなく文字として扱うための記号で、
「~*」「~?」と表記することで、「(文字列の)*」「(文字列の)?」と認識されます。

ExcelではSUBSTITUTE関数で文字列の置換ができますので、今回のようなケースですと、
このSUBSTITUTE関数をVLOOKUP関数の検索値にネストして利用するのがおすすめです。

例えば、
=VLOOKUP(SUBSTITUTE(A2,"*","~*"),範囲,列番号,FALSE)
とすると、A2の「*」を「~*」に置き換えてからVLOOKUPで検索するという式になります。

「?」が含まれる場合も同様にSUBSTITUTEで変換できます。
また、「*」と「?」の両方が含まれる可能性がある場合は、SUBSTITUTEを組み合わせて対応できます。



「*」や「?」が含まれてうまく検索できない事象は、
商品コード、型番、管理番号など、データ管理をしていると実際によく起きるケースです。
ワイルドカードとして利用されていない場合は、この方法で回避してみてくださいね。