機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > Excel 2007レビュー

数式のネストレベルが拡大



数式で、関数の中に関数を入れることをネストまたは入れ子と呼びます。たとえば次のような使い方です。



上の数式はIF関数の中に他の関数が入っていません。ネストしていない数式です。対して下の数式は、IF関数の中でもう一つIF関数が使われています。これがネストしている数式です。青色で示したIF関数は「1つめのネストしている関数」という意味でネストレベル1の関数とも呼ばれます。

さて、このように関数の中に他の関数を入れて、その関数の中にもさらに別の関数を入れて、そのまた関数の中にも・・・と関数のネストを繰り返したとき、いったい何個の関数をネストできるのでしょう。実はExcel 2003までの仕様では、最大のネストレベルが7と決まっていました。



クリックすると拡大します。拡大画像はクリックすると消えます

Excel 2007では、許される関数のネストレベルが最大64になりました。
Excel 2003ではエラーになって入力できなかった数式も、ほら!ご覧の通り。



本当に64レベルまで入力できるか、実際にやってみました。

クリックすると拡大します。拡大画像はクリックすると消えます

IF(A1="",〜) の中で IF(A2="",〜) がレベル1のネスト、IF(A3="",〜) がレベル2のネスト・・・と続けて、IF(A65="",〜)がレベル64のネストです。問題なく入力できました。念のため、もう1つネストを深くしてみると、



ちゃんとエラーになりました。しかも、エラーメッセージに「ネストが深すぎる」とエラーの原因まで明記されています。Excel 2003のエラーメッセージよりもわかりやすくなりましたね。でも、ヘルプで「ネスト」と書かれているのに、エラーメッセージでは「入れ子」となっています。このへんは用語を統一して欲しいものです。



このエントリーをはてなブックマークに追加