【保存版】これでif関数も怖くない!?if関数の使い方50選
if関数は、様々な用途で使います。
ただ、慣れていないと、どのようにif関数を使えばいいか悩むことも多いです。
そこで、if関数を使う典型的な場面をできるだけ多く挙げていこうと思います。
ぜひ、参考にしてください!
この記事の目次
- 1 数値の大小比較(基礎編)
- 2 文字列の比較(基礎編)
- 3 文字列の比較
- 4 空欄、ブランク関連
- 5 年月日の比較
- 6 年月の比較
- 7 その他、年月日関連の比較
- 8 複雑な条件編
- 9 実践編
- 9.1 エラーの場合
- 9.2 vlookup関数で検索値が存在しない場合
- 9.3 割り算ができない場合
- 9.4 プラスマイナス0.2以上の場合
- 9.5 プラスマイナス20%以上の場合(パーセンテージを使った条件の指定方法)
- 9.6 偶数の場合
- 9.7 奇数の場合
- 9.8 整数の場合(=小数部分がない場合)
- 9.9 小数部分がある場合
- 9.10 桁数が3桁の場合
- 9.11 文字数が3文字の場合
- 9.12 大文字・小文字の区別を無視して「ABC」に一致する場合
- 9.13 全角・半角の区別を無視して「アイウ」に一致する場合
- 9.14 指定したデータがリスト内に存在している場合
- 9.15 月末の日付である場合
- 9.16 土曜日か日曜日の場合(weekday関数とif関数使用)
- 9.17 うるう年の場合
- 9.18 残業(=1日8時間以上の労働)をしている場合
- 10 具体的な使用例
- 11 まとめ
以下、全ての例で、特別に書いているもの以外は、A1セルに目的の値が入っているものとします。
数値の大小比較(基礎編)
まず、最初に数値の大小比較編です。
0と等しい場合
0と等しくない場合
※「<>」は、小なり「<」と大なり「>」を組み合わせた2つの文字から構成されています
0より大きい場合(=正の数の場合)
0より小さい場合(=負の数の場合)
1以上の場合
10以下の場合
文字列の比較(基礎編)
あるセルに入力されているデータが一致しているかどうかの判定です。
セルに入力されている値が「ABC」と一致する場合
セルに入力されている値が「ABC」と一致しない場合
※「<>」は、小なり「<」と大なり「>」を組み合わせた2つの文字から構成されています
文字列の比較
ここでは、countif関数とワイルドカードを使わない方法を紹介します。
セルに入力されている値が「Z」で始まる場合
セルに入力されている値が「Z」で終わる場合
セルに入力されている値が「Z」を含む場合
countif・ワイルドカードを使ったあいまい検索
countif関数を使って、ワイルドカードを使った表現にすると次のようになります。
Zで始まる:
=if(countif(A1,"Z*")>=1, ... , ...)
Zで終わる:
=if(countif(A1,"*Z")>=1, ... , ...)
Zを含む:
=if(countif(A1,"*Z*")>=1, ... , ...)
空欄、ブランク関連
セルに値が入力されていない場合(=ブランクの場合)
※ダブルクォーテーション「"」を2つ続けて入力します
セルに値が入力されている場合(=ブランクでない場合)
※「<>」は、小なり「<」と大なり「>」を組み合わせた2つの文字から構成されています
※ダブルクォーテーション「"」を2つ続けて入力します
年月日の比較
A1セルに日付が「シリアル値」の状態で入っている場合、次のようにして比較します。
2016/5/1と等しい場合
2016/5/1より前の場合
※「<」の後に「=」を付けると、2016/5/1「以前」という条件を表現できます。
2016/5/1より後の場合
※「>」の後に「=」を付けると、2016/5/1「以降」という条件を表現できます。
年月の比較
2016年5月と等しい場合(指定した年月と等しい場合)
※年が2016と等しく月が5と等しければ、2016年5月です。
2016年5月と等しくない場合(指定した年月と等しくない場合)
※年が2016と等しくないか、月が5と等しくないかの「どちらか」を満たしていれば、2016年5月ではありません。
2016年5月より前の場合(指定した月より前の場合)
※2016年5月1日より前であれば、2016年5月より前になります。
2016年5月以前の場合(指定した月以前の場合)
※2016年6月1日より前であれば、2016年5月以前となります。
2016年5月より後の場合(指定した月より後の月の場合)
※2016年6月1日と等しいか、それより後であれば、2016年5月より後の月となります。
2016年5月以降の場合(=指定した月以降の場合)
※2016年5月1日と等しいか、それより後であれば、2016年5月以降の月となります。
その他、年月日関連の比較
2016年と等しい場合(指定した年と等しい場合)
※等号の変わりに不等号を使えば、2016年と等しくない「<>」、2016年より前「<」、2016年以前「<=」、2016年より後「>」、2016年以降「>=」も表現できます
5月と等しい場合(指定した月と等しい場合)
※等号の変わりに不等号を使えば、5月と等しくない「<>」、5月より前「<」、5月以前「<=」、5月より後「>」、5月以降「>=」も表現できます
20日と等しい場合(指定した日と等しい場合)
※等号の変わりに不等号を使えば、20日と等しくない「<>」、20日より前「<」、20日以前「<=」、20日より後「>」、20日以降「>=」も表現できます
複雑な条件編
1以上10未満の場合(範囲の指定)
0.8以下または1.2以上の場合(著増減の判定)
1のときは・・・、2のときは・・・、それ以外のときは・・・(複数条件)
Aのときは・・・、Bのときは・・・、それ以外のときは・・・(複数条件)
実践編
エラーの場合
vlookup関数で検索値が存在しない場合
vlookup関数で検索値が存在しない場合には空欄を表示させます。
※iferror関数を使って次のように書くほうが簡単です。
割り算ができない場合
例えば、A1セル÷B1セルを計算したいとき。
※B1セルが0の場合は、エラーになってしまうので、その場合だけ除外します。
プラスマイナス0.2以上の場合
プラスマイナス20%以上の場合(パーセンテージを使った条件の指定方法)
※計算式中にパーセントマーク「%」を使えます
偶数の場合
奇数の場合
整数の場合(=小数部分がない場合)
小数部分がある場合
桁数が3桁の場合
文字数が3文字の場合
大文字・小文字の区別を無視して「ABC」に一致する場合
※今回は、条件式の右辺は元々大文字なのでupper関数は不要ですが、つけておけば間違いはありません。
全角・半角の区別を無視して「アイウ」に一致する場合
※今回は、条件式の右辺は元々全角文字なのでjis関数は不要ですが、つけておけば間違いはありません。
指定したデータがリスト内に存在している場合
A8セルに入力された値が、A1セル~A7セルまでに存在するかどうか調べる場合
※実際に使う場合には「A1」ではなく「A$1」というように、絶対参照のマーク「$」をつけるケースが多いです。
月末の日付である場合
A1セルにシリアル値が入っている場合に、次の式で月末の日付かどうか判定します。
※A1セルの翌日が何月かを調べ「month(A1+1)」、それがA1セルが何月か「month(A1)」と一致していなければ、月末と判断しています。
土曜日か日曜日の場合(weekday関数とif関数使用)
A1セルにシリアル値が入っている場合に次の式で土曜日・日曜日の判定ができます。
うるう年の場合
A1セルに年が数値で入っている場合に、次の計算式でうるう年かどうか判定します。
※A1セルの翌日が何月かを調べ「month(A1+1)」、それがA1セルが何月か「month(A1)」と一致していなければ、月末と判断しています。
残業(=1日8時間以上の労働)をしている場合
A1セルにシリアル値で時間が入っている場合、次の計算式で残業をしているかどうか判定します。
※誤差の影響で8時間に近い場合に、残業をしている・していないの判定が狂う可能性があります。
正確に判定したい、という場合には、次のような計算式のほうがいいかもしれません。
具体的な使用例
0のときは空白にする
年度の計算をする
2015年4月~2016年3月 → 2015年度とすると、
A1セルに年・B1セルに月が入っているとして、次の計算式で年度を計算できます。
詳細は、年度を表示するエクセルの関数をご覧ください。
まとめ
最後のほうは50個にするため、無理矢理になってしまいましたが、よくあるパターンは出せたのではないかと思います。
ぜひ、参考にしてください!