LOOKUP函数
- 格式:pdf
- 大小:342.24 KB
- 文档页数:5
LOOKUP函数
LOOKUP 函数
功能
从单⾏(单列)区域或者从⼀个数组中查找某个值,并返回相应的值
⽤法
⼀、向量形式:在单⾏区域或单列区域
(称为“向量”)中查找值,然后返回第⼆个单⾏区域或单列区域中相同位置的值。⼆、数组形式;在数组的第⼀⾏或第⼀列中查找指定的值,然后返回数组的最后⼀⾏或最后⼀列中相同位置的值
1【lookup_vector】区域必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。否则,LOOKUP 可能⽆法返
2如果 LOOKUP 找不到 lookup_value 的值,它会使⽤数组中⼩于或等于 lookup_value 的最⼤值。
3如果 lookup_value 的值⼩于第⼀⾏或第⼀列中的最⼩值(取决于数组维度),LOOKUP 会返回 #N/A 错误值。
4如果数组包含宽度⽐⾼度⼤的区域(列数多于⾏数),LOOKUP 会在第⼀⾏中搜索 lookup_value 的值。5如果数组是正⽅的或者⾼度⼤于宽度(⾏数多于列数),LOOKUP 会在第⼀列中进⾏搜索。6使⽤ HLOOKUP 和 VLOOKUP 函数,可以通过索引以向下或遍历的⽅式搜索,但是 LOOKUP 始终选择⾏或列中的最后⼀个
⽤于【lookup_vector】参数按照升序排列的时,是⼀种模糊查找的⽅
注:数组⽤法中,宽度⽐⾼度⼤,LOOKUP 在第⼀⾏中搜索 lookup_value 的值常规⽤法
注:数组⽤法中,⾼度⽐宽度⼤,LOOKUP 在第⼀列中搜索 lookup_value 的值
查找策略 → ⼆分法原理1、数据升序排列(默认);
2、在由N个数据组成区间(1~N)查找
LOOKUP函数的优势→【计算速度】:遍历法=N,⼆分法=Log(N,2)向上取整。100个数据“遍历”运算100次,⼆分法只要⽰例1⽤LOOKUP函数代替IF函数【要求:⼩于60分的为不及格,60到70分的为及格,70⾄85分为良好,85分及以上为为⽅便说明,假设有100个数据。⾸先⽐较中间值【第int((1+100)/2)=50个数据】与X的⼤⼩:
如果该值⼩于要查找的X,由于数据是升序的,则收敛搜索区域为“右区间”即第51~100个;然后继续⽐较右区间中间间查找;……
如果该值⼤于要查找的X,由于数据是升序的,则收敛搜索区域为“左区间”即第1~50个;然后继续⽐较左区间中间值间查找;……应⽤⽰例
⽰例4精确查找【⽤LOOKUP函数精确查找某⽉的销量】
⾏区域或单列区域中相同位置的值。最后⼀列中相同位置的值
E, TRUE。否则,LOOKUP 可能⽆法返回正确的值。⼤写⽂本和⼩写⽂本是等同的。lue 的最⼤值。
OKUP 会返回 #N/A 错误值。
lookup_value 的值。
OOKUP 始终选择⾏或列中的最后⼀个值。
种模糊查找的⽅法,查找⼩于等于查找值的数,返回最后⼀个符合条件的结果=LOOKUP(H4,B4:F4,B5:F5)
=LOOKUP(H5,B4:F5)
=LOOKUP(H9,B9:B13,C9:C13)=LOOKUP(H10,B9:C13)
=LOOKUP(H12,C9:C13,B9:B13)
=LOOKUP(H13,IF({1,0},C9:C13,B9:B13))在由N个数据组成区间(1~N)查找某值X。
数据“遍历”运算100次,⼆分法只要7次(理论值,实际可能会⼤于这个数)。
及格,70⾄85分为良好,85分及以上为优秀】
⼩:1~100个;然后继续⽐较右区间中间值【第int((1+50-1)/2)=25个数据】⽐较,分区~50个;然后继续⽐较左区间中间值【第int((50+1+100)/2)=75个数据】⽐较,分区
不重复内容,顺序和源数据不⼀样】