前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA查找最接近的值

使用VBA查找最接近的值

作者头像
fanjy
发布2022-11-16 12:53:33
1.9K0
发布2022-11-16 12:53:33
举报
文章被收录于专栏:完美Excel

标签:VBA

有时候,不一定会查找到精确的值,如果是这样的话,应该可以找到最接近的值。有很多公式可以实现,然而本文不使用公式,而是使用VBA代码来实现。

下面的VBA代码将遍历一系列单元格,并评估最接近的匹配值。

代码语言:javascript
复制
Sub NearestValue()
    Dim rng As Range
    Dim r As Range
    Dim Mx As Single
    Dim i As Long
    Dim target As Integer
    '要查找的值所在的单元格
    target = Range("D10").Value
    '要查找的区域
    Set rng = Range([B10], Range("B" & Rows.Count).End(xlUp))
    '结果区域
    rng.Offset(, 1).ClearContents
    Mx = Application.Max(rng)
    '遍历单元格并查找
    For Each r In rng
        If Abs(target - r) < Mx Then
            Mx = Abs(target - r)
            i = r.Row
        End If
    Next r
    Cells(i, 3) = "匹配"
End Sub

找到最接近值的关键是找到目标(目标匹配的数字)和被评估单元格中的数字之间的最小数字。如果两个值之间的差为零,则有匹配项,否则,范围内最接近零的数字是最接近的匹配项,因为该数字是最接近的。

本示例中,评估的数字在列B中,你可以根据需要进行更改。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档