Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)で関数の中に関数を使う(入れ子にする)ことをネストとよびます。
このネストの使い方を説明します。様々な関数を組み合わせることができますが、今回は複数のIF関数を入れ込む方法を例として説明します。
このネストまで自由に使えるようになれば、エクセルの数式や関数の使い方に関しては、ほぼ卒業といってよいのではないでしょうか。
ということで、「関数の使い方」の最終回です。
- 数式や関数の仕組み(構成)
- 相対参照、絶対参照、複合参照
- 関数の基本的な入力方法
- ネストの使い方
ここまで説明してきたこれらを理解すれば、あとは関数の種類によって引数(括弧の中)の指定が変わるだけなので、関数辞書やネットの検索を使えば自由自在に関数を使えるようになるはずです。
関数の基本も最終回にゃー
ネストとは
ネストとは関数の中に、さらに関数を入れ子のように使うことです。
例えば、こんな感じ。
これは、IF関数の中に、IF関数を入れ子にした(ネストした)状態です。
「H9」が150より小さい場合は「二週間」と表示して、「H9」が200より小さい場合は一週間と表示し、どちらの条件にも当てはまらない場合は空欄にする式です。
このように関数の中で、さらに関数を使用することをネストとよんでいます。
IF関数の中で、さらにIF関数を使用する場合が以前は多かったのですが、IF関数でしか使用しないというわけではありません。
下の式をみてください。
こちらは、AND関数やAVERAGE関数をネストで使用している例です。
このように、IF関数に限らず、関数の中で関数を使用することをネストとよびます。
ネストの使い方(IF関数内でIF関数を使う)
では、今回は下の表で試してみます。
こちらの表、三教科の合計を出し、その合計の点数によって「成績」欄にコメントを表示させる予定です。
例えば、「合計」の点数が250点以上の場合は「よくできました」と表示したい。
これは簡単ですね。
IF関数の引数作成画面で、下のように入力すれば完成です。
できあがった式は下のようになります。
このように、分岐が一回の場合は普段のやり方で良いわけですが、下のような場合はどうしましょう。
コメントを点数によって、もう少し細かく分けたい場合です。
今回は
- 250点以上・・・とてもよくできました。
- 200点以上・・・よくできました。
- 150点以上・・・ふつうです。
- それ以外・・・がんばりましょう
このように分けてみたいと思います。
これを、IF関数を作成するために言葉に直すと、次のようになります。
【もし、「合計」(G3)の場所が250以上ならば「とてもよくできました」と表示して、それ以外の中で、同じく「G3」の場所が、もし200以上ならば「よくできました」と表示して、それ以外の中で、同じく「G3」の場所が、もし150以上ならば「ふつうです」と表示して、それ以外の場合は150と表示する】
ふぅ。長い。このようになります。
もう少し分かり易くするために、図にしてみると下の画像のようになります。
まず、やろうとしていることを理解しないとチンプンカンプンになってしまいます。
ピンと来ない方は、上の図をあせらずゆっくり見てみましょう。
では、上の式を作成してみましょう。
まず、関数を入れる「H3」をクリックして[関数の挿入]ボタンをクリック。
IF関数を選びます。
もし、「G3」が250以上ならば、
「とてもよくできました」まで作成します。
次に[値が偽の場合](条件を満たしていない場合)をクリックして、
ここからネストの作業になります。
違う場合で、「もし200以上ならば・・・」という感じで、この場所にまたIF関数を入れたいのです。
その時は、左上の「▼」をクリックします。
すると、下の画面のように、最近使用した関数の一覧が表示されるので、ネストしたい関数を選びます。
今回は、IF関数を入れたいので[IF]をクリック。
※この場所にネストしたい関数が無い場合は、一番下の[その他の関数]をクリックしてから選ぶことになります。
すると、関数入力画面が切り替わります。
一瞬、これまで作成したものが全て消えてしまった!と思いますね。
落ち着いて、上の数式バーをみてみましょう。
すると、ちゃんと前のIF関数は消えていないことが分かります。
今目の前にある関数入力画面は、新たなIF関数の作成画面なのですね。
では、続きです。今度は200以上を満たしている場合は「よくできました」の式を作成して、[値が偽の場合]をクリック。
※あわてて作業している場合[値が偽の場合]をクリックするのを忘れてしまうことがあります。そうすると、値が真の場合の続きに新たな関数が入ってしまうので注意しましょう。
関数が長くなる場合は、順調に進んでいるか、数式バーをこまめに確認するのがお勧めです。ちらっと確認しましょう。
順調に進んでいることが確認できたら、左上の▼をクリックして、またIF関数を選びます。
三つ目のIF関数が挿入されます。
後は、最後の条件式を作成します。
最後の条件を入力したら[OK]をクリック。
結果が表示されます。
オートフィル機能を使用して下にコピーすれば完成。
完成した式は下のようなります。
かなり長くなりましたね。
※Excel2016から登場したIFS関数を使用すれば、ネストしなくても今回のような条件は作成できます。
複雑にネストする式を作成する場合の方法
先ほどの場合は、関数の最後の条件でネストしていったので、前の場所に戻る必要はありませんでした。
場合によっては関数の引数入力画面を切り替えながらネストする必要があります。
では、今度は「国語」「英語」「数学」全ての教科が60点以上だった場合のみ「よくできました」と表示する例でやってみます。
複数の条件を満たしているか判別するAND関数を使用します。
AND関数・・・複数の条件を満たしている(TRUE)か調べる関数
AND(論理式1,論理式2,…)
- 論理式・・・条件を満たしているか調べる式や場所(セル)を指定
まず、関数を入れたい「H3」をクリックして[関数の挿入]ボタン。
IF関数の作成画面を表示します。
最初の条件式を作成しなければなりませんが、式を言葉にすると、
【もし、「国語」と「英語」と「数学」の全てが60点以上ならば】になります。
もうここでAND関数が必要になります。
なので、すぐにAND関数をネストするため、左上の▼をクリックします。
IF関数のように、よく使用する関数は一覧にあるのですが、AND関数は無いと思うので、そのような場合は[その他の関数]をクリック。
出てきた画面でAND関数を選びます。
[すべて表示]に切り替えて探しましょう。
[AND]を選ぶとAND関数の作成画面に切り替わります。
ちらっと[数式バー]を見て、IF関数の中にAND関数が入っているのを確認しましょう。
ではAND関数の引数を入力です。
下のようになります。
問題はここからです。
AND関数の部分が作成できたので、最初のIF関数に戻りたいのですね。
その方法は、[数式バー]のIFの場所をクリックするだけです。
数式バーの関数名をクリックすると、その関数の作成画面に切り替わる
ここが大切なところ。
IFの場所をクリックすると、AND関数の作成画面が一瞬でIF関数の画面に切り替わってくれます。
一番上の[論理式]の場所を見ると、AND関数が入っているのが分かりますね。
あとはIF関数の残りを作成するだけ。
すべて入力し終えたら[OK]を押してオートフィル機能でコピーして完成です。
今回作成した式は下のようになります。
このように、ネストをする場合は、[数式バー]の関数名をクリックして入力画面を切り替えながら作成、修正していきます。
まとめ
少し長い説明になりましたが、ネストを使えるようになるのは、とても大切なこと。
ネストを使いこなせるようになれば、もうエクセル初心者ではないと思いますよ。
また、途中にも書きましたが、最初のIF関数を例として説明した方法は、IFS関数を使用すればネストせずに済ませることができます。
このへんになると[数式バー]で途中の式を意識するのが大切なんだにゃー