CIF関数式の書式は次のようになります。
IF(論理式,真の場合,偽の場合)
「論理式」として指定した条件が正しいときに、「真の場合」の値を、誤っているときに「偽の場合」の値を表示します。
IF関数式では、「真の場合」や「偽の場合」として、さらにIF関数式を用いることが可能です。このような入れ子を64個まで行えるようになっています。
今回の区分に用いるIF関数式も入れ子になっています。「真の場合」と「偽の場合」のそれぞれで、IF関数式を使っています。
=IF(F2=TRUE,IF(I1=1,2,1),IF(G2=FALSE,0,I1))
このIF関数式の「論理式」は、「F2=TRUE」です。同じ値の連続するセル範囲の始まりかどうかを調べて、そうであれば「IF(I1=1,2,1)」を、そうでなければ「IF(G2=FALSE,0,I1)」を実行します。
「IF(I1=1,2,1)」は、直前のセルの区分が1かどうかを調べて、それに応じて2か1の値を決めるものです。値の連続するセル範囲は1か2で区分するので、「セル範囲の始まり」となるセルの区分は、直前のセルが1であるなら2として区別する必要があります。
「IF(G2=FALSE,0,I1)」は、対象セルが「セル範囲の始まり」で無い場合の処理です。G列には「同じ値の連続するセル範囲」かどうかを調べる条件式が設定されているので、それがFALSEであれば「不連続のセル」ということにになります。その場合には0として区分します。「同じ値の連続するセル範囲」であるなら、直前のセルと同じ区分値にします。「セル範囲の始まり」のセルではないからです。