IF関数の入れ子数の上限 - エクセル(Excel)関数

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関数と組み合わせてよく使うエクセル関数
 LEN 文字列の文字数を取得します
 MID 指定された文字数の文字を取得します
 VALUE 数値の文字列を数値に変換
 SEARCH 字列を他の文字列の中から検索します
 XLOOKUP  表の範囲を列から検索して呼び出す
 SUBSTITUTE 指定した文字を置換します


IF関数の入れ子数の上限>HOME

エクセル(Excel)関数

(C) 2024 Digital World