|
将所有为0的数据替换为上下不为0的数据的均值。其中需要注意的是,如果出现很多0,则需要将所有的0都替换为上下的均值,即替换掉这些0的值完全相同,否则会出现替换数值不断被平均最后等于0的错误。
另外如果最后一个数据是0,没有下方数据,则这个0替换为上方数据的数值。
- Sub tt()
- Dim sh As Worksheet
- For Each sh In Worksheets
- With sh
- c = .[av4].End(xlToLeft).Column '最大列(数据从第4行开始)
- If c >= 2 Then
- For j = 2 To c
- avg = Application.WorksheetFunction.Average(.Range(.Cells(4, j), .Cells(65536, j).End(3))) '本列平均值
- .Range(.Cells(4, j), .Cells(65536, j).End(3)).Replace 0, avg, lookat:=xlWhole '本列0值用平均值取代
- Next
- End If
- End With
- Next
- End Sub
复制代码
|
|