エクセルでIF関数を使う方は多いと思いますが、IFの中にIFがあって、その中にIFがあって・・・のような状態の関数になっているエクセルを持っている方もいると思います。
今回は、エクセルの数式のIF関数を基に、他人から見たときのわかりやすさ、を観点に記事を書きたいと思います。
IF関数、こんなことになってない?
IFで判別したいことが、2つなら、以下のように、2つの判断で足ります。
=IF(A2=B2,”正解”,”不正解”)
しかし、判別が3つ以上になると、急に、
=IF(A2=B2,”OK”,IF(A2=C2,”OK”,”NO”))
と、IFの中にIFを入れるという入れ子(ネスト)状態に
さらにこの状態が4つ5つとIFを抱えたセルまであり、引継ぎなどで他人から渡されたときに、エクセルの式を壊さないかが心配になり、
元のエクセルをコピー → 複製したエクセルを2とか付けて保存 → 中身をちょっといじらないといけなくなり → 3とか付けて保存
そんなことをしているうちに、最初は上手くIFで判断されていたのに、いつの間にか判断がおかしい・・・。しかもどの段階のエクセルでおかしくなったのか分からない・・・。
なんていう経験はないでしょうか?
IF関数の入れ子の見づらさ解消法
答えは単純です。
=IF(A2=B2,”OK”, IF(A2=C2,”OK”,”NO”) )
このような形で Alt+Enter でIF関数の中で改行をし、もし~なら○○「そうでないなら××」の「」部分を改行します。
こうすることで、見づらさを解消でき、IFが見やすくなります。
以下はIF関数についての雑記です。
IF関数の入れ子問題の根深さ
エクセルが出来る人と出来ない人の違いで、大きく分かれるのが、このIF関数だと思っています。
IF関数では、論理学的に、あることが真なのか偽なのかを判断し、それをエクセル上で判断、反映させているのものです。
論理学??? IF関数は使えるけど、何が論理?? という人でも、実際には、頭の中で論理立ててIF関数で処理をしているのです。
反対に、IF関数が使えないという人は、物事を判断するときに、どのように論理立てすればよいかという判断の整理がついていない場合があります。
ここに、IF関数の根本的な問題の要素があります。
というのも、自分ひとりだけが使うエクセルならよいのですが、企業などで、他人に使わせる、使ってもらう、引き継ぐ、等が発生すると、IF関数の入ったエクセルの作成者と他人との間で、エクセル上で表現している論理が見える人と見えない人が出てき、データは引継ぎ(使用させること)ができたが、考え方の伝達が行われないままになっているという問題が起こります。
それでも、エクセルの数式を維持できているうちはよいですが、知らず知らず、セルの中の式を消してしまったり、そうなるのが怖くて複製を繰り返したりということが行われ、根本原因であるエクセル上で表現されていた考え方を理解できる人が現れない限り、この問題が絶えず爆弾のように企業で抱えることとなります。
このような問題の解決をエクセル上では行わずに、マニュアル化している会社もあると思います。しかし、大事なことはエクセルに載っている、ということが、一番無駄を省くこととなるのではないのでしょうか?
今度はこのような問題の解決について、記事を書きたいと思います。