EXCELで世界のナベアツ その5
2008年12月09日 投稿者 白取です
そうこうしているうちに3ネタもだいぶ下火になってしまいましたね。関数ネタはあまり人気も無いようで、社内からも「わからない・・・」なんて声も聞こえ、若干モチベーションも下がりつつありますが、前回までに解説した3の倍数と3のつく数の判定方法をつかって、条件に合う時とそうでない時で表示する結果を変える方法を解説します。
実際のEXCELシートを掲載しておきますので参考にして下さい。
EXCELファイルをダウンロード
まず、表示結果の確認をしましょう。

3の倍数か3がつく数字の場合は、数字の後に(アホ)と入っています。
そうで無い場合は数字のみの表示になっています。
これはIF関数をつかって、それぞれの場合の表示結果を作っています。
表示結果をどうするかによって計算式の難度が変わってきますので、見た時にわかりやすく、且つ作る時に計算式が複雑にならないように考えるコトが重要です。
では計算式の解説です。
B4のセルには
=IF(OR(MOD(A4,3)=0,ISERR(FIND("3",A4))=FALSE),A4 & "(アホ)",A4 & "")
という計算式が入っています。
ちょっとわかりづらいので、結果の部分だけピックアップしてみます。
IF関数で3の倍数か3がつく数字を判定し、
3の倍数か3がつく数字の場合
A4 & "(アホ)"で、A4の値と(アホ)という文字をくっつける。
そうで無いときは
A4 & ""で、A4の値と長さ0の文字列をくっつける。
という意味になります。
&はアンドではなくアンパサンドと読みましょう。これは、文字と文字を結合する演算子です。
""は長さ0の文字列を意味します。
長さ0の文字列。
人に説明する時は面倒くさいので「空白」という言い方をしてしまう事もありますが、関数によっては空白と長さ0の文字列を同じに扱うものもあれば、別物として扱うものもあるので、厳密に言うと空白と長さ0の文字列は異なりますので注意しましょう。
おまけで、「更に5の倍数の時に犬になる」場合の計算式を作ってみました。

5の倍数の時は(犬)と表示され、3の倍数か3がつく数で更に5の倍数の時に(アホな犬)と表示されています。計算式が長く複雑になってしまうので、IF関数をネストしている訳ではありません。この辺をどう実現するかがポイントです。
興味のある方はダウンロードして解析してみて下さい。
EXCELファイルをダウンロード



















