首页
学习
活动
专区
圈层
工具
发布

[办公日常]Excel表格根据两端数据及空行自动填充等差数列(即线性插值计算)方法分享

    有时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

有需要的朋友欢迎体验

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O9kFbA08m7Pqc4fEYnKssq0w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券