関数の中に関数!関数の入れ子

解説記事内の画像はExcel 2013のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2013, 2010, 2007
Excel 2013・2010・2007用 練習ファイル
(nested-functions.xlsx  9.20KB)

「関数で導き出した結果を、更に関数を使って処理したい」場合に、関数の中に関数を入れて「入れ子」にしたいなぁということがあります。
普通に関数を1つずつ使って処理する場合と、複数の関数を入れ子にして一気に処理する場合とを比べながら、関数を入れ子にする操作をご紹介していきます!
ちなみに、関数の中に関数を入れて「入れ子」にすることを、「関数のネスト」と言いますヨ。

関数の中に関数!関数の入れ子01 今回は、上の図のような表を使って、

第1回から第3回の平均を求め、その平均を小数第2位で四捨五入する

という操作をしてみます。
今回の内容は、平均を求める「AVERAGE関数」、四捨五入の「ROUND関数」の操作がスムーズであることを前提として進めていきますので、不安な方は、まずは焦らず下記のページからご覧ください。
特に、「小数第2位で四捨五入」と言われて、「ROUND関数」の[桁数]に何を設定したらいいのかお悩みの方は、焦らずに下記のページからお読み頂くことを強くおすすめします。

まずはAVERAGE関数とROUND関数を単独で使ってみよう

関数の中に関数!関数の入れ子02 手始めに、平均と四捨五入を、それぞれ単独で処理するケースから見ていきましょう。
まずは、D4番地に、A4からC4番地の平均を求めてみます。

関数の中に関数!関数の入れ子03 平均はAVERAGE関数で求めますので、D4番地に入れるAVERAGE関数の引数の設定は、上の図のようになります。

関数の中に関数!関数の入れ子04 D4番地に、A4からC4番地の平均を求めることができました!
AVERAGE関数を設定したD4番地を選択した状態で数式バーを見ると、AVERAGE関数の数式も確認することができますね。

関数の中に関数!関数の入れ子05 今度は、E4番地に、D4番地にある平均の計算結果を、小数第2位で四捨五入したものを表示させてみます。

関数の中に関数!関数の入れ子06 四捨五入はROUND関数で求めます。
D4番地にある平均の計算結果を、小数第2位で四捨五入
というのは、
D4の数字を、(小数第2位で処理した結果)、桁数「1」になるように四捨五入
ということですから、E4番地に入れるROUND関数の引数の設定は、上の図のようになります。

関数の中に関数!関数の入れ子07 E4番地に、D4番地にある平均の計算結果を、小数第2位で四捨五入したものを、表示させることができました!
もちろん、ROUND関数を設定したE4番地を選択した状態で数式バーを見ると、ROUND関数の数式も確認できます。

関数の中に関数!関数の入れ子08 「D4の数字を、(小数第2位で処理した結果)、桁数「1」になるように四捨五入してね」
という数式を設定したことが、数式を見ても分かります。

スポンサーリンク

こういった場合に「関数のネスト」を使います

今度も先程と同じで、

第1回から第3回の平均を求め、その平均を小数第2位で四捨五入する

という処理をしていくことにしましょう。

関数の中に関数!関数の入れ子09 今回はD9番地に、平均を四捨五入した結果を表示させたいのですが、先程のパターンとの決定的な違いは、AVERAGE関数を単独で入れるための「平均」欄が、この表には無いということ。
こういった場合には、答を表示させたいD9番地で、「平均を計算しつつ、四捨五入する」という、2つの処理をします。

関数の中に関数!関数の入れ子10 それでは早速、操作をスタートしていきましょう!
答を表示させたいD9番地を選択し、[関数の挿入]ボタンをクリックします。

関数の中に関数!関数の入れ子11 表示されたダイアログボックスで、「ROUND」を選択し、[OK]ボタンをクリックすると、

関数の中に関数!関数の入れ子12 ダイアログボックスが表示されます。
このダイアログボックスの左上を見ると、「ROUND」と書いてあるので、このダイアログボックスがROUND関数の引数を設定するためのものであることが分かります。
最初の引数[数値]欄には、「四捨五入したい数字はどこか」ということを指定したいので、「第1回から第3回の平均」が表示されているセルを指定したいのですが、この表の場合にはその「平均」を求めたセル自体がありません
そこで、このROUND関数の引数[数値]欄の中で、AVERAGE関数を使って、「第1回から第3回の平均」を直接求めてしまいます。
[数値]欄の中で処理したいわけですから、[数値]欄に文字カーソルがあることを確認して、

関数の中に関数!関数の入れ子13 数式バーの左端にある[▼]をクリックします。
この時、誤って[▼]ではなく、その左側の「ROUND」と書かれた部分をクリックしてしまうと、ROUND関数の中に、更に2つ目のROUND関数を入れてしまうので気を付けます。
(この誤った操作をしてしまった時、やらかしてしまったことに気付きにくいのですが、数式バーを見ると、ROUNDの中にROUNDを入れてしまったことが分かります。)
もしやらかしてしまったら(笑)、表示されているダイアログボックスの[キャンセル]ボタンをクリックするか、キーボードの[Esc]キーを押すとダイアログボックスが消えるので、もう一度、一番最初の[関数の挿入]ボタンを押して、ROUND関数を選択するところからやり直します。

関数の中に関数!関数の入れ子14 数式バーの左端にある[▼]をクリックすると、最近使った関数が一覧表示されるので、この中から「AVERAGE」をクリックで選択します。
もし、一覧の中に「AVERAGE」が表示されていない場合は、単純に最近使っていないというだけなので、「その他の関数」をクリックで選択すると、

関数の中に関数!関数の入れ子15 関数を選択するダイアログボックスが表示されるので、この一覧から「AVERAGE」を選択し、[OK]ボタンをクリックします。

関数の中に関数!関数の入れ子16 「AVERAGE」を選択すると、関数の引数を設定するダイアログボックスが「AVERAGE」用のものに変わりました
ここからAVERAGE関数の引数を設定していきます。
「第1回から第3回」の平均を求めたいわけですから、引数[数値1]欄には、「第1回から第3回」のデータが入っている「A9:C9」を設定します。
今回の場合は、Excelさんの方で範囲を自動認識して、最初から「A9:C9」が設定されていますが、もし違う場合には範囲を自分で設定し直せばOKです。

関数の中に関数!関数の入れ子17 さてここで、AVERAGE関数の引数を設定し終えたので、[OK]ボタンをクリックしたくなるのですが、これが大きな間違い!!
(間違いなのに、誤って[OK]ボタンを押してしまった方は、対処法は一番最後にご説明しますので、このまま読み進めてください。)

今回やりたいことは、

第1回から第3回の平均を求め、その平均を(小数第2位で処理した結果)、桁数「1」になるように四捨五入

したいわけです。
現時点で「第1回から第3回の平均を求め」の部分は設定が終了していますが、「桁数「1」になるように」という設定は、まだしていないことにお気づきでしょうか?

関数の中に関数!関数の入れ子12 よくよくここまでの操作を振り返って考えてみると、上の図のようにROUND関数の引数[数値]欄に文字カーソルがある状態で、ダイアログボックスをAVERAGE関数のものに切り替えているので、ROUND関数の引数[桁数]欄の設定はまだしていません。

関数の中に関数!関数の入れ子17 でも、引数の設定をするダイアログボックスは、現時点でAVERAGE関数のもの。
そこで、まだ指定していないROUND関数の残りの引数を設定するため、このダイアログボックスを、ROUND関数のものに切り替えることにしましょう

関数の中に関数!関数の入れ子18 切り替え方は超簡単!
現在の数式バーの状態を見ると、ROUND関数の中にAVERAGE関数を入れていることが分かります。

関数の中に関数!関数の入れ子19 ダイアログボックスをROUND関数のものに切り替えたいので、数式バーに入力されている数式の「ROUND」の文字の部分だったらどこでもいいのでクリックすると、

関数の中に関数!関数の入れ子20 ダイアログボックスがROUND関数のものに切り替わりました!

関数の中に関数!関数の入れ子21 あとは、[桁数]欄でクリックすれば、そこに文字カーソルを入れることができるので、

関数の中に関数!関数の入れ子22 設定したい桁数、「1」を入力すればOKです!
これで、すべての引数を設定し終わったので、もう[OK]ボタンを押しても大丈夫!
[OK]ボタンを押すと、

関数の中に関数!関数の入れ子23 D9番地に、「平均を計算しつつ、四捨五入する」ことができました!
数式を設定したD9番地を選択した状態で数式バーを見ると、その数式も確認できます。

関数の中に関数!関数の入れ子24 今回の表の場合は、そもそも平均を表示させているセルが無かったため、ROUND関数の中で、AVERAGE関数を使って平均を求めました。
なので、単独のROUND関数の数式なら、
「平均が表示されているセルを、桁数「1」になるように四捨五入」
という数式になるのですが、「平均が表示されているセル」自体が無いため、
「A9からC9の平均を、桁数「1」になるように四捨五入」
という、ROUND関数の中で、AVERAGE関数を使った構造の数式となります。

さて、ここまででROUND関数とAVERAGE関数のネストを設定しましたが、設定の一番最初は、AVERAGE関数ではなく、ROUND関数を選択するところからスタートしました。
実は関数を入れ子にする際、どちらの関数を先に選択すればいいのかは、迷いやすい部分でもあり、大切なポイントでもあるんです!
こういった関数のネストのポイントや、操作を間違ってしまった場合の対処法を、次のページでご紹介します!

スポンサーリンク