Excel使用函数在A列提取最后一个星号后的数字并在B列显示
1037
2022-07-31
多一个公式,就能少一点时间在表格数据统计上。给各位推荐一个LOOKUP函数的另类用法,返回当前产品上一次入库日期,当然上一次销售记录也是可以。
案例数据表格如图中所示,当新增入库记录时,从已有的入库记录中筛选出该产品上一次的入库日期,填充至D列。
StepA先来分析下什么是“上一次入库日期”,如果把当前的记录称作最新,那么上一次就是次新,查找最新记录,我们大家都知道要用LOOKUP模糊查询,那么“次新”的记录其实是一样的,只是查找区域里需要剔除当前记录所在单元格区域。在D2输入公式“=LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1)”,填充序列至D9,可以看到已成功返回两条数据记录。
StepB直接使用上一步的公式虽然已经解决问题,但美观上要大打折扣,我们需要对错误值#DIV/0!、#N/A进行优化处理,如出现错误值,则以空白显示,修改公式为“=IFERROR(LOOKUP(1,1/($B$1:$B1=B2),$A$1:$A1),"")”,看起来是不是好很多呢。
公式说明
$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 函数可捕获和处理公式中的错误
发表评论
暂时没有评论,来抢沙发吧~