このページには広告が含まれる場合があります。
前回に引き続き、いつの間にかシリーズ化しているExcel入社テストの実践編第5回目です。
前回までは以下からどうぞ。
エラー処理
問題のファイルを真似て作ってみました。必要な方はこちらからダウンロードしてください。
何事にも失敗はつきものです。
人間の世界では、失敗に対処する方法を考えておくことで予防線を張ったり、
失敗したことによって次へのステップアップに生かすことができます。
でも、コンピュータの世界には失敗というものがありません。
この世界で失敗しているのも実は人間だったりします。
人間が「こう動いてほしい」とコンピュータに命令をすれば、
コンピュータは命令通りに動きます。
例え、その命令がとんでもない大間違いだったとしても・・・
したがって、人間がこういう結果になるだろう、と予想してExcelの関数を実行すれば
忠実にその関数を実行して結果を返してくれるのです。
表示できない答えは「エラー」という結果を返してくれて、
突然電源が切れたり、黒い煙を吐いたり、ということには決してなりません。
そう、計算できない場合はきちんとエラーを返してくれるのですから、
再度、人間がこのエラーが起きた場合にはどうしたらよいか、を考えるのです。
回答は、「IF」関数と「ISERROR」関数と「VLOOKUP」関数を組み合わせて(ネスとして)使っていました。
「VLOOKUP」関数の結果が「True」か「FALSE」かを判断している部分がネストされています。
エラーが出るようだったら、「0」を返せばいいし、エラーが出ないんであればそのまま「VLOOKUP」関数の結果を返せばいいよ、と言う意味になります。
もっとスリムに書く
先程の関数の式は、ちょっと見づらくありませんでしたか?
古いバージョンのExcelには、おそらくまだ実装されていなかった気がしますが、
Excel2016を始め、最近のバージョンのExcelには、「IFERROR」関数というとても便利な関数が使えるようになっています。
【IFERROR(指定した値など,エラーの場合の値など)】
これだけです。「IFERROR」関数を使うとエラー処理を行って条件分岐したい場合に、式がとてもスリムになります。
「IFERROR」関数で書き直してみました。
ものすごく式が短くなって、見やすくなりましたよね。
「VLOOKUP」関数を1回書くだけで済んでしまいますし、これだけ短ければ間違いも少なくなります。
この関数も様々なエラーに対処できるので、是非、覚えておいてください。