IF関数の論理式で大小関係を記述する場合、最も注意しなければならないのは不等号にイコールを付けるかどうかという点です。イコールを付けるかつけないかはExcelが決めることではなく、人間が決めることです。
原則として日本語で「以上」「以下」のように「以」という漢字を含む表現はすべて基準値を含むので、イコールが必要ですが、「以外」のように否定を表す場合はイコールが不要です(イコールの有無が逆になる)。このように、日本語を論理式に直すのは正確な日本語の知識が要求されます。しかし、世の中の日本人が全て正確な日本語を知っている保証はないので、複数の人が共有で使用するファイルの場合は誤解のないように十分確認しておくべきです。
そこで、今回は、日本語で表される大小関係を論理式として記述する際に「イコール」が必要な場合と不要な場合の判断基準と、真偽を逆にする場合の注意点について出題します。
目次
- 1.小さいと以下の違い
- 2.大きいと以上の違い
- 3.先頭からIF関数の式を入力する練習
- 4.イコールの有無は重要
- 5.イコールの有無の判断基準
- 6.「以上」なのに「以下」になることがある
- 7.「以上」の反対は「以下」ではない
- 8.境界となる値を考える
- 9.動画版はこちら(無料)
1.小さいと以下の違い
問題
(1)A列の数値について、60より小さければTRUE、それ以外はFALSEと表示しなさい。
(2)A列の数値について、60以下であればTRUE、それ以外はFALSEと表示しなさい。また、60以下であれば「A」、それ以外は「B」と表示しなさい。
解説
60より小さいかどうか判定をします。
このとき60はFALSEになります。
60自身は、60より小さいとは言えないのでFALSEとなります。
60以下は、60も含まれます。この場合はイコールをつけます。縦書きで小なりイコールと書くのを横向きに書きます。
イコールをつけて60以下の判定をします。
このとき、60は60以下に含まれるのでTRUEとなります。
イコールの有無によって、等しい場合の判定が逆になりますので注意が必要です。
「IF(」を入力します。
カンマ、A、カンマ、Bと入力して、カッコを閉じます。
これで60以下がA、それ以外がBとなります。
2.大きいと以上の違い
問題
(1)A列の数値について、60より大きければTRUE、それ以外はFALSEと表示しなさい。
(2)A列の数値について、60以上であればTRUE、それ以外はFALSEと表示しなさい。また、60以上であれば「合格」、それ以外は「不合格」と表示しなさい。
解説
60より大きいかどうか判定をします。
このとき60はFALSEになります。
60自身は、60より大きいとは言えないのでFALSEとなります。
2つの数を比べたときの大小関係には、「大きい」と「小さい」のほかに「等しい」があります。「等しい」は、「大きい」と「小さい」に含まれません。
60以上は、60も含まれます。この場合はイコールをつけます。縦書きで大なりイコールと書くのを横向きに書きます。
イコールをつけて60以上の判定をします。
このとき、60は60以上に含まれるのでTRUEとなります。
「IF(」を入力します。
カンマ、合格、カンマ、不合格と入力して、カッコを閉じます。
これで60以上が合格、それ以外が不合格となります。
「以上」、「以下」はいずれも、等しい場合を含みます。
3.先頭からIF関数の式を入力する練習
問題
商品代金が10000円より大きい場合に送料無料、それ以外は送料660円として、商品代金と送料の合計を求めなさい。また、「10000円より大きい」を「10000円以上」に変更しなさい。
解説
先頭にイコールを入力して、「IF(」を入力します。
IF関数と比較演算の入力に慣れてきたら、先頭からIF関数を入力する練習をしましょう。
先頭にイコール、IF、かっこを入力して、論理式、真の場合、偽の場合をカンマで区切って、最後にかっこを閉じます。
商品代金が10000円より大きいことを判定します。
10000円より大きければ送料0円、そうでない場合は送料660円です。
0円になります。合計を求めます。
商品代金をちょうど10000円にすると送料が加算されます。10000円より大きくないからです。
そこで、イコールをつけて10000円以上にします。
今度は送料無料になります。
4.イコールの有無は重要
(1)基準値を入力して確認する
問題
A列に売上金額を入力した。5万円以上であれば「達成」、それ以外は「未達成」と表示しなさい。
解説
5万円以上かどうかを判定します。5万円以上は5万円を含むのでイコールをつけます。
5万円以上であれば達成、それ以外は未達成です。
これで完成です。
ここで売上金額に5万円と入力します。5万円以上なので達成となります。
IF関数を入力して判定したときは、その基準となる数値の上と下で正しい判定結果になっていることを確認します。
また、基準となる金額を入力して正しい答えになることを確認します。
つまり、大きい場合、小さい場合、等しい場合の3通りの確認をします。
IF関数を入力するときは、イコールの有無は極めて重要です。絶対に適当に判断してはいけません。
実際には、5万円ちょうどの売上金額は存在しませんが、万が一、基準値ちょうどの値が入力された場合のことを想定して、イコールの有無を慎重に判断しなければなりません。
(2)超える=大きい
問題
設問(1)の式を変更して、5万円を超えていれば「達成」、それ以外は「未達成」と表示しなさい。
解説
5万円を超えるかどうかを判定します。5万円を超えるというのは5万円より大きいことを表すのでイコールを削除します。
これで完成です。
この場合も売上金額に5万円と入力して確認します。5万円を超えていないので未達成となります。
5.イコールの有無の判断基準
問題
「5万円から」「5万円まで」「5万円以下」「5万円以内」「5万円未満」「5万円を下回る」「5万円を超えない」にそれぞれイコールが必要か述べなさい。
解説
「5万円から」「5万円まで」「最低5万円」「最高5万円」のように、範囲の端であることを表し、上限または下限の数値であることが明らかな場合はイコールが必要です。「5万円から」「最低5万円」は「>=50000」、「5万円まで」「最高5万円」は「<=50000」です。
以上、以下、以内、以前、以後のように、漢字の「以」を使う場合はイコールが必要です。漢字の「以」は起算点を表し、その時点を含むことを意味しているからです。5万円以上は「>=50000」、5万円以下、5万円以内は「<=50000」です。
逆に、漢字の「以」を使っていない場合はイコールをつけてはいけません。5万円より大きい、高いは「>50000」、5万円未満、小さい、下回る、安いは「<50000」です。漢字の「以」を使っていなければ、基準となる値を含まないことを表すので、イコールをつけません。
ただし、否定形の場合は逆になります。例えば、5万円を超えないというのは、5万円より大きくならない、つまり「5万円まで」と同じです。したがって、イコールが必要です。
5万円を下回らないもイコールが必要です。
5万円以上ではない、5万円以下ではない、はイコールをつけません。
6.「以上」なのに「以下」になることがある
問題
得点の高いほうから順に、順位を入力した。3位以上の順位であれば予選突破、それ以外は敗退と表示しなさい。
解説
予選を突破する3位以上の成績とは、1位から3位までの成績であると考えられます。これは3以下の数値です。
このように、数値が小さいほうが上位であることを表す場合があり、「以上」と表現しても、実際の数値の比較では「以下」となることがあります。この場合は以上や以下ではなく「3位以内」と言ったほうが分かりやすいです。
IF関数で3以下の判定をします。以上、以下はイコールが必要です。
順位が3位以内であれば予選突破、それ以外は敗退です。
これで完成です。
7.「以上」の反対は「以下」ではない
(1)以上の反対は未満
問題
A列の数値について、60以上であれば合格、60未満であれば不合格と表示しなさい。
解説
60以上であることを判定して、60以上であれば合格、そうでなければ不合格とします。
これで完成です。
ここで問題となるのが60未満を判定する必要があるのかということです。
「A2>=60」という式は、60以上であるかどうかを判定する論理式です。60以上である場合はTRUE、それ以外はFALSEとなります。
60以上を基準として振り分けをすれば、その残りは60未満であると言えます。60以上には60も含まれるので、TRUEのほうは60を含み、FALSEのほうは60を含みません。
このように、TRUEとなる条件をIF関数に記述した場合、その反対であるFALSEの条件を再度判定する必要はありません。
別解
逆に、さきほどFALSEの条件だった60未満を論理式として入力します。イコールが無いことに注意します。
60未満であれば不合格、それ以外は合格とします。もちろん同じ結果となります。
60以上ではなく、60未満であるかどうかを判定すると、60未満である場合はTRUE、それ以外はFALSEとなります。
60未満を基準として振り分けをすれば、その残りは60以上であると言えます。
~以上を条件とする判定をするのと、~未満を条件とする判定をするのは同じです。
ただし、TRUEとFALSEは逆になります。
イコールの有無も逆になります。
これと同じように、以下を条件とする判定をするのと、超えることを条件とする判定をするのは同じです。
TRUEとFALSE、イコールの有無が逆になることに注意します。
(2)イコールの有無も逆になる
問題
設問(1)の判定は、60以下を不合格として、それ以外を合格とするのと同じと言えるか。
解説
60未満ではなく、60以下を不合格とすると、60が不合格となります。これは誤りです。
イコールをつけたまま不等号の向きを逆にするとちょうど60の場合に結果が逆になります。
真と偽を逆にする場合、不等号の向きだけでなくイコールの有無も変えなければなりません。
8.境界となる値を考える
問題
A列の売上金額が4桁以下の場合は「4」、5桁以上の場合は「5」と表示しなさい。
解説
与えられている条件から論理式がすぐに分からない場合は、境界となる値を考えます。
4桁以下の金額と5桁以上の金額の境界は9999円と10000円です。
このように、それぞれの範囲の端にある値、境目となる値のことを「閾値」または「限界値」といいます。境界の値を使って論理式を記述すればよいです。
4桁以下を9999円以下ととらえた場合、IF関数の論理式として、9999円以下かどうかを判定する式を入力します。9999円も4桁なのでイコールが必要です。TRUEの場合は4、FALSEの場合は5です。
これで完成です。
別解その1
もし、5桁以上を10000円以上ととらえた場合は、IF関数の論理式として、10000円以上かどうかを判定する式を入力します。10000円も5桁なのでイコールが必要です。
TRUEの場合は5、FALSEの場合は4です。
別解その2
この式のTRUEとFALSEを逆にする場合、10000円以上の反対は10000円未満なので不等号を逆にするとともに、イコールを無くします。TRUEの場合は4、FALSEの場合は5です。
基準にする値や判定する範囲によって、不等号の向きやイコールの有無、TRUEとFALSEの順が変わります。
解説は以上です。
9.動画版はこちら(無料)
この記事は、わえなび実力養成講座「ファンダメンタルExcel13」Program 13-5、13-6 、13-7のYoutube動画を書き起こして、加筆修正したものです。
- ファンダメンタルExcel 13-5 以上と以下1(イコールの有無)【わえなび】(ファンダメンタルExcel Program13 IF関数の基本)
- ファンダメンタルExcel 13-6 以上と以下2(日本語を論理式に直す練習)【わえなび】(ファンダメンタルExcel Program13 IF関数の基本)
- ファンダメンタルExcel 13-7 以上と以下3(真偽を逆にする)【わえなび】(ファンダメンタルExcel Program13 IF関数の基本)