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の場合〇で違う場合次の式
=IF(A1=1,"〇",IF(A1=2,"〇",IF(A1=3,"〇",IF(A1=4,"〇",IF(A1=5,"〇",IF(A1=6,"〇",IF(A1=7,"〇",IF(A1=1,"〇","次の式"))))))))

さらに繰り返して8個の場合
=IF(A1=1,"〇",IF(A1=2,"〇",IF(A1=3,"〇",IF(A1=4,"〇",IF(A1=5,"〇",IF(A1=6,"〇",IF(A1=7,"〇",IF(A1=1,"〇",IF(A1=1,"〇","次の式")))))))))
下記のエラーが出ます
指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため、数式を入力できません。

上記はわかりやすいようになるべく簡単な「IF関数」を使っていますが
実際はかなりいろんな関数を複雑に使っているので
急に「指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため、数式を入力できません。」とエラーが出ても
何が原因かわからないことが多いです

「指定した数式で使用されている入れ子のレベル数が、現在のファイル形式で許容される上限を超えているため、数式を入力できません。」
が出たらIF関数の使用回数上限も考えましょう



実は条件によっては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関数の使用回数の上限でした

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

姓名から作る4桁数字のアルゴリズムパスワードTOP
(C) 2001-2017 Digital World