有时Excel数据存在缺失空行,而数据符合逐步增长的规律,如身高、体重及其他符合或接近线性增长或减少的数据,可以利用规律,增加缺失的空行,并根据两端单元格数据等比例插入,即线性插值计算,也就是在其中插入等差数列。如数据较多,如何在两行数据之间根据空缺的单元格自动线性插值计算并填充数据。这里分享一个方法,也是反复尝试,最终结合AI建议终于成功实现自动化填充。
具体方法,请看视频,具体代码放在文末,可复制粘贴。
Excel实现该功能的宏命令代码如下:
Sub LinearFillBlanks()
Dim rng As Range, cell As Range
Dim startVal As Double, endVal As Double, stepVal As Double
Dim i As Long, countBlank As Long
Set rng = Selection
For i = 1 To rng.Rows.Count
If Not IsEmpty(rng.Cells(i, 1)) Then
startVal = rng.Cells(i, 1).Value
countBlank = 0
'统计连续空白行数
Do While i + countBlank + 1 <= rng.Rows.Count And IsEmpty(rng.Cells(i + countBlank + 1, 1))
countBlank = countBlank + 1
Loop
'计算并填充
If i + countBlank + 1 <= rng.Rows.Count Then
endVal = rng.Cells(i + countBlank + 1, 1).Value
stepVal = (endVal - startVal) / (countBlank + 1)
For j = 1 To countBlank
rng.Cells(i + j, 1).Value = startVal + stepVal * j
Next j
End If
End If
Next i
End Sub
有需要的朋友欢迎体验