Excel - encontre maxima local com pico multicelular

4

Eu quero encontrar um máximo local em um enorme conjunto de dados com o Excel e a maneira que eu tenho tentado é comparar o valor anterior e o próximo para ter certeza de que eles são menores, por exemplo:

=IF(AND(C4>C3,C4>C5),"Local maxima","")

Mas o problema com essa fórmula é que, se o pico se estender por várias linhas, não será detectado como máximo local. E isso é apesar do fato de que é um máximo local quando os valores começam a cair.

(Se você quer saber porque é encontrar o máximo local em um conjunto de dados de espectro)

    
por Highace2 28.05.2014 / 18:01

1 resposta

2

Você está no caminho certo! Você pode fazer isso com algumas colunas auxiliares. Veja o gráfico abaixo.

A primeira coluna auxiliar, "slope", usa a função SLOPE do Excel. Calcula a inclinação entre 2 pontos adjacentes.

A segunda coluna auxiliar, "para rótulos", verifica a transição de uma inclinação positiva para negativa. Uma transição de inclinação positiva para negativa é marcada como "max".

Em seguida, você pode rotular o gráfico com esses máximos usando uma macro como esta:

Sub CustomLabels()

   Dim i, myCount, pt
   ActiveSheet.ChartObjects("myChart").Activate
   myCount = ActiveChart.SeriesCollection(1).Points.Count

   For i = 1 To myCount
       ActiveChart.SeriesCollection(1).Points(i).ApplyDataLabels
       ActiveChart.SeriesCollection(1).Points(i).DataLabel.Text = Range("D" & i + 1).Value
   Next i

End Sub

    
por 28.05.2014 / 21:18