Método do Excel para encontrar os valores mais próximos de um determinado período

2

Eu tenho alguns dados medidos em intervalos de tempo não uniformes, por exemplo:

Time(s)     Value(KB)
  2.1         304
 43.0         400
 60.2         380
 87.0         440
 89.5         445
102.2         460
124.3         470

Eu tenho isso em um CSV com o tempo aumentando de T = 0 como acima, e eu quero amostra Value em um intervalo periódico (60 segundos) para coincidir com alguns outros dados que eu tenho.

Eu estava tentando usar o Microsoft Excel 2007 para realizar a tarefa de reduzir os dados apenas para os valores mais próximos de cada intervalo de 60 segundos (há um pouco de dados, portanto, se é sempre maior ( 124.3 ), ou menor ( 102.2 ), ou valor absoluto mais próximo ( 124.3 ), não é importante). Eu tentei aplicar uma fórmula à coluna Time (MOD (Tn, 60)) mas não consigo encontrar uma maneira de obter essa saída (valores de tempo entre 0 e 60) e filtrar tudo menos o valor mais próximo de 60 em cada ciclo. Alguma sugestão?

    
por MilesHampson 23.01.2013 / 05:33

2 respostas

0

faça o seguinte em outra tabela:

  1. Coluna D: coloque os valores em 60, 120, 180, etc.
  2. Coluna E: =MATCH(D1,$A:$A) - isso fornecerá a última linha de onde o valor é menor que a coluna D
  3. Coluna F: =INDEX($A:$A,E1) - retorna o valor de segundos que é menor
  4. Coluna G: =INDEX($A:$A,E1+1) - retorna o valor de segundos que é maior
  5. Coluna H: =INDEX($B:$B,IF(D1-F1<G1-D1,E1+1,E1)) - isso fornecerá o valor (KB) mais próximo

Como alternativa, basta colocar essa fórmula na coluna F:

=INDEX($B:$B,IF(D1-INDEX($A:$A,E1)<INDEX($A:$A,E1+1)-D1,E1+1,E1))

ou use essa fórmula maciça na coluna G:

=INDEX($B:$B,MATCH(D1,$A:$A)+IF(D1-INDEX($A:$A,MATCH(D1,$A:$A))<INDEX($A:$A,MATCH(D1,$A:$A)+1)-D1,1,0))
    
por 23.01.2013 / 08:44
2

Anexe os intervalos de minutos (em segundos) à ColunaA, garantindo que a hora mais recente esteja após os dados existentes e classifique A: B na (s) Hora (s), da menor para a maior com os cabeçalhos Meus dados. Filtre a coluna B para selecionar apenas espaços em branco e insira:

=IF(A4-A3>A5-A4,B5,B3)

no primeiro espaço em branco (aqui Linha 4) e copie e exclua a última linha:

Poderia ser estendido com relativa facilidade para interpolar entre valores (que podem ser mais precisos) em vez de simplesmente escolher o valor mais próximo.

    
por 23.01.2013 / 10:03