, , , , - - ...
=COUNT(INDIRECT("R[0]C[1]:R[0]C[" & FIND("0",CONCATENATE(SUM(B1:D1),SUM(C1:E1), SUM(D1:F1), SUM(E1:G1), SUM(F1:H1), SUM(G1:I1), SUM(H1:J1), SUM(I1:K1), SUM(J1:L1), SUM(K1:M1), SUM(L1:N1), SUM(M1:O1), SUM(N1:P1), SUM(O1:Q1), SUM(P1:R1), SUM(Q1:S1), SUM(R1:T1), SUM(S1:U1), SUM(T1:V1), SUM(U1:W1), SUM(V1:X1), SUM(W1:Y1), SUM(X1:Z1), SUM(Y1:AA1), SUM(Z1:AB1))) & "]",FALSE))

A Z, , . , , , - .
A1: =COUNT(INDIRECT("R[0]C[3]:R[0]C[" & B1 & "]", FALSE))
B1: IF(C1 > 0,B1+ 1,B1)
C1: =COUNT(INDIRECT("R[0]C[" & B1 - 2 & "]:R[0]C[" & B1 & "]",FALSE))

, , B1, 0. reset - ..
B1: =IF(B2="",IF(C1 > 0,B1+ 1,B1),0)
VBA, , , . - ...
Function CountBeforeBlanks(R As Range)
For i = 1 To R.Count
CountBeforeBlanks = CountBeforeBlanks + R(i)
If Application.WorksheetFunction.Count(R(i), R(i + 1), R(i + 2)) = 0 Then
Exit Function
End If
Next
End Function