Microsoft社が発表している「よく使われている関数トップ 10」にランクインしているIF関数を取り上げます。
下記はMicrosoft社が発表している「よく使われている関数トップ 10」の一部抜粋したものです。
関数 | 説明 |
---|---|
IF 関数 | この関数を使うと、条件が true または false の場合に、それぞれ別の値を返すことができます。 IF 関数の使い方についてのビデオはここから確認することができます。 |
IF関数は、論理関数の一種でMicrosoft Excel の最初のバージョンから使用できます。
機能別(大分類) | 機能別(中分類) | 説明 |
---|---|---|
組み込み関数 | 論理関数 | IF関数、AND関数、OR関数などの論理関数を扱うことができる |
類似関数としては、CHOOSE関数、SWITCH関数等があります。
今回は、IF関数の単一条件の使用法を紹介します。
次回は、IF関数の複数条件の使用法を説明します。
Contents
問題
「Genre – ゲームのジャンル」=Sportsであればスポーツ、そうでなければスポーツ以外
という新しい項目を追加してみましょう。
サンプルデータ
今回利用するサンプルデータは、Kaggleで公開されているビデオゲームの売上データ「vgsales.csv」です。
vgsales.csv Video Game Sales
以下、データ項目(変数)です。
- Rank – 全体の売上高ランキング
- Name – ゲームの名前
- Platform – ゲームが発売されたプラットフォーム(例:PC、PS4、など)
- Year – 発売された年
- Genre – ゲームのジャンル
- Publisher – ゲームのパブリッシャー
- NA_Sales – 北米での売上高 (単位: 百万円)
- EU_Sales – 欧州での売上高(単位:百万ドル)
- JP_Sales – 日本での売上(単位:百万ドル)
- Other_Sales – その他の地域での売上高(単位:百万ドル)
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
解答
IF関数を使います。
=IF(E2="Sports","スポーツ","スポーツ以外")
解説
解説を読む前に、下記の前提知識に自信のない方は記事末尾の参考記事をご覧ください。
前提知識
- Excel関数の構文(引数や戻り値など)については、理解していること
- 絶対参照、複合参照、相対参照についても、理解していること
ざっくり解説
関数の構文は以下です。
構文:
IF(論理式, 論理式の結果が真の場合, 論理式の結果が偽の場合)
説明:
- 論理式の結果(真または偽)に応じて、指定された値を返す
引数:
- 論理式(必須)
- 評価する論理式を指定
- この式が真である場合、IF関数はTrue(真)を返し、偽である場合はFalse(偽)を返す
- 論理式と一致した場合
- 論理式が真である場合に返される値を指定。指定しない場合は0を返す
- 論理式の結果が偽の場合
- 論理式が偽である場合に返される値を指定。指定しない場合は0を返す
関数の構文は以下です。
IF(論理式, 値が真の場合, 値が偽の場合)
よって、
IF(E列「Genre」がSportsか否か, 論理式の結果が真の場合⇒スポーツ, 論理式の結果が偽の場合⇒スポーツ以外)
となります。
なので、
下記の関数式になるわけです。
IF(E2="Sports", ”スポーツ”, ”スポーツ以外”)
E2=”Sports”が「E列「Genre」がSportsか否か」を判定しています。
くわしく解説
記事『Excel関数の検索テクニック』で説明した通り、
Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれています。
活用して詳しく解説します。
ダイアログの使い方は、上記記事を参照していただければと思います。
IF関数とは
論理式の結果(真または偽)に応じて、指定された値を返します
[関数の挿入]ダイアログより一部改変
論理式の結果(真または偽)に応じて、指定された値を変更していることが分かります。
そもそも、
IF関数は、IFを訳すと、「もしも」であり、条件を示す関数です。
「もしも、〇〇〇ならば、〇〇。もしも、違うならば、〇〇」といったように、
条件に応じて処理を変更したい場合に使用されます。
(条件分岐とも言います)
したがって、
条件に応じて、処理を変更したいときにIF関数を使用します。
Excel関数名が分からない場合は日本語訳してみると、Excel関数の機能を推察できるかもしれません。
IF関数の構文
IF(論理式, 値が真の場合, 値が偽の場合)
つまり、下図のようなことです。
論理式が真のときは第2引数、論理式が偽のときは第3引数の処理を実施する、
といったように処理を変えています。
第1引数
論理式 には結果が真または偽になる値、もしくは、数式を指定します
[関数の挿入]ダイアログより、一部改変
論理式 を記述します。
ここでは、「E2=”Sports”」という論理式を記述します。
E2がSportsであれば、True(真)を返します。
そうでなければ、False(偽)を返します。
第2引数
値が真の場合 には論理式の結果が真であった場合に返される値を指定します。
[関数の挿入]ダイアログより
省略された場合、TRUEが返されます。最大7つまでのIF関数をネストすることができます。
論理式の結果が真の場合の処理を記述します。
ここでは、「”スポーツ”」と記述します。
また、第2引数は省略可能です。その場合はTRUEが返されます。
第3引数
値が偽の場合 には論理式の結果が偽であった場合に返される値を指定します。
[関数の挿入]ダイアログより
省略された場合、FALSEが返されます。
条理式の結果が偽の場合の処理を記述します。
ここでは、「”スポーツ以外”」と記述します。
第3引数では、「最大7つまでのIF関数をネストすることができます。」の記述がありませんが、IF関数とネストすることは可能です。
また、第3引数も省略可能です。その場合はFALSEが返されます。
第2引数と第3引数の追加情報
第2引数と第3引数の追加情報です。
ネストという謎の言葉が登場しました。次回解説します。
- ネストは入れ子という意味で、IF関数を複数記述することを指す
- 第2引数と第3引数は省略可能
- 第2引数を省略すればTRUE、第3引数を省略可能ずればFALSEが返される
小話
ダブルクォーテーション
文字列は、半角のダブルクォーテーション(“)で囲みます。
なので、
”スポーツ”と”スポーツ以外”となっているわけです。
外観上は数値のケース
SUM関数では、引数に文字列を設定してならないとルールがあります。
ただし、外観上は数値の場合には正常に動作します。
例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
しかし、2行目の「999」は書式が文字列です。
本来ならばルール違反であり、SUM関数はエラーを返すべきですが、
実際には正常に動作します。
おそらく、裏で数値変換が行われているものと考えられます。
そのため、書式が文字列でも外観上数値であれば、SUM関数は正常に動作するようです。
最後に
IF関数を紹介しました。
王道の関数で、使用頻度はかなり高いと思います。
そのため、本記事が皆様のお役に立てれば大変うれしく思います。