« IF関数で、あいまいな条件(……を含む)の処理を行う。 | トップページ | イルカは海獣です。 »

IF関数に不慣れなうちの考え方

この記事は自分用の覚書です。


■IF関数の書式 ( Excel ヘルプ ) より

IF(論理式, [真の場合], [偽の場合])

IF 関数は、指定された条件を評価した結果が TRUE の場合はある値を返し、評価した結果が FALSE の場合は別の値を返します。

論理式: 必ず指定します。真または偽のどちらかに評価できる値または式を指定します。

真の場合: 省略可能です。論理式引数が TRUE に評価された場合に返す値を指定します。

偽の場合: 省略可能です。論理式引数が FALSE に評価された場合に返す値を指定します。


■IF関数に不慣れなうちの考え方

Excel ヘルプ でIF関数の説明をよく読んで、
IF(論理式, [真の場合], [偽の場合])
という書式を記憶する。
論理式の部分は、「真または偽のどちらかに評価できる値または式を指定する」ことを、心がける。

論理式の部分を考えるときは、「……である。(でない。)」というように言い切る形で表す。
(真または偽のどちらかに評価できる形で表す)

「……ならば」、「……だったら」という表現は、「真ならば」「偽だったら」といった形で、  [真の場合][偽の場合] での表現に使う。
(「真ならば……する(しない)」、「偽ならば……する(しない)」)

IF関数は、真の場合と、偽の場合とで返す値が異なる。このことは、条件が1つでも、複数でも同じ。
「返す値」(IF関数で行いたい処理)は、あくまで論理式(条件)を評価した結果によって変わるのであって、論理式の内容そのものによって変わるのではない。

論理式の部分を、「……ならば」、「……だったら」という表現にしてIF関数を組み立てようとすると、真偽を評価することに意識が及びづらくなる。
たとえば、IF関数に慣れないうちは、「AならばA用の処理を行う」という表現で考えると、「Aならば」という部分を、「Aであるならば」と肯定語を伴った表現で考えがち。
その考えに捉われると、「Aである」も、否定語を伴った「Aではない」も、どちらも「真」である場合と、「偽」である場合が存在することを思い付きにくくなる。
(「Aではない」が満たされたら「真」。満たされなかったら「偽」になる)

「(数式の結果やセルが)Aに等しい。(等しくない。)」のように、論理式の部分を言い切る形で表現することで、それが「真だったら……する(しない)」「偽だったら……する(しない)」と、 [真の場合][偽の場合]  に考えが及びやすくなる。


論理式の部分は、 Excel ヘルプ にある「比較演算子」で表現する。

■比較演算子 ( Excel ヘルプ ) より
2 つの値を比較する場合は、次の比較演算子を使います。これらの演算子を使って 2 つの値を比較し、計算結果として論理値 TRUE または FALSE を返します。

比較演算子 内容 使用例
= (等号) 左辺と右辺が等しい A1=B1
> (~より大きい) 左辺が右辺よりも大きい A1>B1
< (~より小さい) 左辺が右辺よりも小さい A1<B1
>= (~以上) 左辺が右辺以上である A1>=B1
<= (~以下) 左辺が右辺以下である A1<=B1
<> (不等号) 左辺と右辺が等しくない A1<>B1

( Windows 8 Pro 64ビット + Excel2010 )


やりたい内容によってはIF関数でなくてもやりようがある。関数の使用にこだわらない。

関数の活用に慣れていても慣れていなくても、ファイルを作るときは、作業セルを設けて最終結果に至る過程を分けたり、セルにコメントを入れて説明を付けたりするなど、メンテナンスのしやすさ、何をどうやっているかの読み取りやすさを考慮した作り方をしておく。
次に同じファイルを使う人はエクセルに慣れていない人かもしれない。業務で作るファイルは、個人の所有物ではなく、みんなのもの。自分にとってわかりやすいだけの作り方をしてはいけない。他の人が見ても迷わない、困らないように作っておく。

「一発でやる」ことにこだわらないことも大切。
VBA や関数で「一発でやりたい」という気持ちになったら、一発でやれなければそのファイルは業務で使う道具として使いものにならないのかどうかを考える。
道具として使えるなら、それはただやりたいだけ。「一発でやれるようにする」ことは業務として必須ではないのでやらなくてよい。
道具として使いものにならなければ、「一発でやれる」ことを実現しなければならない。

|

« IF関数で、あいまいな条件(……を含む)の処理を行う。 | トップページ | イルカは海獣です。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: IF関数に不慣れなうちの考え方:

« IF関数で、あいまいな条件(……を含む)の処理を行う。 | トップページ | イルカは海獣です。 »