様々なデータを処理する中で、Aの結果が出たら甲の処理を、Bの結果が出たら乙の処理をしたい、というように、処理を分岐したいことがあります。
例えば、食料品の場合は消費税8%を適用し、それ以外の場合は、消費税10%を適用したい場合です。
ここでは下記のようなエクセル(EXCEL)表を例に案内していきます。
![](https://largent-hanashi.com/wp-content/uploads/2022/06/220617_11IF関数について01-800x373.png)
「VLOOKUP」関数を使った表
最初に「VLOOKUP」関数を使った表について見ていきます。IF関数を使わなくても、「食料品に8%の消費税」を適用し、それ以外の商品には10%の消費税を適用できます。この表では、商品テーブルにすべての情報を持ち、登録された商品コードに基づいて、全てのデータを自動的に表に反映する仕組みが設定されています。ただ、このテーブルのように、商品単位で消費税が登録されていると、消費税が変更されてしまうと、商品毎に消費税の変更をしなければならず、書き換えの負荷が大きくなります。このような全テーブルの書き換えを避ける方法があります。
![](https://largent-hanashi.com/wp-content/uploads/2022/06/220617_11IF関数について03-800x345.png)
IF関数を使った表について
この表は商品を登録する表と、消費税率を設定する表に分かれています。ここに「もしF13が「食品」なら($F13=”食品”)M11($M$11)の数値(8%)を表示し、それ以外の場合はM12($M$12)の数値(10%)を表示しなさい」という意味の関数を設定します。
この場合の利点は、消費税率に変更があった場合に、消費税のテーブルを書き換えるだけて簡単に消費税の変更が出来る点です。
したがってテーブルの設計をする場合には、下段のようにテーブルを性質に応じて分割しておくと、将来的な変更に対応することが出来ます。
![](https://largent-hanashi.com/wp-content/uploads/2022/06/220617_11IF関数について04-800x357.png)
この関数は「日付」で論理を分岐させて「2019/10/1未満」の日付の場合には「2014/4/1以降の消費税テーブル」を使用し、それ以外の日付の場合には「2019/10/1以降の消費税テーブル」を使用するという論理式になる関数を設定しています。
関数 | 説明 | |
① | $C13 | 登録された日付を参照します。 |
② | $L$14 | 「2019/10/1」以前を示しています |
③ | $L$12:$M$13 | 「2014/4/1」以降の消費税テーブルを参照しています |
④ | $L$16:$M$17 | 「2019/10/1」以降の消費税テーブルを参照しています |
⑤ | 全体 | ます。それ以外の場合は「2019/10/1」以降の消費税テーブルを参照を参照します。 この場合には「2022/6/13」が記載されたセルを参照し「2019/10/1以前の場合には③のテーブルを参照し、それ以外の場合には④のテーブルを参照する」という関数になります |
IF関数を重ねて使う
ここではIF関数をさらに重ねて使うケースについて案内します。
![](https://largent-hanashi.com/wp-content/uploads/2022/07/220617_11IF関数について05-1-800x410.png)
関数 | 説明 | |
① | $C13<$L$14 | 表の日付($C13)が2014/4/1($L$14)より小さいことを確認する関数です |
② | $L$12:$M$13 | 表の日付が2014/4/1より小さい場合に1997/4/1以降の消費税を検索します |
③ | C13>$L$18 | 表の日付($C13)が2019/10/1($L$18)より大きいことを確認する関数です |
④ | $L$20:$M$21 | 表の日付が2019/10/1より大きい場合に2019/10/1以降の消費税を検索します |
⑤ | $L$16:$M$17 | ①③の条件に当てはまらない日付(2014/4/1以降で2019/10/1より前)の場合には2014/4/1の消費税を検索します |
【関数全体】
=IF($C13<$L$14,VLOOKUP($F$4,$L$12:$M$13,2,0),IF(C13>$L$18,VLOOKUP($F13,$L$20:$M$21,2,0),VLOOKUP($F13,$L$16:$M$17,2,0)))
このケースでは消費税のテーブルを三つ設定し、IF条件を複数使用して入れ子構造になります。
各々の消費税は日付の条件に応じて適用されますので、使い分けがされます。さらに条件が必要になるケースについても後日掲載します。
またIFS関数と言う、入り子構造を解消する関数もExcel2019やOffice365から実装されていますので、IF関数を複数組み合わせることなく使用することができます。
コメント