わえなび ワード&エクセル問題集 waenavi

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

IF関数は、判定しているのではなく「変換しているだけ」であることを理解せよ【Excel】


IF関数は「判定」する関数であると説明することがあります。当サイトでも説明の便宜上、「IF関数を用いて判定する」などと表現することがありますが、厳密に言えば間違いです。

マイクロソフトによると、IF関数は、「論理式の結果がTRUEまたはFALSEの場合に別の値(指定した値)を返すことができる」と説明しています。実は、判定そのものは論理式(第1引数)の部分だけですでに終わっています(参考:【Excel】真と偽の意味と比較演算のメリットを知らずしてIF関数を語ってはいけない)。IF関数は、判定結果であるTRUEとFALSEをセルに表示する代わりに、別の値に「変換」して表示しているだけなのです。

そこで、今回は、IF関数の本当の意味を理解したうえで、IF関数の入力と修正をする練習をしましょう。

目次

1.TRUEとFALSEの意味(復習)

IF関数を知るにはまず、真と偽(TRUEとFALSE)の意味を理解しなければなりません。詳しくはこちらの記事をご覧ください。

 

2.IF関数は変換である

問題

A列の数値が60より大きければTRUE、そうでなければFALSEと表示しなさい。また、60より大きければ「A」、そうでなければ「B」と表示しなさい。

f:id:waenavi:20200917220339j:plain

 

解説

60より大きいかどうかを基準として、TRUEとFALSEを表示しようとしています(参考:【Excel】真と偽の意味と比較演算のメリットを知らずしてIF関数を語ってはいけない)。

f:id:waenavi:20200917221107j:plain

 

比較演算によって60より大きいことの判定をします。

f:id:waenavi:20200917221110j:plain

 

88は60より大きいのでTRUEの判定となります。60より大きい場合だけTRUEとなり、それ以外はFALSEとなります。

f:id:waenavi:20200917221114j:plain

 

判定結果はTRUEまたはFALSEで表示されますが、別の文字で表示することもできます。イコールの後に「IF」と入力します(「IF」は小文字の「if」でもよい)。

f:id:waenavi:20200917221119j:plain

 

IF(イフ)関数は、判定結果が真または偽の場合に、TRUEまたはFALSEではなく、それぞれ別の値を指定することができる関数です。

  • =IF(論理式,真の場合,偽の場合)

f:id:waenavi:20200917221122j:plain

 

論理式とは、判定するための比較演算のことであり、TRUEまたはFALSEを求める計算のことです。

f:id:waenavi:20200917221126j:plain

 

カッコを入力します。

f:id:waenavi:20200917221128j:plain

 

カンマ、A、カンマ、Bと入力して、カッコを閉じます。

  • =IF(A1>60,"A","B")

f:id:waenavi:20200917221131j:plain

 

これでTRUEとFALSEの代わりに、AとBを表示することができます。

f:id:waenavi:20200917221135j:plain

 

判定するための式、真の場合に表示する値、偽の場合に表示する値の間にはカンマが必要です。

f:id:waenavi:20200917221138j:plain

 

A列の数値と60を比較して、60より大きいか?について判定をすると、その判定結果はTRUEまたはFALSEになります。

f:id:waenavi:20200917221142j:plain

 

60より大きい場合は、論理式の判定がTRUEとなり、Aと表示します。論理式の判定がFALSEであれば、Bと表示します。

f:id:waenavi:20200917221145j:plain

 

IF関数は、TRUEとFALSEをそれぞれ別の文字列に変換する関数といえます。

f:id:waenavi:20200917221148j:plain

 

3.論理式の先頭にイコールがいらない理由

問題

論理式の直前にイコールが不要である理由を述べなさい。

f:id:waenavi:20200917220519j:plain

 

解説

比較演算の先頭につけるイコールは、数式の始まりを表し、計算結果をセルに表示させるための記号です。比較演算をした結果がTRUEであれば、その結果をセルに表示させます。

f:id:waenavi:20200917221232j:plain

 

IF関数の場合も最初に比較演算をしますが、その結果であるTRUEをそのままセルに表示させるのではなく、「A」という文字列に変換してセルに表示させます。

f:id:waenavi:20200917221236j:plain

f:id:waenavi:20200917221239j:plain

 

したがって、論理式の前ではなく、IF関数全体の前にイコールをつけます。

f:id:waenavi:20200917221243j:plain

 

4.セルの値を比較する

問題

A列とB列の数値を比較してA列の数値のほうが大きければTRUE、そうでなければFALSEと表示しなさい。また、A列の数値のほうが大きければ「A」、そうでなければ「B」と表示しなさい。

f:id:waenavi:20200917221924j:plain

 

解説

IF関数を考える前に必ず比較演算を考えます。A列とB列の数値を比較してA列の数値のほうが大きいことを判定します。

  • =A1>B1

f:id:waenavi:20200917223014j:plain

 

A列とB列の数値を比較してA列の数値のほうが大きい場合だけTRUEとなり、それ以外はFALSEとなります。このTRUE、FALSEを、AとBに置き換えます。

f:id:waenavi:20200917223018j:plain

 

イコールの後に、「IF(」をつけます。

f:id:waenavi:20200917223021j:plain

 

カンマ、A、カンマ、Bと入力して、カッコを閉じます。

f:id:waenavi:20200917223024j:plain

 

これでTRUEとFALSEの代わりに、AとBを表示することができます。

f:id:waenavi:20200917223027j:plain

 

A列とB列の比較をし、A列のほうが大きいか?について判定をすると、その判定結果はTRUEまたはFALSEになります。

f:id:waenavi:20200917223030j:plain

 

論理式の判定がTRUEであればA、FALSEであれば、Bと表示します。

f:id:waenavi:20200917223036j:plain

 

5.IF関数の入力練習

(1)全角と半角が混ざった数式の入力

問題

セルB1に商品代金を入力した。この金額が10000円未満の場合に送料550円を加算し、そうでない場合は送料無料としたい。セルB2に、送料を加算する場合は「必要」と表示し、送料無料の場合は「無料」と表示しなさい。

f:id:waenavi:20200917224450j:plain

 

解説

この問題の場合、送料が必要な場合と不要な場合の2通りしかなく、それが商品代金で決まることが分かっています。

f:id:waenavi:20200917225218j:plain

 

このように、1つの基準で、2通りにわけて表示をする場合、2通りのうちの一方について判定すればよいです。

f:id:waenavi:20200917225221j:plain

 

1万円未満であることの判定をします。

f:id:waenavi:20200917225225j:plain

 

TRUEであれば1万円未満であることが分かり、FALSEであればその逆で1万円以上であることが分かります。

f:id:waenavi:20200917225229j:plain

f:id:waenavi:20200917225231j:plain

 

この場合はFALSEなので1万円以上、つまり送料無料となります。

f:id:waenavi:20200917225234j:plain

 

前述のとおり、TRUEまたはFALSEの表示を、別の表示にする場合はIF関数を使います。IF関数のカッコの中に、論理式と、真の場合の表示、偽の場合の表示をカンマで区切って入力します。

f:id:waenavi:20200917225238j:plain

 

「if(」と入力します。

f:id:waenavi:20200917225241j:plain

 

「カンマ、"必要"、カンマ、"無料"」と入力してカッコを閉じます。必要と無料にはそれぞれダブルクォーテーションが必要です。

f:id:waenavi:20200917225246j:plain

 

ヒントをクリックしてみましょう。ヒントが表示されないときは「IF」の部分をクリックします。

f:id:waenavi:20200917225253j:plain

 

真の場合が必要、偽の場合は無料となります。

f:id:waenavi:20200917225256j:plain

f:id:waenavi:20200917225259j:plain

 

このように、全角と半角を切り替えて入力しますので、「半角/全角」キーの使用は必須です。

f:id:waenavi:20200917225248j:plain

 

慣れるまで何回も繰り返し練習しましょう。

f:id:waenavi:20200917225304j:plain

 

別解その1

全角と半角の切り替えが面倒な場合は、先に半角文字だけ入力するという方法もあります。

f:id:waenavi:20200917225404j:plain

 

「if(」と入力します。

f:id:waenavi:20200917225408j:plain

 

「カンマ、ダブルクォート、カンマ、ダブルクォート」と入力してカッコを閉じます。

f:id:waenavi:20200917225411j:plain

 

全角に切り替えて、必要と無料を入力します。

f:id:waenavi:20200917225414j:plain

 

別解その2

関数の挿入[fx]のボタンを押します。

f:id:waenavi:20200917225704j:plain

 

IF関数を探して、IF関数の画面を表示します。既に数式バーには、先頭のイコールとIFとかっこが入力されていることに注意します。

f:id:waenavi:20200917225708j:plain

 

論理式には商品代金が1万円未満であることの判定を入力します。判定結果はFALSEです。

f:id:waenavi:20200917225712j:plain

 

この時点で「偽」であることは分かっていますが、代金が変わる可能性があるので、真の場合も入力します。必要と入力し、他の場所をクリックすると自動的にダブルクォートが入力されます。

f:id:waenavi:20200917225715j:plain

f:id:waenavi:20200917225718j:plain

 

偽の場合は無料です。

f:id:waenavi:20200917225722j:plain

 

他の場所をクリックすると自動的にダブルクォートが入力されます。

f:id:waenavi:20200917225725j:plain

 

判定結果がFALSEなので、数式の結果は「無料」となります。

f:id:waenavi:20200917225729j:plain

 

(2)IF関数の式の修正

問題

さきほどの問題で、商品代金と送料の合計が計算できるように数式を修正しなさい。

f:id:waenavi:20200917225744j:plain

 

解説

合計金額を求めるとエラーになります。日本語の場合は足し算ができません。

f:id:waenavi:20200917230730j:plain

f:id:waenavi:20200917230733j:plain

 

そこで、金額を表示するようにIF関数を修正します。必要と表示するところを550、無料と表示するところを0にします。真の場合が550、偽の場合は0となります。これらは数値なのでダブルクォートを消さなければなりません。

f:id:waenavi:20200917230736j:plain

 

これで0となります。

f:id:waenavi:20200917230739j:plain

 

商品代金が10000円未満の場合は自動的に送料550円の加算となります。

f:id:waenavi:20200917230742j:plain

 

別解

数式バーにIF関数を表示した状態で、関数の挿入[fx]のボタンを押します。

f:id:waenavi:20200917230941j:plain

 

IF関数の画面が表示されます。

f:id:waenavi:20200917230946j:plain

 

必要と表示するところを550、無料と表示するところを0にします。判定結果がFALSEなので、数式の結果は「0」となります。

f:id:waenavi:20200917230949j:plain

 

6.元の値がはじめから分かっているとは限らない

問題

セルB1の金額がセルB2の金額より大きい場合は「不足」と表示し、そうでない場合は「支払可能」と表示しなさい。ただし、セルB1、B2は空欄とする。

f:id:waenavi:20200917231119j:plain

 

解説

商品代金が所持金を超えていれば支払うことができないのですから、「不足」と表示します。

f:id:waenavi:20200918013042j:plain

 

しかし、商品代金と所持金が入力されていません。

f:id:waenavi:20200918013044j:plain

 

比較演算を数式で行うのは、判定しているセルの値が変わることを前提としています。

f:id:waenavi:20200918013047j:plain

 

はじめから代金と所持金が分かっていれば、わざわざExcelで判定する必要はないのです。

f:id:waenavi:20200918013051j:plain

 

比較演算も、それを用いたIF関数も、比較する数値が確定していない状態で入力するのが普通です。したがって、空欄の状態で数式を入力することもあります。

f:id:waenavi:20200918013054j:plain

 

商品代金が所持金より大きいかどうかの判定をします。FALSEと表示されますが、空欄なので何らかの判定をしたわけではありません。

f:id:waenavi:20200918013056j:plain

f:id:waenavi:20200918013059j:plain

 

IF関数にします。商品代金が所持金より大きければ「不足」と表示し、そうでない場合は「支払可能」とします。

f:id:waenavi:20200918013102j:plain

 

支払可能と表示されますが、これも意味のない判定です。

f:id:waenavi:20200918013107j:plain

 

仮の金額を入力してみます。商品代金が100円で、所持金が50円しかなければ不足です。

f:id:waenavi:20200918013110j:plain

 

所持金が200円あれば支払可能です。

f:id:waenavi:20200918013112j:plain

 

空欄のままIF関数を入力したときは、仮の値を実際に入力して、判定がTRUEになる場合とFALSEになる場合で正しい表示になることを確認します。

f:id:waenavi:20200918013115j:plain

 


解説は以上です。


7.動画版はこちら(無料)

この記事は、わえなび実力養成講座「ファンダメンタルExcel13」Program 13-3、13-4、13-4-2 のYoutube動画を書き起こして、加筆修正したものです。

 


Copyright(C)2018-2021 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]
Youtube | 公式サイト | twitter | 著作権 | 運営者情報 | お問い合わせ