マナビングITパスポート

IF関数で論理和と論理積をどう使い分けるか、合否判定の式で確かめる

ITパスポート試験 令和5年度 問75 / ソフトウェア › オフィスツール

過去問にチャレンジ

令和5年度 問75

表計算ソフトを用いて、二つの科目 X、Y の点数を評価して合否を判定する。それぞれの点数はワークシートのセル A2、B2に入力する。合格判定条件(1)又は(2)に該当するときはセル C2に"合格"、それ以外のときは"不合格"を表示する。セル C2に入力する式はどれか。 〔合格判定条件〕 (1)科目 X と科目 Y の合計が120点以上である。 (2)科目 X 又は科目 Y のうち、少なくとも一つが100点である。

令和5年度 問75の図
  1. ア

    IF(論理積((A2+B2)≧120,A2=100,B2=100),'合格','不合格')

  2. イ

    IF(論理積((A2+B2)≧120,A2=100,B2=100),'不合格','合格')

  3. ウ

    IF(論理和((A2+B2)≧120,A2=100,B2=100),'合格','不合格')

  4. エ

    IF(論理和((A2+B2)≧120,A2=100,B2=100),'不合格','合格')

会話形式の解説

講師講師
この問題で見るところは二つです。条件をまとめる関数が論理和か論理積か、そしてIF関数が「合格」と「不合格」をどの順番で返すか、です。
受験者受験者
選択肢は論理積か論理和か、合格と不合格がどちらの順番か、の組み合わせで4通りになっているんですね。論理和と論理積がどちらが「又は」だったか、私はいつも迷います。
講師講師
論理和は、引数のうち少なくとも一つが真なら真を返します。条件文の「又は」「少なくとも一つ」に当たります。論理積は、引数がすべて真のときだけ真を返す関数で、「かつ」に当たります。
受験者受験者
では、条件を式に直してみます。条件(1)は(A2+B2)≧120で、条件(2)は「少なくとも一つが100点」なので、A2=100とB2=100の二つに分けて書けばいいですか。
講師講師
そのとおりです。そして(1)と(2)も「又は」で結ばれています。つまり、三つの式のうちどれか一つでも真なら合格です。
受験者受験者
どれか一つでよいので、論理和を使いますね。論理積を使っている二つの選択肢は外れると考えていいですか。
講師講師
はい。論理積にすると、合計120点以上、A2が100点、B2が100点の三つを全部満たさないと真になりません。たとえば図表のA2=50、B2=80は、合計130点で条件(1)を満たしています。それでも、論理積で真のとき合格を返す式だと「不合格」になってしまいます。
受験者受験者
残りは論理和を使う二つですね。違いは、合格と不合格を書く順番だけです。
講師講師
IF関数は、第1引数の論理式が真なら第2引数を、偽なら第3引数を返します。条件を満たしたときに合格と表示したいので、第2引数が'合格'、第3引数が'不合格'になります。
受験者受験者
それなら、論理和を使って「合格、不合格」の順に並べた式が正解ですね。逆の順番の式だと、50点と80点でも「不合格」と表示されてしまいます。
講師講師
そうです。正解の式で、A2=100、B2=10も試してみてください。合計は110点ですが、A2=100が真なので、論理和全体も真になって合格です。
受験者受験者
図表の値を代入して、「合格」になるものを選べば早いと思っていました。それだけで大丈夫でしょうか。
講師講師
確認には使えますが、それだけでは見分けられないことがあります。論理積を使って「不合格、合格」の順に並べた式も、50点と80点では論理積が偽になるので「合格」を返し、図表と一致してしまいます。A2=0、B2=0も試すと、この式は「合格」、正解の式は「不合格」になり、違いがはっきりします。値を当てはめるなら、いくつかの値で試すのが安全です。

まとめ

この問題は、二つの合格条件を「又は」で組み合わせた判定を、IF関数でどう書くかを問うものです。条件は(A2+B2)≧120、A2=100、B2=100の三つに分けられ、どれか一つでも真なら合格なので、論理和でまとめます。IF関数は、論理式が真なら第2引数、偽なら第3引数を返すため、'合格'、'不合格'の順に並べた式が正解です。図表の値を代入するだけでは誤った式でも結果が一致することがあるため、別の値でも確かめると確実です。

解答・解説

正解はウです

この問題のテーマ

二つの合格条件を「又は」で組み合わせる判定を、表計算ソフトのIF関数と論理和・論理積を使ってどう式にするかを問う問題です。

解き方の考え方

最初に、条件を式の形に直します。条件(1)は(A2+B2)≧120、条件(2)はA2=100又はB2=100です。(1)と(2)も「又は」で結ばれているので、三つの式のうちどれか一つが真なら合格になります。これを表すのは論理和です。最後にIF関数の引数の順番を確認します。論理式が真なら第2引数、偽なら第3引数が返るので、第2引数を'合格'、第3引数を'不合格'にします。

選択肢ごとの解説

  1. ×ア  IF(論理積((A2+B2)≧120,A2=100,B2=100),'合格','不合格')
    アの論理積を使う式は、合計120点以上、A2が100点、B2が100点の三つをすべて満たさないと合格になりません。図表のA2=50、B2=80は合計130点で条件(1)を満たしますが、この式では'不合格'になります。
  2. ×イ  IF(論理積((A2+B2)≧120,A2=100,B2=100),'不合格','合格')
    イは論理積を使っている点が誤りです。さらに、真のとき'不合格'を返すので判定の向きも逆になっています。たとえばA2=0、B2=0では論理積が偽となり、'合格'と表示されてしまいます。
  3. ○ウ  IF(論理和((A2+B2)≧120,A2=100,B2=100),'合格','不合格')
    ウは三つの条件を論理和でまとめ、どれか一つでも満たせば'合格'を返すので、要件に合っています。A2=50、B2=80では合計が130≧120で真になり、図表どおり'合格'です。A2=100、B2=10なら合計は110ですが、A2=100が真なので合格になります。
  4. ×エ  IF(論理和((A2+B2)≧120,A2=100,B2=100),'不合格','合格')
    エは論理和の使い方は正しいものの、'合格'と'不合格'の位置が逆です。条件を満たしたときに'不合格'と表示されるので、A2=50、B2=80でも図表とは違う結果になります。

補足

図表の値を代入して表示を比べる方法は、確認の手段の一つとして使えます。ただし、表示が一致しても正しい式とは限りません。A2=50、B2=80では、イも論理積が偽になって'合格'を返し、図表と一致してしまいます。A2=0、B2=0のように別の値でも確かめると、イは'合格'、ウは'不合格'となり、違いがはっきりします。

POINT

  • 論理和は引数の少なくとも一つが真なら真を返し、条件文の「又は」「少なくとも一つ」に当たります。
  • 論理積は引数がすべて真のときだけ真を返し、条件文の「かつ」に当たります。
  • IF関数は、論理式が真なら第2引数、偽なら第3引数を返します。
  • 「少なくとも一つが100点」はA2=100とB2=100の二つに分け、論理和の引数として並べられます。

※出典:令和5年度 ITパスポート試験 問75(一部改変)