有一位读者留言,要根据明细表查找某一个区间的单价,有什么方法可以解决?

问题:在一年或一个阶段内的采购明细里找单价有什么方法可以快速解决,采购明细中同种规格型号会有重复出现,但我只需需要出现一个单价就行;

在实际工作中,会出现各种各样的需求,www.887551.com今天将遇到过的所有单价问题进行详细说明。

1.商品的单价是唯一的,现在根据商品查找单价对应表里面的单价

这种比较简单,直接用VLOOKUP函数即可解决。在D2输入公式,双击填充公式。

=VLOOKUP(B2,F:G,2,0)

如果函数语法不懂,查看文章《》

2.很多商品的价格都是经常变动的,根据明细表查询商品最新的单价

因为明细表的数据都是逐天记录,也就是说日期都是升序的,商品最新的单价,也就是最后的单价。查找首次出现的值用VLOOKUP,查找最后满足条件的值用LOOKUP。

在G2输入公式,双击填充公式。

=LOOKUP(1,0/($B$2:$B$154=F2),$D$2:$D$154)

如果函数语法不懂,查看文章《》

3.很多商品的价格都是经常变动的,根据明细表查询商品在某一个日期的单价

根据LOOKUP查找到满足最后条件的值这个特点,再增加一个条件,就可以查询某一个日期的单价。比如2016-12-25这一天的Excel不加班单价,肯定是查找最后小于等于2016-12-25的日期所对应的Excel不加班单价,2016-12-23就是最后一个,也就是100。

在H2输入公式,双击填充公式。

=LOOKUP(1,0/(($A$2:$A$154<=F2)*($B$2:$B$154=G2)),$D$2:$D$154)

4.查询商品最大、最小、平均单价

下面的所有公式,都是数组公式,必须按Ctrl+Shift+Enter三键结束,否则出错!

最大单价:

=MAX(IF($B$2:$B$154=F2,$D$2:$D$154))

最小单价:

=MIN(IF($B$2:$B$154=F2,$D$2:$D$154))

平均单价:

=ROUND(AVERAGE(IF($B$2:$B$154=F2,$D$2:$D$154)),2)

如果函数语法不懂,查看文章《》