2025/6/16

エクセルIF関数の使い方: 条件分岐を設定 - if else文の機能

Thumbnail for エクセルIF関数の使い方: 条件分岐を設定 - if else文の機能

はじめに

エクセルのIF関数は、 条件分岐を行う基礎的な関数で、応用範囲が広く頻繁に使用されるものの1つです。

ここでは、IF関数の

  • 基本的機能・使い方
  • 関連する関数
  • 使用例、応用法

について取り扱います。

基本的機能・使い方

IF関数は、条件を設定し結果を分岐させる関数 です。
一般的なプログラミング言語のif else文に相当する機能を持ちます

IF関数
IF ( 論理式, TRUE時の値, FALSE時の値)

論理式の値が TRUEFALSE かに応じて分岐 し、 それぞれに対応した値 (TRUE時の値 / FALSE時の値) を返す。

論理式
: 必須
A2>=0
論理値 (TRUE/FALSE) を返す条件式
TRUE時の値
: 必須
"○"
論理式が TRUE の場合に返す値。
FALSE時の値
: 任意
"×"
論理式が FALSE の場合に返す値。

論理式には、 比較演算子が使用できます。 論理式関連の関数(後述)と組み合わせると幅が広がります。

比較演算子

数値同士や文字列同士を比較するときに使用する演算子です。
演算結果として、TRUE または FALSE が返されます。

比較演算子意味使用例
=等しい (==)A1=0
<>等しくない (\ne)A1<>0
>より大きい (>>)A1>0
<より小さい (<<)A1< 0
>=以上 (\geq)A1>=0
<=以下 (\leq)A1<=0

関連する関数

IF関数に関連する関数を紹介します。
(○:複数条件対応、×:複数条件未対応, -:条件設定不可)

分岐系の関数

入力値に応じて分岐させ、指定の出力値が取得できる関数です。

  • IFS (○):複数条件で分岐
  • CHOOSE (-):インデックスで値を選択
  • SWITCH (○):値によって返す値を切り替え

エラー対応系の関数

エラー値に対して分岐処理するときに役立つ関数です。

  • IFERROR (-):エラー時の値を指定
  • IFNA (-):#N/Aエラー時の値を指定

集計値取得系の関数

条件設定をして集計値の取得ができる関数です。

  • SUMIF (×) / SUMIFS (○):条件に合う合計値の算出
  • COUNTIF (×) / COUNTIFS (○):条件に合う値の個数(カウント数)の取得
  • AVERAGEIF (×) / AVERAGEIFS (○):条件に合う値の平均の算出
  • MAXIFS (○) / MINIFS (○):条件に合う値の最大値 / 最小値の取得
  • SUMPRODUCT (○):条件に合う値の合計値・個数(カウント数)の取得

論理式関連の関数

論理式の中で複雑な条件を設定するときに役立つ関数です。

  • AND (-):すべての条件がTRUEの場合にTRUEを返す
  • OR (-):いずれかの条件がTRUEの場合にTRUEを返す
  • NOT (-):論理値を反転する
  • XOR (-):排他的論理和(奇数個のTRUEでTRUE)を返す

使用例、応用例

IF関数の使用例・応用例として以下のパターンを紹介します。

  • 複数のIF関数の組合せ:「○以上 ○以下」の複数条件を設定する。
  • AND + OR関数との組合せ: and と or を同時に使用した複雑な条件を設定する。
  • MOD関数との組合せ: 「偶数なら○、奇数なら×」の条件を設定する。
  • COUNTIF関数との組合せ1: 「リストに検索値があれば○」の条件を設定する。
  • COUNTIF関数との組合せ2: ワイルドカードを使った特定の文字列を含む検索を行う。

複数のIF関数の組合せ

「3以上 かつ 4以下」の複数条件を設定し、結果を分岐させる例です。 IF関数をネスト(入れ子)構造にして複数回使用することで、複数の条件を設定できます。

関数の構成

=IF( 条件式1,
  IF( 条件式2, TRUEのときの値, FALSEのときの値 ) ,
  FALSEのときの値
)

AND + OR関数との組合せ

ANDOR関数を組み合わせて かつまたはを組み合わせて)、 複雑な条件を設定する例です。

カテゴリ = スマホ または 価格 90以上 かつ 価格 100未満」 を設定しています。

関数の構成

=IF(
  OR(
   条件1 ,
   AND( 条件2-1 , 条件2-2)
  ),
  TRUEのときの値,
  FALSEのときの値
)

MOD関数との組合せ

偶数のときと奇数のときで分岐させる例です。 2で割ったときの余り(MOD関数使用※)が 01かで判定しています。

関数の構成

=IF(
  MOD( 数値 , 2)=0,
  偶数のときの値,
  奇数のときの値
)

ISEVEN, ISODD関数でも可能です
ISEVEN関数:偶数のとき TRUEを返す / ISODD関数:奇数のとき TRUEを返す)。

COUNTIF関数との組合せ1

「リストの中に検索値があれば○」を返す例です。 COUNTIF関数で、リストの中に検索値の数を取得し、 それが 0ではない かどうかによって分岐させています (数値と論理値の対応関係として、0以外がTRUE0FALSEとして扱われる)。

関数の構成

=IF(
  COUNTIF( 配列 , 検索値),
  検索値があるときの値,
  検索値がないときの値
)

COUNTIF関数との組合せ2

ワイルドカード※を使ったあいまい検索を行う例です。 「○○県」に該当する文字列かどうかで分岐させています。 IF関数では、直接ワイルドカードを使用できないため、 COUNTIF関数を利用しています。

関数の構成

=IF(
  COUNTIF( 検索対象 , 検索値),
  検索値があるときの値,
  検索値がないときの値
)


ワイルドカード

ワイルドカードとは、任意の文字列を表す特殊な文字のことです。
言葉で表すと「ほにゃらら」「○○」などのイメージです。
特定の文字列が含まれるかどうかを調べるときに使用します。
関連する記号としては、以下があります。

  • * (アスタリスク記号):任意の文字列(文字数不定)
  • ? (疑問符 / ハテナ記号):任意の1文字
  • ~ (チルダ記号):エスケープ記号(*, ? 記号を検索文字として使用する場合に使用)

ABCDEFGHI
11×
22×条件1AND条件2
333以上4以下
44
55×

ABCDEFGHIJK
1カテゴリ価格 (千円)判定
2スマホ62条件1OR条件2
3スマホ110カテゴリ:スマホ価格:90以上
4PC85×100未満
5PC98
6PC120×

ABCDEF
11×
22偶数のとき
33×奇数のとき×
44
55×

ABCDE
1a
2b検索値c
3c存在するか?
4d
5e

ABCDE
1群馬県
2栃木県検索値
3茨城県*県
4埼玉県
5千葉県
6東京都×
7神奈川県
8山梨県