Excelの数式の先頭にイコールを入力すると計算式であることを表しますが、数式の途中でイコールを入力すると「等しいかどうかの判定」という意味になります。先頭にイコールを入力するのと、途中にイコールを入力するのは意味が異なります。
数学(算数)のイコールとは異なり、Excelでは「2+3=10」と入力してもかまいません。それは、Excelのイコールは等しいという事実を表しているのではなく、「等しいかどうかの判定」をしているからです。「2+3=10」は正しくないのでFALSEという判定結果となります。「判定」をしていることを理解しなければなりません。また、Excelで等しくないことを判定するには不等号2つ「<>」を用いて表します。
このように、イコール、ノットイコールについては数学(算数)の記号の使い方とは異なりますので、Excelを学習するときには特に注意しなければなりません。そこで、今回は、一致と不一致の判定について出題します。
目次
1.先頭のイコールと比較のイコールは役割が異なる
問題
セルA1の値が100であればTRUE、そうでなければFALSEと表示しなさい。また、セルA1の値が100であれば「満点」と表示しなさい。
解説
セルA1に入力した値が100であることは見れば明らかですが、このセルA1の値が変わるかもしれないという前提で判定をします。
イコールを入力してセルA1を参照します。
これだけであれば100になります。
さらに続けてイコール100と入力します。
TRUEになります。
セルA1の値を変えるとFALSEになります。
先頭のイコールは数式が始まることを表す記号であり、判定結果をセルに返すことを表します(参考:【Excel】真と偽の意味と比較演算のメリットを知らずしてIF関数を語ってはいけない)。
セルA1と100をイコールでつなぐことによって等しいことを判定することができます。
このイコールは比較のためのイコールであり、不等号と同じ役割をする比較演算子です。
先頭のイコールとは役割が異なります。この結果、等しければTRUE、等しくなければFALSEと表示されます。
TRUEまたはFALSEを別の文字列に変換するにはIF関数を使います(参考:IF関数は、判定しているのではなく「変換しているだけ」であることを理解せよ)。
セルA1と100をイコールでつないでいる部分をIF関数の論理式にします。
IF関数を入れます。
TRUEであれば満点と表示し、FALSEであれば空白の文字列とします。
これで完成です。
2.値の一致判定
問題
セルA1とセルB1の値が同じであればTRUE、そうでなければFALSEと表示しなさい。また、セルA1とセルB1の値が同じであれば「○」、そうでなければ「×」と表示しなさい。
解説
2つのセルの数値が一致していることを表す場合もイコールで判定します。
イコールを入力してセルA1を参照します。
さらに続けてイコールB1と入力します。TRUEになります。
セルA1の値を変えるとFALSEになります。
ちなみに、日本語の場合も同様に一致の判定をすることができます。同じ文字列であればTRUEとなります。
IF関数を入れます。
TRUEであれば○と表示し、FALSEであれば×とします。これで完成です。
3.四則演算は優先
問題
A列の数値とB列の数値の和が100であれば「○」と表示しなさい。
解説
IF関数を挿入します。A列とB列を足します。これが100であれば○、そうでなければ空白とします。たして100ではないので空白になります。
- =IF(A1+B1=100,"○","")
オートフィルをします。これで完成です。
論理式の中にイコールがあり、左辺または右辺に足し算や引き算などの四則演算があればそれを先に計算します。
その結果、左右が等しければTRUE、左右が異なっていればFALSEとなります。
4.文字列の一致判定
問題
セルC1に「軽減」と表示されていればTRUE、そうでなければFALSEと表示しなさい。また、セルC1に「軽減」と表示されていれば税率8%、そうでなければ税率10%を加算して税込価格を求めなさい。ただし、小数点以下の端数については考慮しなくてもよい。
解説
イコールを入力してセルC1を参照すると、「軽減」と表示されます。
これに続けてイコールを入力して、「軽減」という文字列と比較します。このとき、ダブルクォーテーションが必要です。
TRUEとなります。
セルC1の文字を削除すると、FALSEとなります。
文字列と比較するときはダブルクォーテーションが必要です。
IF関数を挿入します。セルC1が「軽減」であれば税率を加算して108%、そうでなければ110%です。
税抜価格にこの率を掛けたら完成です(参考:【Excel】IF関数の共通部分を外に出す、ある条件のときだけ計算を追加する)。
軽減でなければ10%の加算となります。
5.不一致の判定
(1)不等号2つで等しくないことを表す
問題
A列とB列のデータが一致していなければTRUEと表示しなさい。また、不一致の行だけに「*」を付けなさい。
解説
イコールを入力して、A1を参照します。
不等号2つを入力して、B1を参照します。
一致しているのでFALSEとなります。
オートフィルをします。一致していない行だけTRUEになります。
不等号2つ「<>」で等しくないことを表します。一致していなければTRUE、一致していればFALSEとなります。
イコールの場合の反対となります。
IF関数を用いて、別の文字列に変換することができます(参考:IF関数は、判定しているのではなく「変換しているだけ」であることを理解せよ)。
IF関数を挿入します。
不一致であれば「*」を表示し、そうでなければ空白を返します。これで完成です。
(2)以外
問題
A列が「不要」以外のものをTRUEと表示しなさい。また、これを利用して、A列が不要の場合は0円、そうでなければ10万円と表示しなさい。
解説
文字列と比較する場合はダブルクォーテーションをつけます。
「~以外」「~を除く」は一致していないことの判定をします。
セルA2と不要を比較して等しくないかどうかを判定します。
不要の場合だけFALSEとなり、それ以外はTRUEとなります。
IF関数を挿入します。不一致であれば100000を表示し、そうでなければ0とします。
これで完成です。
(3)除く
問題
レポート未提出のものを除き、得点に10点を加算しなさい。
解説
10点を加点するかを判断する基準は、B列に未提出と入力されているかどうかです。
B列と未提出を比較して、等しくなければ10点加点、そうでなければそのままの点数とします。
IF関数を挿入します。
セルB2が未提出でなければ、セルA2の点数に10点を加点します。それ以外は点数をそのまま参照します。
これで完成です。
別解
B列に未提出と入力されているかどうかで変わるのは加点する点数だけです。レポート未提出以外は10点加点、そうでなければ加点なしです。
IF関数を挿入します。
セルB2が未提出でなければ10点、それ以外は0点とします。
セルA2の点数をたします。
これで完成です。
解説は以上です。
6.動画版はこちら(無料)
この記事は、わえなび実力養成講座「ファンダメンタルExcel13」Program 13-13、13-15(基本例題のみ)のYoutube動画を書き起こして、加筆修正したものです。
- ファンダメンタルExcel 13-13 数値の一致・文字列の一致【わえなび】(ファンダメンタルExcel Program13 IF関数の基本)
- ファンダメンタルExcel 13-15 不一致の判定(等しくない)【わえなび】(ファンダメンタルExcel Program13 IF関数の基本)