回答:
私の解決策は、セルA2から開始して列Aに行くクリーンなデータを想定しています。私の式では、行1000を超えるデータがないことも想定しています(ほとんどの現実世界のデータに対してこれを上方に調整します。
数式は配列数式なので、ctrl + shift + enterを使用して入力してください
=SUM(IF(A2:A1000=0,IF(A3:A1001=1,1,0),0))
数式の仕組み。
セルA2からA1000のそれぞれについて、次のセルにゼロの外観がある場合、ゼロを探します。次のセルに1つある場合は、カウントに1を追加します。空白のセルはゼロとしてカウントされることに注意してください。
範囲の終わり(A1000およびA1001)は、データの終わりを過ぎている必要があります。
数式を使用して、1から0および0から1への遷移を検出できます。空白のセルに注意してください。
次の例を検討してください(下のスクリーンショットを参照)。
列Bにはバイナリデータパターンが含まれます。
C2には次の式が含まれます。
=IF(AND(NOT(ISBLANK(B3)),B2=1,B3=0),1,0)
D2には以下が含まれます。
=IF(AND(NOT(ISBLANK(B3)),B2=0,B3=1),1,0)
C列とD列に必要な数の行の数式を自動入力するだけです。
そして最後に必要なのは、列Cと列Dの1を合計することです
以下の例では:
D18=SUM(C2:C16)
D19=SUM(D2:D16)