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

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

長いIF関数の式に慣れるには、まずIF関数の中に簡単な計算式を入れる練習をしよう

初心者にIF関数を解説するときには「~であればX、そうでなければY」といった単純な例を紹介することが多いです。市販されているExcelの教科書やネット上の講義でも、単純な例だけを紹介しているため、初心者の皆さんは「な~んだ、IF関数って簡単なんだ~」と勘違いしてしまいます。

しかし、実際にはそんな単純な数式では済まないことが多いです。IF関数には論理式、真の場合の値、偽の場合の値の3つの引数があり、それぞれ計算式を記述することができます。そのため、IF関数を使った数式は長くなることが多いです。いきなり初心者が長い数式を練習するのも大変だと思いますので、まずは、足し算、引き算などの簡単な演算を入れる練習をしてみてはいかがでしょうか?

そこで、今回は、IF関数の応用として、IF関数の引数に簡単な計算式を入れる問題を出題します。

目次

1.四則演算のある論理式

(1)四則演算は先に計算する

問題

セルA1とセルA2をかけて10000を超えればTRUE、そうでなければFALSEと表示しなさい。また、セルA1とセルA2をかけて10000を超えれば〇、それ以外は×と表示しなさい。

f:id:waenavi:20200921191244j:plain

 

解説

セルA1とセルA2を掛けます。10000を超えます。

f:id:waenavi:20200921205304j:plain

 

この値が10000を超えるかどうかを比較演算で判定することができます。

f:id:waenavi:20200921205307j:plain

 

TRUEとなります。

f:id:waenavi:20200921205311j:plain

 

先頭のイコールは、数式の始まりを表す記号です(参考:【Excel】真と偽の意味と比較演算のメリットを知らずしてIF関数を語ってはいけない)。

f:id:waenavi:20200921205313j:plain

 

不等号の左辺と右辺に、足し算、引き算、掛け算、割り算の四則演算があれば先に計算します。

f:id:waenavi:20200921205317j:plain

 

その結果、不等号が成り立つのであればTRUE、成り立たないのであればFALSEとなります。

f:id:waenavi:20200921205321j:plain

 

セルA1の値を減らしてみましょう。FALSEとなりました。

f:id:waenavi:20200921205325j:plain

 

掛け算をした結果、10000以下になったので不等号が成り立たず、FALSEの判定となります。

f:id:waenavi:20200921205329j:plain

 

このように、左辺と右辺にそれぞれ何らかの計算がある場合は、その計算結果を比較して判定をします。

f:id:waenavi:20200921205333j:plain

 

また、IF関数を用いて、TRUEとFALSEをそれぞれ別の文字列に変換することもできます(参考:IF関数は、判定しているのではなく「変換しているだけ」であることを理解せよ【Excel】)。

f:id:waenavi:20200921205337j:plain

 

IF関数を入れます。

f:id:waenavi:20200921205341j:plain

 

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

f:id:waenavi:20200921205346j:plain

 

これで完成です。

f:id:waenavi:20200921205352j:plain

 

(2)絶対参照

問題

A列とB列の合計がセルF1の値以上であれば合格、それ以外は不合格と表示しなさい。

f:id:waenavi:20200921204611j:plain

 

解説

まず、論理式だけを考えます。A列とB列をたして、セルF1の値以上であることを判定します。

f:id:waenavi:20200921205613j:plain

 

すべてTRUEになってしまいます。これは間違いです。

f:id:waenavi:20200921205617j:plain

 

足し算や引き算と同じように、比較の対象となる数値を1か所のセルに入力したときは、絶対参照が必要であることに注意します(参考:【Excel】絶対参照は表の形とコピーの有無で判断できるように練習せよ)。

f:id:waenavi:20200921205620j:plain

f:id:waenavi:20200921205624j:plain

 

これをIF関数にします。合計が160以上であれば合格、それ以外は不合格として、カッコを閉じます。

f:id:waenavi:20200921205627j:plain

 

これで完成です。

f:id:waenavi:20200921205630j:plain

 

論理式が長くなってもIF関数の見方は同じです。IF関数はカッコの中にカンマが2つあります。

f:id:waenavi:20200921205634j:plain

 

論理式の中に比較演算があればその判定をします。論理式がTRUEであれば、第2引数の値を返し、FALSEであれば第3引数の値を返します。

f:id:waenavi:20200921205636j:plain

 

2.月日の前後の判定

問題

同じ年の11月2日と10月23日では11月2日のほうが後である。このように、セル範囲A2:B2の月日が、セル範囲D2:E2の月日より後であれば〇、そうでなければ×と表示しなさい。

f:id:waenavi:20200921205703j:plain

 

解説

月日を分けて入力している場合、月日の前後を判定するときは、4桁の数値にして比較します。4桁の数値にするときは月を100倍して日にちを足します。

f:id:waenavi:20200921210015j:plain

 

IF関数を入力します。

f:id:waenavi:20200921210018j:plain

 

論理式を入力します。月を100倍して日にちを足します。不等号を入れて、月を100倍して日にちを足します。カンマ、〇、カンマ、×と入力してカッコを閉じます。

f:id:waenavi:20200921210021j:plain

 

これで完成です。

f:id:waenavi:20200921210026j:plain

 

IF関数のカッコから最初のカンマまでが論理式です。

f:id:waenavi:20200921210029j:plain

 

左辺と右辺に四則演算があれば計算をします。判定結果を○または×で表示します。

f:id:waenavi:20200921210033j:plain

 

3.セル参照や演算結果を返す練習問題

(1)値引き

問題

10000円以上購入の場合に2割引をすることにした。セルB1の金額から値引き後の金額を求めなさい。

f:id:waenavi:20200921210132j:plain

 

解説

値引き後の金額は、元の金額が10000円以上か、そうでないかによって求め方が異なります。

f:id:waenavi:20200921213503j:plain

 

つまり、10000円以上であることを判定して、TRUEの場合とFALSEの場合に分けて計算することになります。このような場合もIF関数が使えます。

f:id:waenavi:20200921213507j:plain

 

まず、論理式を考えます。10000円以上であれば値引きをします。この場合はTRUEです。

f:id:waenavi:20200921213510j:plain

 

値引きをする場合は商品代金の20%引きです。「1-値引率」です。

f:id:waenavi:20200921213514j:plain

 

値引きをしない場合はそのままの金額です。つまり、元の値段を参照するだけです。

f:id:waenavi:20200921213517j:plain

 

これを踏まえてIF関数の式を考えます。

f:id:waenavi:20200921213521j:plain

 

10000円以上であることを判定して、TRUEであれば値引き、FALSEであればそのままです。

f:id:waenavi:20200921213526j:plain

 

このように、TRUEやFALSEの代わりに、セル参照や計算式に置き換えることができます。

f:id:waenavi:20200921213530j:plain

 

その結果、1つのセルで2種類の計算をすることができるようになります。

f:id:waenavi:20200921213534j:plain

 

論理式を入力します。10000円以上です。

f:id:waenavi:20200921213538j:plain

 

次に、値引きの式を入力します。値引きをしない場合はそのまま参照します。

f:id:waenavi:20200921213541j:plain

 

これで完成です。

f:id:waenavi:20200921213545j:plain

 

(2)利用料金

問題

ある娯楽施設では9時から18時まで営業しており、入場から退出までの利用時間に応じて利用料金を支払うことになっている。利用時間が3時間未満の場合、利用料金は1分につき12円であるが、3時間以上の場合は利用時間にかかわらず一律2100円としている。

セルB4の利用時間から利用料金を求めなさい。

f:id:waenavi:20200921214400j:plain

 

解説

利用料金は、利用時間が3時間未満か、そうでないかによって求め方が異なります。

f:id:waenavi:20200921215016j:plain

 

つまり、3時間未満であることを判定して、TRUEの場合とFALSEの場合に分けて計算することになります。

f:id:waenavi:20200921215020j:plain

 

まず、論理式を考えます。3時間未満であることを判定します。

f:id:waenavi:20200921215023j:plain

 

この場合はTRUEです。3時間未満であれば1分当たりの料金に利用時間を掛けます。

f:id:waenavi:20200921215027j:plain

 

そうでなければ2100円を参照するだけです。

f:id:waenavi:20200921215030j:plain

 

これを踏まえてIF関数の式を考えます。

f:id:waenavi:20200921215033j:plain

 

3時間未満であることを判定して、TRUEであれば掛け算、FALSEであれば一律料金です。

f:id:waenavi:20200921215036j:plain

 

論理式を入力します。3時間未満です。次に、掛け算の式を入力します。3時間以上の場合は2100円です。

f:id:waenavi:20200921215041j:plain

 

4.数式が長くならないように工夫する

問題

さきほどの問題で、次のように入場時刻と退出時刻を入力した場合はどうか。

f:id:waenavi:20200921214419j:plain

 

解説

利用時間の代わりに、入場時間と退出時間を入力した場合は、利用時間を求める必要があります。

f:id:waenavi:20200921215706j:plain

 

時間を60倍して分を足します。退出時刻から入場時刻を引きます。

f:id:waenavi:20200921215709j:plain

 

これを使ってさきほどのIF関数の利用時間の部分を変えたらよいのですが、数式がものすごく長くなります。

f:id:waenavi:20200921215714j:plain

 

IF関数の式が長くなるとどこが区切りなのかもわかりにくくなります。

f:id:waenavi:20200921215717j:plain

 

このように数式が長くなり、しかも共通部分がある場合は、この部分を別のセルに求めておくのが正しいです(参考:【Excel】難しい数式を考えるヒマがあったら作業用の列を挿入しなさい)。

f:id:waenavi:20200921215721j:plain

 

利用時間を別の場所に求めておきます。

f:id:waenavi:20200921215724j:plain

 

論理式を入力します。

f:id:waenavi:20200921215727j:plain

 

3時間未満です。

f:id:waenavi:20200921215731j:plain

 

次に、掛け算の式を入力します。3時間以上の場合は2100円です。

f:id:waenavi:20200921215734j:plain

 

これで完成です。

f:id:waenavi:20200921215737j:plain

 


解説は以上です。


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

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

 


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