IF関数を使い、利用状況にあわせ金額を自動変更できるようにする
IF関数の基本をまず習得 |
セルの値に条件を付けてデータの処理を分岐させる、それを可能にしてくれるのが、IF関数です。IF関数は、論理関数の1つで、文字通り、もしも〜であったならという条件式を設定する事ができます。条件に合った場合は「真の場合」に、合わない場合は「偽の場合」に値を入力する事で、セルに2通りの答えを表示させる事ができます。
更に、IF関数にIF関数をネストする事で、2通り以上の答えを求める事も可能です。
また、IF関数に、同じ論理関数である、[AND]関数、[OR]関数をネストする事で、複数の条件を付けることも簡単です。[AND]関数を利用すれば、AND条件が、[OR]関数を利用すれば、OR条件が設定できます。
このように、IF関数は、同じ論理関数をネストする事で、複数の条件を付けたり、幾通りもの値をセルに表示させたりできるのです。
それでは今回は、IF関数を利用し、条件に合った場合、セルに表示させる値が2通りの場合と、複数の場合、また、複数の条件を付けて求める場合という3つの手順に分けて、詳しくご紹介していきましょう。
今回の関数
|
||
|
|||||
書 式 | =IF(論理式[,真の場合][,偽の場合]) | ||||
条件によって処理を変えられるのがIF関数。ここではH5に入った値が大人か子供かを判断し、子供ならば「無料」と表示させ、大人の場合は、利用年数によって会費を変更するように設定している。 |
|
|||||
書 式 | =COUNTA(値1[,値2,・・・]) | ||||
データが入ったセルを数えるのがCOUNTA。数値が入ったセルを数えるならCOUNT。ここではIFとCOUNTA関数を組み合わせ、C〜G列に入った「○」印が2個以上なら20%引き、それ以外なら「無し」と表示。 |
|
|||||
書 式 | =AND(論理式1[,論理式2,・・・]) | ||||
ここではIF関数とAND関数を組み合わせ、利用年数が5年以上で、「かつ」C〜G列に入った「○」の個数が3個以上なら「毎月抽選でプレゼント」と表示。それ以外は「抽選無し」と表示させている。 |
IF関数を利用して、セルの値に条件を付けて、2通りの答えを求めてみよう。
大人の利用料は5000円、子供の利用料は1000円であるとする。
◇■ 利用料を割引後の料金に置き換える ■◇ 通常、割引後の利用料を求める場合、数式を利用すると、別のセルに答えを求める事になってしまう。しかし、形式を選択して貼り付け機能を利用すると、四則計算しながら貼り付ける事ができるので、利用料を計算後の利用料に置き換える事ができる。
|
[2]条件を付け、 |
||
セルに条件を付けて、答えを3通り求めたい場合は、IF関数にIF関数をネストする事でできる。また、複数のIF関数をネストする事で、3通り以上の複数の答えを求めてセルに表示させる事ができる。
種目が2つ以上の場合は20%の割引をする |
1.年会費を求めたいセルJの5番地を選択、IF関数を選択、 2.論理式のボックスをクリックし、利用者が子供であった場合という条件を付けるので、「H5="子供"」と入力。 3.[真の場合]には、子供であった場合、無料なので、「無料」と入力、 4.[偽の場合]には、子供でない場合、もう1つ条件が必要なので、ボックスをクリックし、 5.IF関数をネストする。 |
6.条件には、利用年が3年未満であった場合という条件「I5<3」を入力、 7.[真の場合]には、そうであった場合なので、「2000」と入力、[偽の場合]には、そうでない場合なので、「1000」と入力する。ここでOKボタンクリックすると、求められるが、 8.数式バーをクリックして、IF関数に戻って数式を確認してみる。 |
9.確認後、[OK]ボタンをクリック。 |
◇■ 数式と文字列を組み合わせる場合は""で! ■◇
引数に文字列を利用すると、 1.自動的に""で文字列が囲まれて表示されるが、数式と組み合わせる場合は、 2.文字列を""で囲む必要がある。""で囲まずに数式を設定しても、エラーが出て正しく求める事ができないので注意が必要。 ※文字列に自動的に""が付けられるのは、関数パレットを利用した場合のみで、数式バーに直接、入力して数式を設定する場合は、文字列には必ず、""を付けなければならない。 |
知ッ得 |
引数の確認は、[関数貼り付け]ボタンで「関数の貼り付け」画面を表示させ、そこで該当する関数を表示し確認したり、各関数の数式パレットで確認する方法が一般的だが、数式バーに関数名を入力した後、[ctrl]+[Shift]+[A]キーで、引数が数式バーに表示される。 |
[3]複数の条件を付けて、 |
||
IF関数だけでは、条件を1つしか設定できない。そこで、2つ目、3つ目の条件を付ける為に、IF関数をネストする。しかし、これだと、答えも複数になってしまう。
条件は複数付けたいけれど、答えは2通りしか求めたくない場合、そんな時は、IF関数に、AND、OR関数をネストしてみよう。
種目が3つ以上で利用年数が5年以上の場合、毎月抽選を行う |
1.答えを求めたいセルMの5番地を選択、 2.IF関数を選択、 3.論理式のボックスをクリック、 4.関数ボックスから、[その他の関数]を選択。 |
5.論理関数から、[AND]関数を選択する。 |
6.[論理式1]のボックスに、1つ目の条件である、利用年数が5年以上であった場合という条件式「I5>=5」を設定する。 7.[論理式2]のボックスには、2つ目の条件である、種目が3つ以上であった場合という条件式を設定するので、関数ボックスから[COUNTA]関数を選択する。 |
8.種目の個数を数えたい範囲である、Cの5番地からGの5番地を選択。これで2つの条件が設定されたので、 9.確認の為に、数式バーをクリックしてAND関数に戻ってみる。 |
10.数式が確認できたら、 11.数式バーをクリックして、IF関数に戻る。 |
12.[真の場合]には、条件に合った場合、セルに表示させる値を入力するので、「毎月抽選でプレゼント」と入力、[偽の場合]には、条件に合わない場合なので、「抽選無し」と入力。 13.[OK]ボタンをクリックすると、求める事ができる。 |
◇■ OR条件を設定する ■◇
条件にOR条件を設定するには、IF関数にOR関数をネストする。
論理関数の[OR]関数を利用すると、[論理式1]と[論理式2]に条件を入力する事で、[論理式1]の条件、または、[論理式2]の条件を満たす場合という条件を設定する事ができる。 |
◇■ 〜以外の条件を設定する ■◇
条件に、〜以外の条件を設定する場合、IF関数にNOT関数をネストする。
論理関数の[NOT]関数を利用すると、 @[論理式]に条件を入力する事で、[論理式]の条件を満たす値以外という条件を設定する事ができる。 |
今回の表示形式 |
セルに年数を入力しただけで、利用料を同じセルに表示させたい、という場合には、セルの表示形式を利用してみよう。これなら、数値を入力するだけで利用料に自動的に変更できる。 |
1.条件は[ ]でくくり、条件に合った場合にセルに表示させる値を""で囲んで入力する。 すると、3未満の数値を入力すると、2000円と表示され、3以上の数値を入力すると、1000円と表示される。 |