我在excel中创建了一种方法,通过改变单元格的值(间隔),我可以通过“移动平均值”来平滑数据,并在图形中实时查看更改,而不是每次都必须点击数据分析 - 移动平均数等。问题在于,我发现Excel的显示速度很慢,因为它似乎是每次在同一张表格中“计算”移动平均值(或别的东西)。当我在同一个文件中有很多数据时,情况会变得很糟糕。 这是我目前做的方式:我复制下面的E3公式 然后我拖累了相同数量的占用的行中C.VBA:平滑数据
=IF(COUNT($C$3:C3)>IntAve, AVERAGE(INDIRECT("C"&(ROW()-IntAve+1)):INDIRECT("C"&ROW())),"N/A")
其中C列包含我要平滑数据而“IntAve”是包含移动平均窗口中调用的平均单元数或“间隔”的单元格。
我想用VBA做什么,如果可能的话,就是创建一个宏,它将读取C中所有占用的行,读取单元格“IntAve”中的值,最后执行与上面相同的计算,但只是粘贴E列中的值,这样工作表就没有计算了。
当我录制宏在做数据分析,移动平均线的路线,这是我看到
Application.Run "ATPVBAEN.XLAM!Moveavg", ActiveSheet.Range("$B$1:$B$74662") _
, ActiveSheet.Range("$D:$D"), 45, False, False, False
但我不知道如何利用上述宏做要我要。 btw 45是“间隔”。
现在,如果有更好的方法来做到这一点,我都在船上!