查找函数查找最后购买日期的实际应用
今天,我将谈谈查找函数的另一个非常实际的应用。
在实践中,我们经常会遇到查找最后一条记录的问题,比如如下(查找产品AC1的最后购买日期,其中B列按升序排序)。
在G3单元格中,我们输入产品AC1的名称,然后在H3,公式为=lookup (1,0/(a2:a13=G3),b2:b13)。
公式解析如下。
1.(A2:A13=G3)这部分是判断a2: a13产品名称区域中哪些产品名称等于AC1。经过观察,我们可以发现以下产品都是AC1,总共有三个地方。也就是说,这三个地方会得到一个真,其他的都是假。
2.如果不是AC1产品,只会是False。因此,由(A2:A13=G3)得到的数据将为{ FALSE真;假;假;假;真;假;假;假;真;假;FALSE}
图解方法:
3,和0/(A2:A13=G3)分别相当于用0去掉上面的。
{ 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(用红色标出),其他都是错误的值。在查找函数中,错误值被忽略。因此,上面的一大串数据只会出现在查找函数中。
(" "表示空值){ " ";0;"";"";"";0;"";"";"";0;"";""}
图解方法:
以上各条;说的是区分位置,一共12个值,三个零和九个空值,跟第三个参数B2:B13(也就是日期部分区域)是一一对应的,上面有多少位置就有多少日期。
4.那么我们上面公式的第一个参数就是1,也就是我们用1去{ " ";0;"";"";"";0;"";"";"";0;"";" " }在这部分区域中,找到等于或最接近小于的位置。根据Lookup函数的二分法,我们会先找到等于1的位置,但显然不是,然后找到最接近且小于1的位置。因为上面的0都是小于和最近的,而且因为查找函数默认你是按升序排列的,所以我们会一路向下找到最后一个0的位置。这时,我们算出它是第10个位置。所以查找函数返回B2的第10个位置:B13,也就是B11(建议大家数一下手指),那么最后的结果就是得到B11单元格的值,也就是2019年1月11日。
图解方法:
这是对这个公式的分析。
最后强调一下,我们的产品名称不需要按升序排序,但是日期栏B需要按日期排序,因为我们要找的是最后购买日期。
版权声明:查找函数查找最后购买日期的实际应用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。