IF関数の使用回数の上限 - エクセル関数の使い方

・関数IF
・書式=IF(論理式,真の場合,偽の場合)
・内容IF 関数を使用して値または数式が条件を満たしているかどうかをテストできます。
真偽を判定する便利な関数「IF関数」ですが
使用回数には7回の制限があります

=IF(論理式,真の場合,偽の場合)

例)1個目 A1=1の場合〇で違う場合次の式
=IF(A1=1,"〇","次の式")

例)2個目 A1=2の場合〇で違う場合次の式
=IF(A1=1,"〇",IF(A1=2,"〇","次の式"))

これを繰り返して
例)7個目 A1=7の場合〇で違う場合次の式

ここまでは計算できますが

さらに繰り返して8個の場合


下記のエラーが出ます
指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため、数式を入力できません。

上記はわかりやすいようになるべく簡単な「IF関数」を使っていますが
実際はかなりいろんな関数を複雑に使っているので

急に「指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため、数式を入力できません。」とエラーが出ても 何が原因かわからないことが多いです

上記のエラーが出たらIF関数の使用回数上限も考えましょう




2016年6月追記
いつからなのか7回の上限が無くなりました
上記サンプルの8個の場合もエラーになりません

サンプル)数字をアルファベットにする(入れ子25個)


25個でもエラーになりません
知らないうちにUpdateされてるようです

このページを作ったのが2017年4月14日で
OFFICEはずっと2010なのでバージョンではないと思うのですが
2018年4月30日の
Windows 10 April 2018 Update

その前の2017年10月17日の
Windows 10 Fall Creators Update
あたりだと思います

OFFICEのホームページのIF関数のページでは
「Excel では、最大 64 個の IF 関数を入れ子にすることができます」
となっています

エラーになる方はUpdateしてみてください

実は条件によっては7個の制限を回避できます
入れ子(ネスト)にするから7個の制限があるので
入れなければいい

上記の例だと
=IF(A1=1,"〇","次の式")

=IF(A1=1,"〇",IF(A1=2,"〇","次の式"))

となっていますが
ただ○×の判定であれば入れ子にしなければいくつでも使えます

=IF(A1=1,"〇","")
偽の場合を空白にします

=IF(A1=1,"〇","")&IF(A1=2,"〇","")&IF(A1=3,"〇","")

1つ1つを「&」でつなげればいくつでも設定できます
上記の例は○×の判定だから有効です
計算式の内容によっては「&」でつなげた方がわかりやすいしいくつも使えます
エクセル2016以降ではIF()関数の複数に対応した
IFS()関数という関数が追加されています。
参考までに上記のIF関数をIFS関数にすると
=IFS(A1=1,"〇",A1=2,"〇",A1=3,"〇")
となります(偽の設定はありません#N/A エラーになります)

以上 IF関数の使用回数の上限でした
追記
上記をIFの入れ子を1個「&」で10個、
1セルに合計20個のIF()関数を使ってみました
遊:デジタル時計を作ってみる

TOP新関数 IFS()関数を使ってみる
(C) 2024 Digital World