Excel (エクセル) 学習室 / KENZO30


エクセル中級 4

中級・特別編トップへ

エクセル学習室 HOME

   中 級 4   

Excelの基礎

  論理関数(IF関数)

 

論理関数(IF関数)

関数は、中級1で解説したように10種類に分類されています。ここから、分類別に使用頻度が高いと思われるものについて、使用例をあげながら解説します。


本来ダイアログボックスに表示される順に解説すべきですが、他の関数と組み合わせて使う事が最も多い「論理関数」から解説します。


論理関数の使い方を覚えれば、関数使用のつぼを押さえる事ができます。
論理関数は、6種類ありますが、すべて標準のままのExcelに組み込まれています。アドイン関数はありません。


IF関数

IF関数は、指定条件(論理式)によって、対象が(TRUE)か(FALSE)かを判定し、それぞれに指定した値を返す(求める)ものです。最も使用頻度の高い関数です。

関数では、「返す」と言う言葉を使いますが、初心者には意味が理解しずらいものです。返すとは、たとえばキャッチボールで相手にボールを投げると、相手がボールを返してくるのに似ています。すなわち、関数へ引数を入れるとキャッチボールのように答えが返ってくると理解しましょう。

書式で表すと、IF(論理式,真の場合,偽の場合)となります。
言葉で説明すると難しく思えますが、使用例で考えると理解できます。

 

使用例 1

スコア表にアベレージから、予選通過の判定をさせる例です。(左図参照。)

140以上を予選通過とします。
佐々木選手の予選判定のセル(B8)へ、IF関数で判定式を入れます。

セルB8を選択後、関数貼り付けボタン(fx)をクリックして、「関数貼り付け」ダイアログボックスの分類から論理を選び、IF関数をクリックします。すると下図のようなIF関数用の数式パレットが表示されるので、順じ入力して関数を完成させます。


左図は、すでに入力されていますが、入力にあたってまず、どういう処理をさせるかを考えます。

 

例は、アベレージ140以上予選通過と表示させ、それ以下の場合は、何も表示させないように考えたものです。

論理式は、B7セルが140以上かどうかを判定(真か偽か)するもので、演算子の >= (〜以上)を使っています。入力方法は、論理式の入力ボックスへカーソルが入っている事を確認して、B7セルをクリックし、演算子(>=)と140を半角で入力します。入力ボックスの右側にTRUEと表示されるのは、B7セルが140以上である(真である。)事を意味しています。(演算子の詳細は、中級3参照。)

真の場合の入力ボックスへは、論理式の判定が(TRUE)であった場合に返す値を入力します。例の場合は、文字列を返す式となっています。入力方法は、引数に文字列を入力するための「"ダブル クォテーションで予選通過の文字を囲んで入力します。(ダブル クォテーションは半角で、文字は全角で入力。)

偽の場合の入力ボックスへは、論理式の判定が(FALSE)であった場合に返す値を入力します。例では、何も表示させない(空白で返す。)ようになっています。入力方法は、「"ダブル クォテーションを半角で2つ入力します。ダブル クォテーションは、引数に文字列を使うためのものですが、これを2つ使う事で、空白を囲んでいる事になり、何も表示させない(空白で返す。)設定になります。よく使う技ですから覚えておきましょう。


以上の方法でB8セルへIF関数で判定式を入力すると、B7セルは161なので真の場合の値が返され、予選通過の文字が表示されます。
数式バーには、関数式が表示されます。

 

この関数式は、佐々木選手の予選通過の判定をするものですが、コピーして他の選手の判定にも使用します。式内のセル参照は、相対参照ですから通常のデータのコピーと同じ方法で行います。(コピー方法、参照形式は、初級1〜3参照。この場合、オートフィルによるコピーが手っ取り早い方法です。)
式をコピーすると、犬山、宮園は140に届いていないので、空白が返され、青柳は、140以上なので予選通過の文字が表示されます。

表内に関数を入力するには、例のように一つだけ式を作って、コピーします。表によって、セルの参照形式をどうするか決める必要があります。セルの参照形式をしっかり覚えましょう。

 

使用例 2

使用例 1は、引数にセル参照と文字列を使っていますが、下記は、セル参照と数式を使う例です。


仮に、50歳以上は、1割引の温泉に宿泊するとします。左図は、この場合の割引料金を求めたものです。
50歳以上は、1割引の料金になっています。

式の意味は、「年齢が50歳以上であれば、基本料金に0.9を掛けて返し、そうでなければ基本料金を返しなさい。」となっています。この場合も、はじめにD3セルへ関数式をつくり、後はコピーします。

 

例であげた使用例は、データ量が少ないのでわざわざ関数を使うものではありませんが、データ量が多くなれば関数で処理すると効果的です。
IF関数は、他の関数と組み合わせて(入れ子、ネスト)使うと非常に複雑な処理も可能です。ネストでは、引数としてIF関数を使う事もできます。(別途解説。)
IF関数は、応用範囲が最も広い関数です。

 

 

   先頭へ戻る   

中級・特別編トップへ

Excel(エクセル)学習室 HOME


KENZO30 内容の無断転載は、禁止しています