关于LOOKUP函数的相关用法,什么情况下排序,什么情况下不排序? ...
数据在下表,搞不清楚的是,为什么公式=LOOKUP(1,A1:A19,C1:C19)=高性能聚酰胺材料,而=LOOKUP(1,B1:B19,C1:C19)=其他?公式LOOKUP(1,A1:A19,C1:C19),我的理解是:在A列查找最接近1的数字(以最后一次为准),找到就输出C列对应的值,所以结果是“高性能聚酰胺材料”,但是公式LOOKUP(1,B1:B19,C1:C19)为啥不遵循这个原则呢?
百度查了LOOKUP函数的相关用法,有说到要升序之类的,但是这里怎么升序?没弄明白。
A
B
C
1
0
1
其他
2
#VALUE!
#VALUE!
高性能聚酰胺材料
3
#DIV/0!
10
高性能聚酰胺材料
4
0
1
高性能聚酰胺材料
5
#VALUE!
#VALUE!
高性能聚酰胺材料
6
#DIV/0!
11
高性能聚酰胺材料
7
#VALUE!
#VALUE!
高性能聚酰胺材料
8
#VALUE!
#VALUE!
高性能聚酰胺材料
9
#VALUE!
#VALUE!
高性能聚酰胺材料
10
#VALUE!
#VALUE!
高性能聚酰胺材料
11
#VALUE!
#VALUE!
高性能聚酰胺材料
12
#VALUE!
#VALUE!
高性能热塑性聚酯材料
13
#VALUE!
#VALUE!
高性能热塑性聚酯材料
14
#VALUE!
#VALUE!
高性能热塑性聚酯材料
15
#VALUE!
#VALUE!
高性能热塑性聚酯材料
16
#VALUE!
#VALUE!
高性能热塑性聚酯材料
17
#VALUE!
#VALUE!
高性能聚丙烯材料
18
#VALUE!
#VALUE!
高性能聚苯硫醚材料
19
#VALUE!
#VALUE!
高性能聚甲醛材料
LOOKUP遵循二分法,论坛里搜索下,好多教程 原理就是升序的“二分法查找”,无论你骗不骗它。 =LOOKUP(1,0/(A$1:A$19=1),C$1:C$19)
这样写,可以不排序,取符合条件(=1)对应的最后一个。 查询顺序见下图。
这是我见过讲解LOOKUP函数查找原理最详细的讲解,百度里都找不到,谢谢大神。另外请教一下,是不是总数先查找下半区,一旦遇到一个值大于待查找数字,就跳到上半区去查找? 看二分值与查找值之间的关系来判断查找上半区还是下半区 中位数t 计算公式
h = m + 1:l = 0:t = l + (h - l) \ 2
页:
[1]