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

解説記事内の画像はExcel 2019のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Office 365
Office 365は、バージョン2002と、バージョン2007で動作確認しています。

スポンサーリンク

関数の中に関数を入れて「入れ子」にする 1つのセルで1つの関数を使うのは、おなじみの一般的な関数の使い方。
でも、「平均を出しつつ四捨五入」のように、1つのセルで複数の関数を使いたいことも。
そんなときには、関数の中に関数を入れて「入れ子」にします。
その、関数の中に関数を入れて「入れ子」にすることを、「関数のネスト」とも言います。

関数の入れ子を覚えるのに、ROUND関数の中にAVERAGE関数を入れる操作は、もってこい!
これを覚えておけば、他の関数の入れ子もスムーズにできるようになります。
ですが、ROUND関数とAVERAGE関数を、単独で使うのも不安だなぁという方は、これ以上進んでも苦行でしかないので、まずは下記のページをご覧ください。

それでは、「関数の中に関数を入れる」を、具体的にスタートします!

スポンサーリンク

どんな時に関数の中に関数を入れるの?

第1回から第3回までの平均を、小数第1位になるよう四捨五入した結果を知りたい このような表で、

第1回から第3回までの平均を、小数第1位になるよう四捨五入した結果を知りたい

といった場合、

  • 第1回から第3回までの平均を出す → AVERAGE関数
  • さらに、その平均を四捨五入したい → ROUND関数

と、役割に合わせた関数を使うことになります。
「平均」を表示させるセル、さらにその平均を「四捨五入」した結果を表示させるセルがそれぞれある表なら、

D4番地に平均を表示させたい D3番地の「平均」を表示させるセルには、A3からC3番地の平均を表示させるべく、

AVERAGE関数の引数 AVERAGE関数をこのように設定すれば良いことになります。

E4番地に平均の四捨五入した結果を表示させたい そして、D3番地で求めた「平均」を、さらに小数第1位になるよう「四捨五入」して表示させるE3番地には、

ROUND関数の引数 ROUND関数をこのように設定することになります。

「平均」だけの状態が見えるのは余分な印象 でも、今回の場合は、そもそも「平均」を「四捨五入」した結果だけが必要なので、その途中経過である「平均」だけの状態が見えるのは、余分な印象。

関数を2つ使わなければいけない処理を1つのセルで行う だったら、2つ目の表のように、途中経過の「平均」を表示させるセルはあえて作らず、D8番地のようなセル1つで、平均を計算しつつ四捨五入した方が、見やすい表に。
平均を計算しつつ四捨五入」という、関数を2つ使わなければいけない処理を1つのセルで行うので、関数の中に関数を入れるわけです。

関数の中に関数を入れる操作手順

それでは早速、関数の中に関数を入れる操作をしてみましょう!
ここからは、クリックする場所であったり、[OK]ボタンを押すタイミングがめちゃめちゃ大切になります!
よいですか・・・余計なことをしてはいけません・・・解説のとおりに操作するのです・・・
余計なことをしてしまったときの対処法も解説するので、それができるようになるまでは、解説のとおりに操作するのです・・・

関数の入れ子を使って結果を表示させたいセルを選択 関数の入れ子を使って結果を表示させたいD8番地を選択し、[関数の挿入]ボタンをクリックします。

ROUND関数を選択 関数を指定するためのダイアログボックスが表示されます。
[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
今回はROUND関数を使いたいので、一覧から「ROUND」をクリックで選択し、[OK]ボタンをクリックします。
なぜ最初にAVERAGE関数ではなく、ROUND関数を選んでいるかについては、後の「どっちの関数を先に選ぶか問題」の章で解説していますので、まずは操作だけマスターしてしまいましょう!

ROUND関数の引数 更に表示されたダイアログボックスで設定をしていきます。
まずは[数値]欄。
ここには、どの数字を四捨五入したいのか指定しますが、いきなり重要ポイント

「平均」がまだ計算されていない 四捨五入したいのは、第1回から第3回までの「平均」。
でも、その「平均」自体がまだ計算されていないわけです!

数式バーの左側にある関数名の[▼]をクリック というわけで、四捨五入したい数字を指定する[数値]欄に、「平均」を計算するAVERAGE関数を入れ込んで、この場で平均を計算しちゃいます!
[数値]欄に文字カーソルがあることを確認し、数式バーの左側にある関数名の[▼]をクリックすると、

最近使った関数の一覧が表示される 最近使った関数の一覧が表示されます。
この一覧に[AVERAGE]が表示されている方は、[AVERAGE]をクリックすれば、即AVERAGE関数の設定に進めますが、今後のためにこのまま読み進めてください。
この一覧に[AVERAGE]が無い方は、[その他の関数]をクリックします。

「AVERAGE」を選択 前の手順で[その他の関数]をクリックした場合には、関数を選択するダイアログボックスが表示されます。
[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
関数の一覧から「AVERAGE」をクリックで選択し、[OK]ボタンをクリックします。

ダイアログボックスがAVERAGE関数のものに切り替わった ダイアログボックスがAVERAGE関数のものに切り替わりました!
数式バーを見ても、ROUND関数の中にAVERAGE関数が入ったことが分かります。

ROUND関数の引数 AVERAGE関数で設定するのは、平均したい数字が入っているセル。
今回はA8からC8番地を平均したいので、本来はA8からC8番地を範囲選択して[数値1]欄に「A8:C8」と指定しますが、既にExcelが気を利かせて勝手に指定してくれています。

勝手に指定されているものが選択で反転していることを確認 今回はExcelが勝手に指定してくれたもので良いですが、もし、勝手に指定されているものが違う場合のことも練習しておきましょう。
自分で指定し直したいときは、勝手に指定されている範囲の表記が、図のように選択されて反転していることを確認します。
反転していなければ、図のように反転させるべく、範囲の表記をドラッグでなぞって選択します。
選択して反転した状態にしておくことで、設定のし直しをしたときに、それを上書きできます。

正しい範囲を選択し直す 設定のし直しをします。
実際のセルで範囲を選択し直すと、[数値1]欄に、その範囲が設定されます。

[OK]ボタンは押しちゃダメ これで平均の設定は終わりですが、ここで再び重要ポイント
平均を出すAVERAGE関数の設定が終わったので、[OK]ボタンを押してしまいがちですが、[OK]ボタンを押していいのは、使用する関数すべての設定が終わったとき
この時点でAVERAGE関数の設定は終わっているけれど、ROUND関数の設定はまだ全て終わっていないので、[OK]ボタンは押しちゃダメなんです!

途中で[OK]ボタンを押しちゃったら

[OK]ボタンを押してしまったら まだ、他の関数の設定が残っているのに[OK]ボタンを押してしまったときのために、対処法も覚えておきましょう!
誤って[OK]ボタンを押してしまうと、

Excel 2019の数式に誤りがあるエラーメッセージ 【Excel 2019・2016 / Office365】
このようなメッセージが表示されるので、一旦[OK]ボタンを押します。

Excel 2010の数式に誤りがあるエラーメッセージ 【Excel 2013・2010】
このようなメッセージが表示されるので、一旦[OK]ボタンを押します。

数式バーに文字カーソルが入るので[関数の挿入]ボタンをクリック 数式バーに文字カーソルが入るので、そのままの状態で[関数の挿入]ボタンをクリックすると、

元の関数のダイアログボックスが表示される 元の関数のダイアログボックスが表示されます。

ちなみに、今回表示されたエラーメッセージは、

Excel 2019の「この関数に対して、少なすぎる引数が入力されています」エラーメッセージ Excel 2019・2016 / Office365ではこれ、

Excel 2010の「この関数に対して、少なすぎる引数が入力されています」エラーメッセージ Excel 2013・2010ではこれでしたが、

関数によっては、

Excel 2019の数式に誤りがあるエラーメッセージ Excel 2019・2016・2013 / Office365ではこのような、

Excel 2010の数式に誤りがあるエラーメッセージ Excel 2010ではこのような、エラーメッセージが出る場合もあります。
でも、対処法は同じなので、この章でご紹介している対処ができれば解決します。

それでは続きの操作を見ていきましょう。

スポンサーリンク

設定したい関数のダイアログボックスに切り替える

ダイアログボックス左上に表示されている関数名で判断 さて、関数の中に関数を入れているときには、今、どの関数の操作をしているのか、常に意識している必要があります。
今、どの関数の設定をしているのかは、ダイアログボックス左上に表示されている関数名で判断します
「AVERAGE」とあれば、AVERAGE関数の設定用のダイアログボックスになっている、ということです。

数式の「ROUND」の文字のところでクリック もし、ROUND関数のダイアログボックスに切り替えたいのなら、数式バーに表示されている数式のうち、「ROUND」の文字のところでクリックすると、ダイアログボックスがROUND関数用のものに切り替わります!

数式の「AVERAGE」の文字のところでクリック もちろん、数式の「AVERAGE」の文字のところでクリックすれば、AVERAGE関数用のダイアログボックスに切り替わります!
現在、AVERAGE関数に必要な指定はすべて終わっているわけですから、再びROUND関数のダイアログボックスに切り替えましょう。

数式の「ROUND」の文字のところでクリック 数式バーに表示されている数式のうち、「ROUND」の文字のところでクリックすると、ROUND関数用のダイアログボックスに切り替わりました。

ROUND関数の[数値] どの数字を四捨五入するかを指定する[数値]欄には、ここまでの操作で「A8からC8番地までの平均」と指定できたわけですから、

ROUND関数の[桁数]を指定 設定が残っているのは[桁数]。
[桁数]欄でクリックして文字カーソルを入れ、どの桁数にしたいのかを指定します。
さぁ、これでROUND関数側の設定も完了。
AVERAGE関数側も、ROUND関数側も、すべての設定が終わったので、ここで初めて[OK]ボタンを押せるのですが、「あれ?全部設定終わったっけ?」と不安に思うことだってあると思うんです。
そんな時には、[OK]ボタンを押す前に、

AVERAGEに切り替えて確認 また、数式の「AVERAGE」の文字のところでクリックしてダイアログボックスを切り替え、「あぁ、設定終わってるな」と確認し、その上で[OK]ボタンを押してもいいですし、

ROUNDに切り替えて確認 「念のため、もう一度ROUND関数を確認しておこう」と、数式の「ROUND」の文字のところでクリックしてダイアログボックスを切り替えてもいいわけです。
双方気が済むまで確認してから[OK]ボタンを押します。
使用している関数の設定が、すべて終わってさえいれば、ダイアログボックスはどちらの関数が表示されている状態で[OK]ボタンを押しても問題ありません

ROUND関数の中にAVERAGE関数が入っている ROUND関数の中にAVERAGE関数を入れることができました!
数式バーを見ても、ROUND関数の中にAVERAGE関数が入っていることが分かります!

A8からC8の平均を、小数第1位になるように四捨五入してね この数式の意味は、
「A8からC8の平均を、小数第1位になるように四捨五入してね」
です。

スポンサーリンク

切り替える必要が無いパターンもある

数式の「ROUND」の文字のところでクリック 今回ご紹介したパターンは、ROUND関数の[数値]欄にAVERAGE関数を入れたので、AVERAGE関数を設定し終わった後、まだ設定が終わっていないROUND関数の[桁数]を指定するために、ROUND関数のダイアログボックスに戻る必要がありました。
でもですよ、この[桁数]を指定するためにダイアログボックスを切り替えてROUND関数の設定に戻ってくるのなら、[数値]欄にAVERAGE関数を入れる前に、あらかじめ[桁数]を指定してしまえば、後々ダイアログボックスを切り替える必要がなくなってきます。

シート見出し 早速操作してみましょう!
練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しで、Sheet2に切り替えます。

数式の「ROUND」の文字のところでクリック 関数の入れ子を使って結果を表示させたいD3番地を選択し、[関数の挿入]ボタンをクリックします。

「ROUND」を選択 「ROUND」を選択し、[OK]ボタンをクリックします。
先ほどROUND関数を使ったばかりなので、[関数の分類]は「最近使った関数」にすると、選びやすいです。

ROUND関数の[桁数] ROUND関数のダイアログボックスが表示されたら、最初にROUND関数の[桁数]を設定してしまいます。

ROUND関数の[数値] そして、[数値]欄でクリックして文字カーソルを入れたら、ここにAVERAGE関数を入れていきましょう!
数式バーの左側にある関数名の[▼]をクリックします。

「AVERAGE」を選択 最近使った関数の一覧が表示されるので、[AVERAGE]をクリックします。

ROUND関数の中にAVERAGE関数が入った ダイアログボックスがAVERAGE関数のものに切り替わりました!
数式バーを見ても、ROUND関数の中にAVERAGE関数が入ったことが分かります。

AVERAGE関数の引数 AVERAGE関数で設定するのは、平均したい数字が入っているセル。
今回はA3からC3番地を平均したいので、本来はA3からC3番地を範囲選択して[数値1]欄に「A3:C3」と指定しますが、既にExcelが気を利かせて勝手に指定してくれています。
というわけで、AVERAGE関数の設定はこれでいいことになります。

双方の関数に必要な設定はすべて終わっているので[OK]ボタンを押してもいい この操作方法の場合は、AVERAGE関数の設定が終わった時点で、ROUND関数の[数値]も[桁数]も設定が終わっていることになるので、ROUND関数のダイアログボックスに切り替える必要はありません。
双方の関数に必要な設定はすべて終わっているので、そのまま[OK]ボタンを押していいです。

ROUND関数のダイアログボックスに切り替えた もちろん、心配であれば、本当にすべての設定が終わっているか確認することはいいことなので、数式の「ROUND」の文字のところでクリックして、ROUND関数のダイアログボックスに切り替え、「あぁ、ちゃんとすべての設定が終わっているなぁ」と確認してから[OK]ボタンを押せば安心。
親の関数のダイアログボックスに切り替える必要がないときは、速攻[OK]ボタンを押してもいいし、切り替えて確認して安心してから[OK]ボタンを押してもいい、ということなんです。
もちろん、親の関数の設定がすべて終わっていなければ、必ずダイアログボックスを切り替えて、親の関数のダイアログボックスに戻ってくる必要はありますヨ。

というわけで、IF関数の引数[値が偽の場合]の中に、IF関数を入れ込んでいく、「IF関数で複数条件のどれに合うかで3パターン以上に振り分け[全Ver.可]」でご紹介している例なら、子のIF関数の設定が終わった時点で、親のIF関数の設定は終わっているので、ダイアログボックスを切り替えて親の設定に戻ることなく[OK]ボタンを押しています。

どっちの関数を先に選ぶか問題

ROUND関数を選択 さて、今回はROUND関数の中にAVERAGE関数を入れ込みましたが、何でROUND関数を先に選んだの?AVERAGE関数を先に選んではいけないの?と疑問に思った方もいらっしゃるでしょう。

どちらの関数を最初に選ぶのか、それはこの考え方を覚えておけばOK。

結果として表示させたい関数を先に選ぶ

ROUND関数のダイアログボックスに切り替えた 今回の例では、結果として表示させたいのは、「ただの平均」ではなく、それを「四捨五入した結果」です。
なので、四捨五入を処理するROUND関数を先に選んだ、というわけです。

関数の中に関数を入れる まとめ

関数の中に関数を入れる操作のポイント

  • 結果として表示させたい関数を先に選ぶ
  • 設定中は、数式の関数名をクリックすると、ダイアログボックスを切り替えられる
  • 使用している全ての関数の設定を終えるまで、ダイアログボックスの[OK]ボタンは押さない。

スポンサーリンク