转自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个月的时间能够看懂就不错了,慢慢来,先把公式收藏起来。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。