欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel 如何查询指定产品的上一次入库日期

程序员文章站 2022-05-08 23:36:57
多一个公式,就能少一点时间在表格数据统计上。给各位推荐一个LOOKUP函数的另类用法,返回当前产品上一次入库日期,当然上一次销售记录也是可以。 案例数据表格如图中...

多一个公式,就能少一点时间在表格数据统计上。给各位推荐一个LOOKUP函数的另类用法,返回当前产品上一次入库日期,当然上一次销售记录也是可以。

案例数据表格如图中所示,当新增入库记录时,从已有的入库记录中筛选出该产品上一次的入库日期,填充至D列。

Excel 如何查询指定产品的上一次入库日期

StepA先来分析下什么是“上一次入库日期”,如果把当前的记录称作最新,那么上一次就是次新,查找最新记录,我们大家都知道要用LOOKUP模糊查询,那么“次新”的记录其实是一样的,只是查找区域里需要剔除当前记录所在单元格区域。在D2输入公式“=LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1)”,填充序列至D9,可以看到已成功返回两条数据记录。

Excel 如何查询指定产品的上一次入库日期

StepB直接使用上一步的公式虽然已经解决问题,但美观上要大打折扣,我们需要对错误值#DIV/0!、#N/A进行优化处理,如出现错误值,则以空白显示,修改公式为“=IFERROR(LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1),"")”,看起来是不是好很多呢。

Excel 如何查询指定产品的上一次入库日期

公式说明

$B$1:$B1=B2 条件判断$B$1:$B1单元格区域的数据是否等于B2,构造一个由TRUE和FALSE组成的一维数组。特别要注意的是$B$1:$B1,最后一个$B1为列绝对引用,保证公式在填充过程中,公式引用区域同步发生变动。

1/($B$1:$B1=B2) 返回一维数组,内容为1或错误值#DIV/0!。

LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1) 在数组中查找数值1,并返回对应的$A$1:$A1单元格区域的数值,充分利用了自动忽略错误值的特性。

IFERROR(LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1),"") 如果LOOKUP的计算结果错误,则返回空值;否则返回公式的结果。使用 IFERROR 函数可捕获和处理公式中的错误