質問: 例えば以下のような表があったとき、飛び飛びについている0の個数を検出したいです。 ``` 実績A 1 1 1 1 1 1 1 1 1 実績B 1 1 0 1 0 1 1 1 1 実績C 1 1 0 0 0 0 1 1 1 実績D 0 0 0 1 1 1 0 0 0 実績E 1 1 1 1 1 0 0 0 0 ``` 例の場合、実績B、Cのように、0が1に挟まれている状態がNGです。実績Bは2個、Cは4個です。 実績DとEは、0は存在しますが、最初から連続している、または最後まで連続していて、1に挟まれていないのでOKです。 いいアイデアがあればアドバイスいただけると嬉しいです。
回答: * 先頭から連続する`0`をスキップ、つまり最初に出現する`1`を探す * 同様に末尾に連続する`0`をスキップ、つまり最後に出現する`1`を探す * これによって縮小された範囲の中で`0`をカウント で得られるのではありませんか? 仮に検索範囲を`$B1:$J1`としたら ``` =LET( DATA, $B1:$J1, START, XMATCH(1, DATA, 0, 1), END, XMATCH(1, DATA, 0, -1), COUNTIF(OFFSET(DATA, 0, START-1, 1, END-START+1), 0) ) ``` でできるかと。例示されている通り横並びで計算しましたが縦並びの場合は`OFFSET`関数に与える引数を変えてください。