在数组中运行n个项目的迭代公式

我有一个数组在C列中有一个大的和可变的数据集合,并且有一个公式可以在列B中有效识别本地峰/谷(有效的最小/最大值;公式是IF((C5>C4)*(C5>C6),"peak",IF((C5<C4)*(C5<C6),"trough","")) )。

我正在寻找一种方法来计算数据集中各个峰谷到谷底的变化百分比。 这些段在范围内是可变的。 任何想法的有效和可重复的方式做到这一点? (需要为多个独立的数据集做潜在的工作)

谢谢,

我认为这是一个性能问题?

如果您将范围读入数组,请在VBA中运行计算,然后将数组写回到一个范围内,您将获得更好的性能。 请参阅下面的链接。

 Dim Arr() As Variant ' declare an unallocated array. Arr = Range("A1:C5")' Arr is now an allocated array 

http://www.cpearson.com/excel/ArraysAndRanges.aspx