当前位置:首页经验技巧Excel经验excel知识

excel表格lookup函数的实际应用,查找最后一次采购日期

2026-01-12 10:28:11

今天说说lookup函数的另一个很实用的应用。

实际工作中我们经常遇到查找最后出现的记录,如下面的问题(要查找产品AC1最后一次采购日期,其中B列是按升续排序的)

我们在G3单元格中输入产品的名称AC1,然后在H3输入公式是=LOOKUP(1,0/(A2:A13=G3),B2:B13)

公式解析如下

1、(A2:A13=G3)这部分是判断在A2:A13产品名称区域中,有那几个产品名称是等于AC1的,观察我们可以发现有以下几个是为AC1的,共有三处。即这三处会得到一个TRUE、其他都是False。

2、而不不是AC1产品的,只会False。所以(A2:A13=G3)得到的数据会是{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}

图示法:

3、而0/(A2:A13=G3)就是相当于用0分别去除上面的

{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}

在计算机里面,true就是对的意思,相当于1。而false就是错的意思,相当于0。而我们知道0/0是一个错误值,而0/1=0.所以上面的除了之后得到的结果是

{#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!}

图示法:

可以看到上面只有三个是0(标红色)其他都是错误值。在lookup函数中,错误值是会被忽略的。所以上面的一大串数据在lookup函数中只会是

(“ ” 表示空值){“”;0;“”;“”;“”;0;“”;“”;“”;0;“”;“”}

图示法:

上面每个;表示的是区分位置的,总共有12个值,三个0和9个空值,跟第三个参数B2:B13(也就是日期部分区域)是一 一对应的,有多少个日期上面的就有多少个位置。

4、然后我们上面公式的第一个参数是1,也就是我们用1去{“”;0;“”;“”;“”;0;“”;“”;“”;0;“”;“”}这部分区域去找等于或者最接近且小于的位置,按照lookup函数的二分法,会首先去找到等于1的,显然没有,然后就找最接近且小于的1的位置,因为上面的0,都是满足小于且最接近,又因为Lookup函数默认你是按升序排列的,所以会死脑筋的一直往下找到最后一个0的位置,此时我们算一下是第10个位置满足,于是lookup函数就返回B2:B13这里的第10个位置,也就是B11(建议你手指的数一数),所以最后结果就是得到B11单元格的值也就是2019-1-11

图示法:

以上就是这个公式的解析。

最后强调,这里我们的产品名称是不需要要求按升序排序,但是日期B列是要求按日期排序的,因为我们是要找最后的采购日期。


免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2026 www.z8000w.com. All Rights Reserved .