Como somar uma linha até que uma condição seja atendida

1

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.

    
por Steven 10.09.2017 / 08:08

2 respostas

2

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)))

    
por 10.09.2017 / 17:37
1

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:

  1. ALT-F11exibeajaneladoVBE
  2. ALT-IALT-Mabreumnovomódulo
  3. coleomaterialefecheajaneladoVBE

Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx

PararemoveroUDF:

  1. abrirajaneladoVBEcomoacima
  2. limpeocódigo
  3. fecheajaneladoVBE

ParausaroUDFdoExcel:

=SpecialSum(B2:Z2)

Parasabermaissobremacrosemgeral,consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 10.09.2017 / 15:48