RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

【まとめ】Excel(エクセル) IF関数 使い方 

f:id:yayawowo:20210421153728p:plain

はじめに

技術広報のyayawowoです。
皆さんは、業務を行っている中でExcel(エクセル)を利用される機会が多いのではないでしょうか。
Excel(エクセル)には便利な関数が多いとは思いますが、作りたい成果物によって使う関数は異なってくると思います。
そんなビジネスシーンで多く利用されているExcel(エクセル)の関数の中で、今回はIF関数について、使い方をまとめてみました。
基本的な使い方となりますので、Excel(エクセル)初心者の方のご参考になれば幸いです。

Excel(エクセル)のIF関数とは

まず初めに、Excel(エクセル)のIF関数とはどんなことができるしょうか。
簡単に言いますと「設定した条件によって、指定された値を返す関数」のことです。
Excel(エクセル)のIF関数について、数式を利用した簡単な解説は以下のようになります。

    ①       ②          ③
= IF ( 条件 , 値が真の場合 , 値が偽の場合 )
もし ●●が▲▲だったら ②に設定した値を表示 そうでなければ、③に設定した値を表示

①条件    :条件を指定する
②値が真の場合:条件が正しい場合に表示したい値を指定
③値が偽の場合:条件が正しくない場合に表示したい値を指定

では、イメージがついたところでIF関数の使い方にうつります。
まずは、入門編からです。

Excel(エクセル)のIF関数 - 使い方(入門編)-

入場料の計算を例題にしていきたいと思います。
20歳以上の入場料は2,000円、20歳未満の入場料は1,000円としている動物園があったとします。

ある旅行会社では、動物園の入場料をまとめるために名簿を作成しました。
f:id:yayawowo:20210422111501p:plain

この条件の場合、各々の入場料はいくらになるでしょうか。
人数が少ないため、表をみただけでもご理解いただけるかと思いますが、これが100名の名簿になったらどうでしょうか…。
手動ではなく、自動で入場料の算出をしてほしいですよね。
こんな時は、Excel(エクセル)のIF関数を活用します!
f:id:yayawowo:20210422111558p:plain

赤枠箇所の条件を、

     ①       ②          ③
= IF ( 条件 , 値が真の場合 , 値が偽の場合 )
もし 年齢が20歳以上だったら 2,000円を表示 そうでなければ、1,000円を表示

と、すれば良いことがわかります。
この式を使って、Excel(エクセル)のIF関数の使い方を解説します。

1. 設定した条件に合わせて、Excel(エクセル)で表を作成します。 f:id:yayawowo:20210422111501p:plain

2.、Excel(エクセル)で 作成した表のセルに式を入力します。 f:id:yayawowo:20210422111724p:plain

  • D6に「=IF(」と入力する
  • Excel(エクセル)が自動で候補の関数を表示する
  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく f:id:yayawowo:20210420110228p:plain
    • 論理式
      • もし年齢が20歳以上だったら:C6>=20
        • 年齢:C6
        • 20歳以上:>=20
    • 真の場合
      • 2,000円を表示:$C$3
        • 2,000円を手入力しても良いが、汎用的に利用したいためC3を指定する
        • オートフィルでコピーをした際、セルがずれないように絶対参照($)で固定する
    • 偽の場合
      • そうでなければ、1,000円を表示:$C$2
        • 1,000円を手入力しても良いが、汎用的に利用したいためC2を指定する
        • オートフィルでコピーをした際、セルがずれないように絶対参照($)で固定する
  • 式「=IF(C6>=20,$C$3,$C$2)」が完成する

3. オートフィル 1 で式をコピーします。
D6に入力した式をD7、D8にもコピーしたいですよね。
そのようなときにオートフィルを利用します。 f:id:yayawowo:20210422111842p:plain

  • D6セルの右下にカーソルをあてる
  • 十字(+)のようなマークがでましたら、クリックしたまま下に引っ張る
  • D7、D8に式がコピーされ、条件通りの値が表示される f:id:yayawowo:20210422112009p:plain

20歳以上であるラクス花子さんと花見ラク子さんの入場料が「2,000円」であることがわかります。
Excel(エクセル)のIF関数は覚えてしまえばとても便利な機能ですので、様々な場面で活用できるようこの機会にしっかりと覚えてしまうことをお勧めします。

Excel(エクセル)のIF関数と論理式

Excel(エクセル)のIF関数で入力する論理式ですが、どのような式にすればいいのか、どのような記号を使えば迷われる方もいるかと思います。
私の方で少し簡単にまとめておきましたので、ご参考いただけますと幸いです。

条件
C6>20 C6データ(年齢)が20歳より大きい
C6>=20 C6データ(年齢)が20歳以上
C6<20 C6データ(年齢)が20歳より小さい(未満)
C6<=20 C6データ(年齢)が20歳以下
C6=20 C6データ(年齢)が20歳と等しい(同じ)
C6<>20 C6データが20歳と等しくない(異なる)

Excel(エクセル)のIF関数 - 使い方(応用編)-

Excel(エクセル)のIF関数は、複数の条件を組み合わせて利用することも可能です。
ここからは応用的な使い方について解説をしていきたいと思います。

Excel(エクセル)のIF関数と複数条件

入門編では、「20歳以上」という1つの条件で事足りましたが、そこに以下のような「20歳以上40歳未満」と「40歳以上」の条件が加わった場合はどのようにIF関数の式を作成すれば良いでしょうか。
f:id:yayawowo:20210420143134p:plain

では、複数条件を使ったExcel(エクセル)のIF関数について説明していきます。

1. Excel(エクセル)で作成した表のセルに式を入力します。 f:id:yayawowo:20210420143235p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし年齢が20歳未満だったら:C7<20
    • 真の場合
      • 1,000円を表示:$C$2
    • 偽の場合
      • そうでなければ、次の論理式へ:IF関数を追加(IF(論理式,[真の場合],[偽の場合]))
      • 論理式
        • もし年齢が40歳以上だったら:C7>=40
      • 真の場合
        • 1,500円を表示:$C$4
      • 偽の場合
        • そうでなければ、2,000円を表示:$C$3
  • 式「=IF(C7<20,$C$2,IF(C7>=40,$C$4,$C$3))」が完成する

2. オートフィルで式をコピーします。
D7の式をオートフィルを利用してD8~D10にコピーします。 f:id:yayawowo:20210420143357p:plain

  • D7セルの右下にカーソルをあてる
  • 十字(+)のようなマークがでましたら、クリックしたまま下に引っ張る
  • D8、D9、D10に式がコピーされ、条件通りの値が表示される f:id:yayawowo:20210420143528p:plain

45歳である楽楽次郎さんの入場料が1,500円であることがわかります。 また、25歳のラクス花子さんと20歳の花見ラク子さんの入場料は2,000円と正しく算出できています。
このように、条件が複数となった場合でも、Excel(エクセル)のIF関数を利用して簡単に計算することができますね!

Excel(エクセル)のIF関数とAND関数・OR関数

Excel(エクセル)のIF関数ではさらに、より複雑な処理ができます。
次はIF関数と「AND関数(かつ)」と「OR関数(または)」の使い方について説明します。

Excel(エクセル)のIF関数とAND関数

午前試験が80点以上かつ(AND)、午後試験が80点以上で合格としている試験を例題にAND関数の使い方を説明します。 f:id:yayawowo:20210420145525p:plain

1. Excel(エクセル)で作成した表のセルに式を入力します。 f:id:yayawowo:20210421145400p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし午前試験が80点以上かつ、午後試験が80点以上だったら:AND(C6>=80,D6>=80)
    • 真の場合
      • 合格を表示:$C$2
    • 偽の場合
      • そうでなければ、不合格を表示:$C$3
  • 式「=IF(AND(C6>=80,D6>=80),$C$2,$C$3)」が完成する

2. オートフィルで式をコピーします。
E6の式をオートフィルを利用してE7~E9にコピーします。 f:id:yayawowo:20210420150645p:plain

  • E6セルの右下にカーソルをあてる
  • 十字(+)のようなマークがでましたら、クリックしたまま下に引っ張る
  • E7、E8、E9に式がコピーされ、条件通りの値が表示される f:id:yayawowo:20210420150837p:plain

今回用意した例題は、「午前試験が80点以上かつ(AND)、午後試験が80点以上」の人だけが合格となります。
表から読み解く通り、合格者はラクス太郎さんだけであることがわかります。
合否判定も正しくされていますね。

Excel(エクセル)のIF関数とOR関数

次は、午前試験が80点以上または(OR)、午後試験が80点以上であれば合格の試験を例題にOR関数の使い方を説明します。 f:id:yayawowo:20210420145525p:plain

1. Excel(エクセル)で作成した表のセルに式を入力します。 f:id:yayawowo:20210421145243p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし午前試験が80点以上または、午後試験が80点以上だったら:OR(C6>=80,D6,>=80)
    • 真の場合
      • 合格を表示:$C$2
    • 偽の場合
      • そうでなければ、不合格を表示:$C$3
  • 式「=IF(OR(C6>=80,D6>=80),$C$2,$C$3)」が完成する

2. オートフィルで式をコピーします。
E6の式をオートフィルを利用してE7~E9にコピーします。 f:id:yayawowo:20210420163935p:plain

  • E6セルの右下にカーソルをあてる
  • 十字(+)のようなマークがでましたら、クリックしたまま下に引っ張る
  • E7、E8、E9に式がコピーされ、条件通りの値が表示される f:id:yayawowo:20210420164124p:plain

OR関数の例題は、「午前試験が80点以上または、午後試験が80点以上」の人だけが合格となります。
午前・午後試験の両方とも80点以上がないのは楽楽次郎さんだけですので、IF関数の式が間違っていないことが確認できました。

Excel(エクセル)のIF関数と空白(空欄)

例題としてあげていた合否判定ですが、もし合格の人だけを知りたい試験があったとします。
受験者が少ない試験でしたら、今まで通り合格・不合格の表示をしても良いと思うのですが、人数が多い場合はどうでしょうか。
以下のように表示してしまうと少し見にくくなりますよね。
f:id:yayawowo:20210420165907p:plain

Excel(エクセル)のIF関数では、空白(空欄)を指定することもできますので、次はその説明をしたいと思います。

1. Excel(エクセル)で作成した表のセルに式を入力します。 f:id:yayawowo:20210420170450p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし点数が80点以上だったら:C6>=80
    • 真の場合
      • 合格を表示:$C$2
    • 偽の場合
      • そうでなければ、空白(空欄)を表示:""
  • 式「=IF(C6>=80,$C$2,"")」が完成する

2. オートフィルで式をコピーします。
D6の式をオートフィルを利用してD7~D16にコピーします。 f:id:yayawowo:20210420171217p:plain

  • D6セルの右下にカーソルをあてる
  • 十字(+)のようなマークがでましたら、クリックしたまま下に引っ張る
  • D7~D16に式がコピーされ、条件通りの値が表示される f:id:yayawowo:20210420171347p:plain

どうでしょうか。
合格の人だけをすぐに見つけられる表になりました。
このように、IF関数で空白(空欄)を表示する式を作ることができます。
ちなみにですが、以下の通り論理式に空白(空欄)を指定することもできます。
f:id:yayawowo:20210420173158p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし点数が空白(空欄)だったら:C6=""
    • 真の場合
      • 不合格を表示:$C$3
    • 偽の場合
      • そうでなければ、合格を表示:$C$2
  • 式「=IF(C6="",$C$3,$C$2)」が完成する

Excel(エクセル)のIF関数とVLOOKUP関数

最後はExcel(エクセル)のIF関数とVLOOKUP関数を組み合わせた応用的な使い方を説明します。
まず、VLOOKUP関数を初めて聞く方もいるかと思いますので、簡単にまとめると以下になります。
今回はExcel(エクセル)のIF関数についての説明を中心にしていますので、VLOOKUP関数の使い方は別でご確認いただけますと幸いです。

            ①     ②   ③      ④
= VLOOKUP ( 検索値,範囲,列番号,[検索の型] )
 ①の検索したい値を ②の範囲から参照し、 ③で指定した列の値を ④の型で返す

では、早速例題にうつります。
例えば以下の表で、E6セルに名前を入力するとF6セルにその人の点数を検索し、合格点(80点以上)であるかを判定して「合格」または「不合格」を表示するとします。
f:id:yayawowo:20210420174411p:plain

1. まずVLOOKUP関数で名前に紐づいた点数を検索します。 f:id:yayawowo:20210420175214p:plain

  • 「=VLOOKUP( 検索値,範囲,列番号,[検索の型] )」の通り、式を埋めていく
    • 検索値
      • 検索したい名前(ラクス太郎)を指定:E6
    • 範囲
      • 点数表の範囲から検索する:B6:C9
    • 列番号
      • 検索値があれば、指定した範囲の左から2列目の点数を返す:2
    • 検索の型
      • ただし、検索値は完全一致で返す:FALSE
  • 式「=VLOOKUP(E6,B6:C9,2,FALSE)」が完成する

以下の通り、名前に紐づいた点数を返すことができましたので、この結果に応じて合否判定もしていきたいと思います。
f:id:yayawowo:20210420180043p:plain

2. Excel(エクセル)のIF関数を利用して合否判定を行います。 f:id:yayawowo:20210420180506p:plain

  • 「=IF(論理式,[真の場合],[偽の場合])」の通り、式を埋めていく
    • 論理式
      • もし検索した点数が80点以上だったら:VLOOKUP(E6,B6:C9,2,FALSE)>=80
    • 真の場合
      • 合格を表示:$C$2
    • 偽の場合
      • そうでなければ、不合格を表示:$C$3
  • 式「=IF(VLOOKUP(E6,B6:C9,2,FALSE)>=80,$C$2,C3)」が完成する

まとめ

今回はExcel(エクセル)のIF関数の入門的な内容から、少し応用的なものまでご紹介しました。
Excel(エクセル)は私だけでなく、皆さんが業務を行う上でも利用機会が多いツールでもあるかと思います。
最近は、Googleスプレッドシートを利用する方も多いと思いますので次はその内容についてまとめる予定です。
最後にはなりますが、本内容が1つでも皆様のお役に立てていれば幸いです!


Excel(エクセル)のIF関数については以上となりますが、最後に宣伝をさせてください!
当社ではエンジニア中途採用に力を入れております。
もし、当社の雰囲気・技術内容等にご興味を持たれましたら以下サイトの募集職種をお気軽にご確認ください!

◆エンジニア中途採用サイト
career-recruit.rakus.co.jp

どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。

◆カジュアル面談お申込みフォーム
forms.gle

まずは会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加いただくと良いと思います。

◆イベント情報
rakus.connpass.com

長々と失礼しました。
今後とも、ラクスを宜しくお願い致します。


  1. 表中のある項目(セル)に特定の値を入力して選択状態にし、そのままマウスなどのドラッグ操作で縦あるいは横に選択領域を広げていくと、新たに選択された項目に次々に連続した値が入力されていく。

Copyright © RAKUS Co., Ltd. All rights reserved.