Use essa fórmula que encontra a primeira string de 4 0
e define isso como o final do intervalo:
=SUM(B2:INDEX(B2:U2,MATCH(1,INDEX((B2:R2=0)*(C2:S2=0)*(D2:T2=0)*(E2:U2=0),),0)))
Eu tenho um conjunto de dados em que as linhas são o desempenho de um aluno em um teste e as colunas são as perguntas individuais do teste. Eu gostaria de criar uma fórmula que soma as colunas para um aluno (o desempenho do teste; 0 = incorreto, 1 = correto) até que haja quatro 0s seguidos. Por exemplo, se um aluno marcou:
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20
1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0
A fórmula deve retornar 9, porque soma até Q17, onde a condição é satisfeita (quatro respostas incorretas).
Presumir o desempenho na primeira pergunta para o primeiro aluno é a célula B2
(a primeira linha é cabeçalhos, a primeira coluna é o nome do aluno).
Qualquer ajuda seria muito apreciada, porque isso excede meu conhecimento do excel.
Considere a seguinte função definida pelo usuário:
Public Function SpecialSum(rng As Range) As Long
Dim r As Range, crit As Long, v As Long
SpecialSum = 0
crit = 0
For Each r In rng
v = r.Value
SpecialSum = SpecialSum + v
If v = 0 Then
crit = crit + 1
Else
crit = 0
End If
If crit = 4 Then Exit Function
Next r
End Function
Adiciona os valores no intervalo até encontrar quatro zeros consecutivos:
FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
ParausaroUDFdoExcel:
=SpecialSum(B2:Z2)
Parasabermaissobremacrosemgeral,consulte:
e
e para detalhes sobre UDFs, consulte:
As macros devem estar ativadas para que isso funcione!