Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 768|回复: 3

利用VBA及区间阀值查找匹配

[复制链接]
发表于 2023-3-2 16:50 | 显示全部楼层 |阅读模式
想通过VBA数组或字典解决区间查找匹配问题

拜谢

利用VBA及区间阀值查找匹配.zip

8.26 KB, 下载次数: 1

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2023-3-2 17:28 | 显示全部楼层
Sub test()

    arr = Evaluate("{0,0;1,11;2,222;3,333}")
    a = 1.3
    b = Application.VLookup(a, arr, 2)  '还是用现成的工作表函数 方便
    Debug.Print b

End Sub
回复

使用道具 举报

 楼主| 发表于 2023-3-2 17:52 | 显示全部楼层
砂海 发表于 2023-3-2 17:28
Sub test()

    arr = Evaluate("{0,0;1,11;2,222;3,333}")

看不懂啊  第一个数组设为区间了? 1维表示阀值范围,2维是要返回的值?
那1.3不应该返回222吗?
请指教 白菜一枚
回复

使用道具 举报

发表于 2023-3-2 20:24 | 显示全部楼层
arr =区间了, 1维表示阀值范围,2维是要返回的值

在 {0,1,2,3} 中
1.3 未达到2 , 故1 才是最靠近的

这个单纯是 Vlookup 的原理 , 与Vba 没什么关系
VLOOKUP 搜一下 , 有专门讲解的

=====================================
这个就是VLOOKUP , 如 表中,G2   =VLOOKUP(F2,$B$2:$D$40,3,1)

在表格中 公式栏里 , 选中 $B$2:$D$40  按F9 ,查看这个部分的实际值 , 就是这个样子


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 08:09 , Processed in 0.220119 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表