VLOOKUPにも限度がある(回避可能ですが)

午前1:

・話題「組織の人材不足」

 

午前2:

・Excel「データの入力、範囲選択」

 

午前3:

・Word「文字書式、段落書式」

 

午前4:

・ネット通販

・オンラインでポイント交換

 

 

 

土曜のブログの続き。

VLOOKUP関数のトラブルの話でした。

 

VLOOKUP関数自体の特性は先週のブログをご覧ください。

 

会社全体で資格試験を受験しているかどうかの表を作成したい。

部署ごとに集計はしているものの、

  • 部署Aは受験済みの社員のみ記録している
  • 部署Bは受験日を記録している
  • 部署Cは受験者のみ受験日を記録している

という前提条件でした。

 

 

 

普通にC列にVLOOKUP関数を入力すると、以下のように表示されてしまいます。

一つずつ解説していきましょう。

 

まずはC5。

ここには「#N/A」というエラーが表示されています。

 

このエラーは「該当する値が存在しない」ときに表示されます。

確かに、部署Aの表には社員番号「A002」が存在しないので、関数がそう答えているんですね。

 

C6、C12、C13も同じ理由でエラーが表示されています。

 

 

 

次にC8。

「5/1」という日付データを返しているのですが、

セルC8が日付表示にしていないので、数値のデータ(シリアル値)の45413が表示されています。

 

シリアル値とは、Excelが日付の計算がしやすいように内部で使用している値で、

「1900年1月1日」を「1」として求められます。

 

「5/1」、厳密には「2024/5/1」って、「1900年1月0日の45412日後」なんですね。

 

でも本来は「済」という表示にしたかった。。。

 

 

 

また、C9も問題あり。

空白にしたかったのに「0」を表示してしまいます。

 

 

 

便利なVLOOKUP関数ですが、参照する表をちゃんと仕様に合わせておくことが必要です。

 

 

 

「関数のネスト」という関数に関数を組み込むテクニックを使えば、

今回のような仕様に合っていない表からも期待通りの結果を返すことは可能です。

自信のある方はぜひ挑戦してみてください。

 

理想はちゃんと関係部署に事情を伝えておくことが一番ですね。