中級

【Excel】関数の中に関数を入れ子にするネストのやり方


(約文字)

2018-07-09 2019-07-30

【Excel】関数の中に関数を入れ子にするネストのやり方

【Excel】関数の中に関数を入れ子にするネストのやり方

マトリューシカ人形の様に、エクセルで関数の中に関数を入れる方法(ネスト・入れ子)を初心者さんにもわかりやすく解説します。

  • 「エクセルで関数に関数を入れる方法が解らない」
  • 「関数のネストのやり方は?」
  • 「入れ子にするにはどうすればいいの?」

この記事を読めば、エクセルで関数に関数を入れるネストのやり方の疑問や問題を解決できます。

1.エクセルの関数のネストとは

Excelで「関数の中に関数を入れる事」をネストとか入れ子構造といいます。

初心者が中級者にステップアップするのに必須のテクニックだといえるでしょう。

エクセルのネストを例えると

マトリョーシカ

Excelのネストを例えると、ロシアの民芸品の"マトリョーシカ人形"に似ています。

マトリョーシカ人形は大きな人形>中位の人形>小さな人形と、人形の中に人形が重ねられています。

ネストのメリット・デメリット

ネスト(入れ子)では一つのセルで複雑な計算を指定できるので、コンパクトな表が作れます。

ただし、式が長くなるので、後から式の内容を見直すときに大変です。

初心者さんは無理にネストせず、少し大きな表になっても複数のセルを使って表を作るのをおすすめします。

2.エクセルで関数をネストするやり方

エクセルで関数の中に関数を入れる場面がよくあるIF関数でネストのやり方を説明します。

関数の中に関数を入れる場面

A1セルが空欄かどうかを判断し、真(TRUE)の場合は”空欄”と表示、偽(FALSE)の場合はSUM関数で合計を求めたい場合を整理すると下表の様になります。

引数 内容処理指定
1条件判断A1セルが空欄かを判断するA1=""
2真の場合 空欄と表示する"空欄"
3偽の場合 SUM関数で合計を求めるSUM(A1:A5)

IF関数でネストを組立てる

IF関数の基本構文は以下です。

=IF(条件判断,真の場合,偽の場合))

上記の表をIF関数に当てはめると以下になります。

=IF(A1="","空欄",SUM(A1:A5))

このIF関数の引数3に指定したSUM関数の部分が、関数の中に関数が入っているので、ネストと言います。

ネストの注意点

ネストの注意点は、中に入れた関数の前には「=(イコール記号)」は不要ということです。

上記の場合は、IF関数の中にいれたSUM関数の前には「=」記号の指定は不要です。

この「=」は、これから関数を使いますよとエクセルに伝えるための”関数を宣言”記号で、関数を指定するセルの一番先頭にだけ指定すればOKです。

3.ネストした関数が処理される順番

ネストの処理の順は、内側にある関数が先に処理されます。

例1

例えば、以下のネストの場合は、関数Aが先に処理され、関数Aの答えが関数Bの引数となり、関数Bが処理されセルに結果が表示されます。

=関数B(関数A(引数))

例2

「AVERAGE関数で平均値を求め、ROUND関数で四捨五入する」これのネストでのやり方は以下のように指定します。

=ROUND(AVERAGE(A1:A10),1)

この処理は、①AVERAGE関数が処理され、②ROUND関数の順になります。

4.ネストには深さに制限がある

ネストの深さですが、Excel2007以降は64階層まで作れます。

但し、深すぎるとメンテナンス性が悪くなりますので、3階層ぐらいまでに抑えて、深すぎるのは止めたほうがいいです。

ちなみに、私は4階層までネストで計算を作ったことがあります。

その時はまず紙で処理フローを書き、論理の構造を見える化してから、エクセルの関数に落とし込みました。

まとめ

このページでは、エクセルの関数のネストのやり方について、以下を解説してきました。

  • ・「関数の中に関数を入れる事」をネストとか入れ子構造という。
  • ・ネストのやり方は例えば「=IF(A1="","空欄",SUM(A1:A5))」な感じで指定する。
  • ・ネストした関数が処理される順番は、内側にある関数が先に処理される。
  • ・ネストには深さに制限がありExcel2007以降は64階層まで指定できるが深くしすぎない様にする。

ご理解いただけましたでしょうか?

次は、あなたが実際にエクセル上で実際に作業してみて下さい。 自分の手を動かすことが、パソコンスキル向上の近道です。

この記事は以上です。