EXCEL中LOOKUP函数的高级应用
1、LOOKUP 函数就属于这种类型,它本身是一个“查找与引用”类函数,但利用其向后兼容性这个特性,可以解决许多看上去比较复杂的问题。

3、区域中的值必须以升序排列,否则可能无法返回正确的值,如果找不到查找值,则它与区域中小于巡綮碣褂或等于查找值的最大值匹配。利用其向后兼容性,可以查出某行或某列最后一个数据,如果是数值,可以用:=LOOKUP(9E+307,$C$2:$C$19),这里9E+307是科学记数法,是一个非常大的数,这个数在表中是查不到的,返回最后一个小于此数的最大数所对应的值。

5、但是上面只能在确实不会出现这种值的情况下使用,况且有的行或列中是文本或数值混输的,要返回最后一个值,就不能吹涡皋陕用上面的方法,要用:=LOOKUP(1,0/(B1:B10000<>""),B1:B10000),在此公式中,当B列中有数据时,0/(B1:B10000<>"")为0,没有数据时,除数为0,结果为错误值#DIV/0!,所以0/(B1:B10000<>"")的结果只有0和#DIV/0!两种,永远查不到查找值1,返回最后一个0,也就是单元格不为空的那个单元格中的数据。

7、有时需要将简称按对照表补全,使用其它函数非常复杂,用此函数轻而易举就能实现:=IF(A2="","",LOOKUP(1,0/FIND(A2,$B$2:$B$10),$B$2:$B$10))

9、但是注意到数字都是从左开始的,所以可以从左分别取一个、两个、三个……个字符,然后再判断提取出来的几个字符是不是数值,假设数值不超过5个字符,用公式:=LEFT(B2,ROW($1:$5)),再按F9功能键,可以看到提取出来的字符。

11、再利用LOOKUP函数,查找1,是不可能查到的,就会返回最后一个数,也就是所有数字都取全的那个数,再取反,使其转为正数:=-LOOKUP(1,-LEFT(B2,ROW($1:$5))),再向下填充,即可将其它单元格中的数据取出来。

12、除了在左边有数值、在中间、在右边都可以利用此特性从混合文本中取数,只是要分别结合MID、RIGHT函数来用。