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个数据】⽐较,分区

不重复内容,顺序和源数据不⼀样】