快好知 kuaihz订阅观点

 

EXCEL根据客户、起止日期自动查询对账单,很...

转自EXCEL不加班

学员的问题,以起止日期为条件,查找出客户在销售明细表中的销售情况。

对账单

销售明细表

两个表的要引用的列,标题名称一样,顺序有可能不同。

对于这种问题,几乎可以不用考虑,就知道用筛选公式。筛选公式很难,不过有昨天的那篇文章作为铺垫,会相当容易理解一点。

1.根据起止日期引用数据,标题和顺序完全一致

在D6输入公式,按Ctrl+Shift+Enter三键结束。

=IFERROR(INDEX(销售明细表!I:I,SMALL(IF((对账单!$E$2<=销售明细表!$a$2:$a$500)*(对账单!$h$2>=销售明细表!$A$2:$A$500),ROW($2:$500)),ROW(D1))),"")

IF((条件1)*(条件2),本身行号),条件可以1个也可以多个,满足条件就返回本身行号。

SMALL(IF((条件1)*(条件2),本身行号),ROW(D1)),从小到大依次将行号提取出来。

INDEX(返回区域,SMALL(IF((条件1)*(条件2),本身行号),ROW(D1))),将行号变成对应值。

最后,IFERROR函数,就是让错误值显示空白。

2.根据起止日期和客户名称引用数据,标题和顺序完全一致

也就是增加1个条件,这种很简单,直接增加新的条件就行。

*(销售明细表!$E$2:$E$500=对账单!$B$2)

3.根据起止日期和客户名称引用数据,标题一样但顺序不同

这种最难,需要再嵌套MATCH函数判断返回区域第几列。

MATCH(对账单!A$5,销售明细表!$1:$1,0)

同时引用区域也要改变成:销售明细表!$A:$V。

引用日期列的时候,需要将单元格设置为日期格式。

最终公式:

=IFERROR(INDEX(销售明细表!$A:$V,SMALL(IF((对账单!$E$2<=销售明细表!$a$2:$a$500)*(对账单!$h$2>=销售明细表!$A$2:$A$500)*(销售明细表!$E$2:$E$500=对账单!$B$2),ROW($2:$500)),ROW(A1)),MATCH(对账单!A$5,销售明细表!$1:$1,0)),"")

这条公式,只要1,2个月的时间能够看懂就不错了,慢慢来,先把公式收藏起来。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:对账单  对账单词条  起止  起止词条  根据  根据词条  日期  日期词条  客户  客户词条  
办公

 表格打印常用技,居家办公必收藏

现实中很多活生生的例子告诉我们打印表格要比打印文稿麻烦多了秘籍一:表格缩放当打印的时候发现一张纸打不开一般就是两种调整方式第一种就是调整页边距菜单栏选择“页面布...(展开)

办公

 Excel教程:到期日计算,ED...

实例1:计算员工转正日期下图是某公司的新入职员工登记表,入职三个月即可转正,要根据入职日期计算出转正日期。没有对比就没有伤害,先来看看不会EDATE函数的伙伴是...(展开)