Eu realmente não entendo o que você tem em Coluna 1 Coluna A
,
mas parece não ter importância, então vou ignorar isso.
Se for importante, explique melhor.
Suponho que seus dados iniciem na linha 1; ou seja, você não tem linha de cabeçalho. Coloque
=IF(C1="DAQ Start", AVERAGE(OFFSET(B1, 0, 0, MATCH("DAQ PAUSE",C1:C$8,0), 1)), "")
na célula D1
(ou onde quer que a média vá).
Mude o 8 (em C$8
) para o número da última linha onde você tem dados -
ou um número maior (por exemplo, 999)
se (como você diz) os dados são adicionados com freqüência / automaticamente,
e as linhas entre os dados de boa e linha 999 estão em branco.
Em seguida, arraste / preencha a célula D1
até o limite necessário para cobrir todos os seus dados.
-
=IF(C1="DAQ Start", …, "")
diz apenas para exibir em branco na colunaD
em qualquer linha onde ColunaC
não éDAQ Start
.Em linhas nas quais a coluna
C
éDAQ Start
(a primeira linha de um teste), - use
MATCH("DAQ PAUSE",C1:C$8,0)
para encontrar a primeira ocorrência deDAQ PAUSE
na ColunaC
abaixo da linha atual. Isso retorna a posição relativa desse valor. Por exemplo, se estivesse na linha atual,MATCH
retornaria 1 - mas, claro, isso é impossível porque a linha atual contémDAQ Start
lá. Mas se oDAQ PAUSE
estivesse na próxima linha,MATCH
retornaria 2. -
%código%
especifica o intervalo começando na célula na coluna
OFFSET(B1, 0, 0, MATCH("DAQ PAUSE",C1:C$8,0), 1)
na linha atual (com compensações de 0 e 0) que é alto o suficiente para alcançar a linhaB
(usando o valor de retorno deDAQ PAUSE
como o número de linhas) e uma (1) coluna de largura. -
MATCH
calcula a média desse intervalo.
Por exemplo,
amédiade2,3e10é5,eamédiade1,2,3e42é12.Eunãoestavaclarooquepodeestarentreofinaldeumtesteeocomeçodeoutro;contantoquenãosejaAVERAGE(OFFSET(B1,0,0,MATCH("DAQ PAUSE",C1:C$8,0), 1))
, minha função não se importa.