c语言二分法查找一个数_每天掌握一个Excel函数_最有“效率”的LOOKUP

生,而知之;用最通俗的文字来讲解最晦涩的知识。

大家好,今天我们来讲解一下LOOKUP函数。通俗来讲这个函数是用来“找东西”的,具体是怎么找的呢,下面我会详细地给大家解释一遍。LOOKUP函数有两种表达式,我们先来看一下:

LOOKUP(lookup_value,lookup_vector,result_vector);

LOOKUP(lookup_value,array);

lookup_value:表示我们要找的东西
lookup_vector:我们要找的东西在哪里
result_vector:找到东西之后要显示什么

array:从我们选出的数据第一列中找我们需要的东西,找到后显示相对应最后一列的数据

LOOKUP函数在EXCEL中的查找函数中是以效率著称的,在处理成千上万的数据时的优势是其他函数所无法比拟的。

(当然,在科技迅猛发展的现代,CPU的运行速度越来越快,LOOKUP的这个优势渐渐的也变得不太明显了)

函数原理解释

为什么LOOKUP函数的运算速度很快呢?因为LOOKUP函数用了“二分法”来查找数据。

(有人可能会问,我知道他的原理干嘛呢,知道怎么用不就好了吗?这个后面会给出解答。)

大家有没有玩过猜数字的游戏。选定一个人,在纸上写下1~100之间的某个数字,然后让你猜他写的是哪个数字,在你说出你的答案后,只能提示比它大,或者比它小。在排除运气的情况下,怎样猜才能更快地猜到所写的那个数字呢?这个时候就要用到“二分法”,如图:

fba88fab369614f89ffc3c08520868b2.png

二分法详解1-1

我们假设纸上写下的数字是38,我们先猜50,得到的回答是比50小,我们再猜1~49的中间数字25,如图:

20581a174ba1b0e5d32a033997bc9cc9.png

二分法详解1-2

38>25,我们再与26~49的中间数字37作比较以此类推,直到得出正确答案,这就是“二分法”。

大家了解“二分法”之后,有没有发现使用“二分法”的一个前提条件?

没错,那就是这串数字一定要是按顺序排列的。所以 ,同样使用“二分法”的LOOKUP函数所选取的数据(lookup_vector、array)一定要先进行排序,而且要升序排列。

实例一

573d77aaa131849bdfaee0f4cd44f77b.png

LOOKUP实例1-1

如图,我们要查找小刚的数学成绩。我们先把我们要查找的数据范围进行排序:

1、选中A、B两列,选择顶部菜单里面的数据,点击排序;

2、因为我们要查找的是姓名,所以主要关键字选姓名,排序依据选数值,次序选升序。

069b6c9992f982f01e90bf0542c6e043.png

LOOKUP实例1-2

排序成功后再E2单元格输入公式=LOOKUP(D2,A2:A6,B2:B6),回车,得到我们的答案。

7c7b8c8616450aea7cf239ad2fd6315f.png

LOOKUP实例1-3

输入第二个表达式=LOOKUP(D2,A2:B6),同样可以得到我们的答案。

4b7b17e64831cf5ad7992404927b0631.png

LOOKUP实例1-4

我们也可以通过成绩来查找姓名,和上面一样,我们先对数学成绩这一列进行排序,如图:

73daa5b6896787b7301c8e16014e1127.png

LOOKUP实例1-5

在E2单元格中输入公式=LOOKUP(D2,B2:B6,A2:A6),得到我们的答案。

b340bb43cd55ef2b9beb9cfa02a3253c.png

LOOKUP实例1-6

因为这时候我们要查找的数学成绩在第二列所以不能用=LOOKUP(lookup_value,array)表达式。

注意事项

LOOKUP函数是模糊查找,所以上上述例子中,我们把要查找的成绩改成69,五位同学中没有数学成绩69的,但是不会报错,也会得到答案“小亮”,如图:

ece6dcd9d2db18e2cdf552f3d3c5fc88.png

注意事项1-1

那是因为LOOKUP函数在找不到对应的数字时,会自动选取一个比要找的数字小且最接近的数字。我们把成绩改成94,会得到答案“小明”,如图:

bd692b5ea6909f3e2a3b3d87e1ca6c7d.png

注意事项1-2

这个一定要记住,不然日常工作中,出错了也可能找不出来错在哪里。

总结

LOOKUP函数说简单也不简单,说难也不难,只要大家懂得它的原理,好好理解,多多实践,同样可以很快掌握,熟能生巧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值