Я попробовал использовать «Счетчики» (Google Measure) ... но надеюсь, что есть простой способ «Посмотреть» 👀 ... на:
Объяснено:
Вот один из подходов, который вы можете опробовать:
=byrow(B2:S,lambda(Σ,if (counta(Σ)=0,,len(regexreplace(regexreplace(join(,Σ),"0{3}","Λ"),"[^Λ]",)))))
Измененная формула, если будут пустые ячейки:
=byrow(B2:S,lambda(Σ,if (counta(Σ)=0,,len(regexreplace(regexreplace(join(,switch(Σ,"","x",Σ)),"0{3}","Λ"),"[^Λ]",)))))
Ух ты @rockinfreakshow ... ты сделал это снова (и снова) ☑️ Желая понять, что подразумевается под «нет пустых ячеек» (в твоем посте) - я заменил «x» (в Google Sheet) ... на пусто (строка 3, сотрудник Б) ...и подсчет/формула (все еще) работает - значит, ваша формула очень МОЩНАЯ 💪
Я имею в виду сценарий, в котором, скажем, 3 ячейки (D5: F5) пусты, а остальные заполнены как есть... На всякий случай добавлена альтернативная версия формулы выше, чтобы охватить этот сценарий!
Другое решение:
=BYROW(B2:S,LAMBDA(r,IF(COUNTA(r)=0,,LEN(REGEXREPLACE(JOIN(,SWITCH(r,"",1,r)),"(0)00|.","$1")))))
Это еще одно решение: введите приведенную ниже формулу в ячейку, скажем Y2
, и перетащите ее вниз.
=LET(x,TEXTJOIN("",true,B2:S2),(len(x)-LEN(SUBSTITUTE(x,"000","")))/3)
Вот более традиционный метод подсчета последовательных вхождений определенного символа:
=ArrayFormula(byrow(B2:S,lambda(r,if (counta(r),let(isZero,r&"" = "0",cols,column(B2:S),sum(quotient(frequency(if (isZero,cols),if (not(isZero),cols)),3))),))))
где номера столбцов ячеек, которые не содержат нуль, обозначают диапазоны ячеек, а номера столбцов ячеек, которые содержат ноль, представляют собой данные, подлежащие подсчету.
Для этого потребуется специальная функция. Не существует функций, которые были бы способны совершить такой подвиг сами по себе.
COUNTIF()
нелегко проверить, стоят ли подряд 3 нуля. Просто общая сумма. См. developers.google.com/apps-script/guides/sheets/functions