ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 三秋之叶

[原创] 二分法查找原理终极解析

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2021-9-25 21:02 | 显示全部楼层
二分法查找原理终极解析V1.0.xlsx的规则表里,F23应该填9,F22留空。E96应该是7。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-25 21:33 | 显示全部楼层
jaffedream 发表于 2021-9-25 21:02
二分法查找原理终极解析V1.0.xlsx的规则表里,F23应该填9,F22留空。E96应该是7。

感谢指正,为你置顶!

TA的精华主题

TA的得分主题

发表于 2021-9-26 10:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-9-26 11:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
micch 发表于 2021-9-26 10:56
前阵我还准备搞个二分查找的演示,巧了

二分查找,即便是在代码应用,也看不出实际用途吧。

TA的精华主题

TA的得分主题

发表于 2021-9-26 21:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wangg913 发表于 2021-9-26 11:01
二分查找,即便是在代码应用,也看不出实际用途吧。

我觉得也没多啥用,将数据排序后进行二分法查找到是能比较快的定位到查找值。但是如果是查找数字,似乎也没必要二分,而且Excel的数据量,循环就够快了,没必要强求什么二分。

主要就是想练习代码,演示一下,lookup查找数据的过程。一开始没设计好,做了一半发现把自己搞的很麻烦。懒得继续弄了,准备换个格式重新做,就是提不上日程来。
设想的样式是这样的,动态演示查找过程,可惜开始没设计好,越到后面,代码越麻烦,写不下去了。

image.png

TA的精华主题

TA的得分主题

发表于 2021-9-26 23:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
规则里,L179:O179文字没改
微信图片_20210926231728.png

TA的精华主题

TA的得分主题

发表于 2021-9-26 23:44 | 显示全部楼层
大致看完了,好像都符合,但想着“能不能自己也写一个LOOUP出来”的时候,对“已经找到匹配值,还要滑动”,这点想不明白,用意何在呢?是特地而为,还是其他某段代码执行的时候,这个情况也触发,然后抱着“反正对结果没什么影响”的想法,就不管它了

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-28 10:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
混沌音符 发表于 2021-9-26 23:44
大致看完了,好像都符合,但想着“能不能自己也写一个LOOUP出来”的时候,对“已经找到匹配值,还要滑动” ...

你真的很细致,当时是9月9日晚上无意间发现了二分法查找的规律,第二天早上写的草案给了小黑黑看了一下,9月11日就怂恿我发出来,很多细节上没有写的特别清楚,还是个草稿的时候就和大家见面了,感谢您的指正,后续有时间,我会写个更好的总结。关于“已找到匹配值,还要滑动”,这个源于6月18日,在给财务内训的时候,财务问我的一个“月末余额”问题,模拟的数据如下:
image.jpg

如何计算5月的月末余额,我知道方法很多,但财务的Excel水平一般,我需要给她一个简单的方法,给的方法如下:
=LOOKUP(EOMONTH(DATE(2021,5,1),0),$A$3:$G$74)
这个可能是我关于“滑动”的一次应用。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-9-28 10:54 | 显示全部楼层
micch 发表于 2021-9-26 21:26
我觉得也没多啥用,将数据排序后进行二分法查找到是能比较快的定位到查找值。但是如果是查找数字,似乎也 ...

仅仅是同类型数据的查询是简单的,关键是出现数据类型不匹配的情形,这个也就是我解决的问题,下次再碰到空值、数值、文本、逻辑值、错误等情况混杂在一起,也可以轻松驾驭,不再是无法琢磨的东西了,终于抽干了这个沼泽。

TA的精华主题

TA的得分主题

发表于 2021-9-29 13:43 | 显示全部楼层
三秋之叶 发表于 2021-9-28 10:45
你真的很细致,当时是9月9日晚上无意间发现了二分法查找的规律,第二天早上写的草案给了小黑黑看了一下, ...

嗯嗯,这种情况下,“滑动”确实有用了~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 02:13 , Processed in 0.039983 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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