VLOOKUP関数 – 検索して日付を抽出する方法【数字・1900/1/0の対処も】

midSun31midSun31
IT・デジタル

ExcelやGoogleスプレッドシートのVLOOKUP関数を使って日付を検索して抽出することができます。

ただし、結果として日付を取得する作業は、数字が表示されたり一部が「1900/1/0」になったりとなかなかトラブルが発生しやすいところでもあります。

この記事では、VLOOKUP関数で検索して日付を抽出する方法について解説します。トラブルの対処方法も合わせて紹介します。

検索して日付を抽出する方法

VLOOKUP関数で日付を抽出するには、第3引数の抽出する列数に、日付の列数を指定するだけです。

例では、F列の商品番号在庫一覧から検索し、入荷予定日を取得します。

J4セルに以下のVLOOUP式を設定します。検索値にF列を、参照範囲は一覧表(B3~D13セル)、抽出する列は3番目のD列を設定しています。

=VLOOKUP(F4,B4:D13,3,FALSE)

J列にD列から抽出した入荷予定日を取得することができました。

日付として抽出できない時の対処

上記の方法で日付を抽出しても、日付が正常に表示されないケースがあります。対処法をケースに分けて紹介します。

ケース1:数字が表示される時の対処

日付を抽出して表示すると、下のシートのようにVLOOKUP関数の取得結果が数字で表示される場合があります。

原因はJ列の書式設定が「数値」や「標準」になっているためです。対処するには、セルの書式設定を変更する必要があります。

  1. VLOOKUPの数式が入っているセルをドラッグで範囲選択して右クリックし、「セルの書式設定」を開きます。
    • 例では、J4~J9セルの範囲を選択しています。
  2. セルの書式設定が開くので、分類で「日付」を選択して「OK」をクリックします。
  3. VLOOKUP関数の抽出結果が日付形式で表示されるようになりました。

ケース2:1900/1/0が表示される時の対処

日付を抽出すると下のシートのようにVLOOKUP関数の取得結果の一部が「1900/1/0」で表示される場合があります。

上記の表示になる理由としては、商品番号「A002」の入荷予定日が空欄になっているためです。エラーではありませんが「1900/1/0」が表示されていると見間違えやすいですね。

対処法として、IF関数を組み合わせて参照範囲が空欄である場合は「1900/1/0」ではなく空欄を表示させるようにします。

=IF(VLOOKUP(F4,B4:D13,3,FALSE)="", "", VLOOKUP(F4,B4:D13,3,FALSE))

「A002」の入荷予定日が参照範囲の通り、空欄で表示されるようになりました。

VLOOKUPとIF関数の組み合わせについてはこちらでも解説しています。

以上、VLOOKUP関数で検索して日付を抽出する方法でした。

IT・デジタル
Howpon[ハウポン]

コメント