使用Excel如何获取到采购的最新单价,谈一下最新的LET函数

商品采购和核算的小伙伴,因为经常遇到单价在不同时期是不一样的,那么如何获取到最新的单价,或者指定日期最近的单价来确保采购成本的核算呢?今天我们就通过几个案例来聊一下这个话题
我们从简单的开始,比如,现在我们想看一下某些商品的首次采购单价


01 | 商品首次采购单价

那么我们可以使用大家最熟悉的VLOOKUP来处理,VLOOKUP可以获取到满足条件的首个数据
=VLOOKUP(E2,A:C,3,)
除了首次单价的查询,我们更多的时候是希望查询最新的单价
02 | 最新采购单价
这里的最新单价,本质做的是查询最后一次的单价,因为一般单价更新,我们依次往下登记
=LOOKUP(1,0/($A$2:$A$13=E2),$C$2:$C$13)
但是如果我们未来数据较多的情况下,但是的单价没有及时登记,想核算成本使用最新单价也是不合理的,最好的方式是采用采购日期最近接的单价作为采购价,那么这个需求我们怎么处理呢?
03 | 指定日期最近采购价
=LOOKUP(1,0/FREQUENCY(1,-($B$2:$B$13-F2)*($A$2:$A$13=$E2)*($B$2:$B$13-F2<=0)),$C$2:$C$13)
公式相对新手有点难度,不过我们LOOKUP和FREQUENCY两个函数都有专门写过文章介绍,这里我们再稍微啰嗦两句!
1、FREQUENCY本身是频率统计函数,但也经常被用来处理近似问题。当需要计频的值只有一个,区间有多个且断点的值都大于等于这个单值,那么对应的落点肯定是断点中的最小值!
公式中有使用日期-采购日期,再加上两个条件进一步限制,分别是对应的名称 和 我们需要的是 小于采购日期对应的最小值
扩展学习:FREQUENCY入门到精通
2、LOOKUP的查找满足条件的最后一个值,用法基本已经固定,
LOOKUP(1,0/((条件1)*(条件2)*……),对应返回区域),原理是二分法,喜欢研究的同学可以进一步探索!(如果还是不懂,先收藏,后期慢慢研究吧!)
有了对应的采购单价,那么采购成本应该就不是什么问题了!
除了流水账方式登记,还有部分公司采用的是横向登记,获取最后单价就是最后一个非空单元格的价格!
04 | 横向登记最新单价问题
=LOOKUP(1,0/(OFFSET($A$1,MATCH($G2,A:A,)-1,1,,4)<>""),OFFSET($A$1,MATCH($G2,A:A,)-1,1,,4))
顺便我们也提一下,微软365版本刚推出的Let函数,对于公式中重复写的部分可以定义名称,简化公式,本质和定义名称功能差不多,只是我们在公式中定义,可以直接观察到对应变量的计算逻辑,对于复杂且需要重复写的嵌套公式,非常好用!
这里定义名称 区域 = OFFSET($A$1,MATCH($G2,A:A,)-1,1,,4),就不用写两次了,后面直接使用区域代替即可
=LET(区域,OFFSET($A$1,MATCH($G2,A:A,)-1,1,,4),
LOOKUP(1,0/(区域<>""),区域))
关于单价和LET函数我们就先谈这么多!say 88!
本文由“

器”提供技术支

(0)

相关推荐