4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IF関数を使わずに「あるセルの値がxだったらyを表示」

Posted at

Excelで、「あるセルの値が○○だったら、隣接するセルに××を表示」ということをしたいケースは多いと思います。

#IF関数で
最初に思いつくであろう方法は、IF文を利用するものでしょう。

01.PNG

基準になる値が2択の場合は、IF関数を使うのが一番シンプルかと思います。
しかし、3つ以上の値に対応するためには、以下のようにIF関数をネストさせなければいけません。

 =IF(A1="赤","Red",IF(A1="黄","Yellow","Blue"))

3つ、4つくらいまでならまだいいですが、あまりスマートな方法ではなく、メンテナンスもしづらくなります。

#VLOOKUP関数で
基準になる値の種類が非常に多い場合は、別に表を作成して、VLOOKUP関数を使うのが無難ではないかと思います。

02.PNG

特に問題はないのですが、別に表を作成しなければならない点はデメリットでしょうか。

3つ~5つくらいの分岐の場合、IF関数だと表記が煩雑、VLOOKUP関数を使うほど選択肢は多くはない、とどちらも中途半端な気がします。
ということで、第3の選択肢です。

#LOOKUP関数で
以下のようにLOOKUP関数を記述すると、シンプルに実現することができそうです。
03.PNG

LOOKUP関数の第2引数、第3引数にはセル範囲を指定するのがよくある使い方の例ですが、{ } でくくった配列を指定することもできます。
注意する点としては、第2引数の配列は昇順で並べ替えておく必要があるという点でしょうか(参照)。配列の要素が文字列の場合は気をつけなければいけませんね1


  1. 第2引数の配列の要素が文字列の場合、まれに想定した結果が返ってこないことがあるようなのですが、現在の僕には原因が分かりませんでした……。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?