Excelで、「あるセルの値が○○だったら、隣接するセルに××を表示」ということをしたいケースは多いと思います。
#IF関数で
最初に思いつくであろう方法は、IF文を利用するものでしょう。
基準になる値が2択の場合は、IF関数を使うのが一番シンプルかと思います。
しかし、3つ以上の値に対応するためには、以下のようにIF関数をネストさせなければいけません。
=IF(A1="赤","Red",IF(A1="黄","Yellow","Blue"))
3つ、4つくらいまでならまだいいですが、あまりスマートな方法ではなく、メンテナンスもしづらくなります。
#VLOOKUP関数で
基準になる値の種類が非常に多い場合は、別に表を作成して、VLOOKUP関数を使うのが無難ではないかと思います。
特に問題はないのですが、別に表を作成しなければならない点はデメリットでしょうか。
3つ~5つくらいの分岐の場合、IF関数だと表記が煩雑、VLOOKUP関数を使うほど選択肢は多くはない、とどちらも中途半端な気がします。
ということで、第3の選択肢です。
#LOOKUP関数で
以下のようにLOOKUP関数を記述すると、シンプルに実現することができそうです。
LOOKUP関数の第2引数、第3引数にはセル範囲を指定するのがよくある使い方の例ですが、{ } でくくった配列を指定することもできます。
注意する点としては、第2引数の配列は昇順で並べ替えておく必要があるという点でしょうか(参照)。配列の要素が文字列の場合は気をつけなければいけませんね1。
-
第2引数の配列の要素が文字列の場合、まれに想定した結果が返ってこないことがあるようなのですが、現在の僕には原因が分かりませんでした……。 ↩