IF関数の入れ子数の上限 - エクセル(Excel)関数
真偽を判定する便利な関数「IF関数」ですが複数条件を指定するために入れ子にする回数には7回の制限があります
・関数 | 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関数の使用回数上限も考えましょう
実は条件によっては7個の制限を回避できます
入れ子(ネスト)にするから7個の制限があるので
入れなければいい
上記の例だと
=IF(
A1=1,
"〇",
"次の式")
が
=IF(
A1=1,
"〇",IF(
A1=2,
"〇",
"次の式"))
と次の式に入れ子にしていますが
ただ○×の判定であれば入れ子にしなければいくつでも使えます
※CONCATENATE関数でもつなげられますがCONCATENATEは最大で255個の項目、合計8,192文字の制限があります。
=IF(
A1=1,
"〇",
"")
偽の場合を空白にします
=IF(
A1=1,
"〇",
"")&IF(
A1=2,
"〇",
"")&IF(
A1=3,
"〇",
"")
1つ1つを「&(アンド)」でつなげればいくつでも設定できます
上記の例は○×の判定だから有効です
計算式の内容によっては「&」でつなげた方がわかりやすいしいくつも使えます
IF関数と組み合わせてよく使うエクセル関数