Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5023|回复: 11

[已解决]关于多条件筛选出满足特定数据函数

[复制链接]
发表于 2017-10-13 13:32 | 显示全部楼层 |阅读模式
请帮忙看下附件中的计算表,
D52 单元格需要显示的内容规则要求如下:
1.       在SEW 数据表中 找到满足  D42 条件的 (55) 列
2.       在SEW 数据表中 找到满足  D51 条件(M平)的行
3.       在满足上述条件中数据中,找出 精确速比 满足小于等于G55 (32.11) 的最大数据;
4.       返回该值的左侧一列数据。
请大侠看下使用什么函数能实现该功能,谢谢!

最佳答案
2017-10-13 22:39
  1. =IFERROR(LOOKUP(G55,OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1),OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0)-1,COUNTIF(SEW!A1:A70,D51),1)),"")
复制代码

测试.rar

328.86 KB, 下载次数: 20

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-10-13 14:15 | 显示全部楼层
有人可以协助解决一下吗?感激不尽。
回复

使用道具 举报

发表于 2017-10-13 22:19 | 显示全部楼层
回复

使用道具 举报

发表于 2017-10-13 22:39 | 显示全部楼层    本楼为最佳答案   
  1. =IFERROR(LOOKUP(G55,OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1),OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0)-1,COUNTIF(SEW!A1:A70,D51),1)),"")
复制代码

测试.rar

328.85 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2017-10-13 22:43 | 显示全部楼层
高 发表于 2017-10-13 22:19
在此例中,得出MC3PLSF04?

是的。
回复

使用道具 举报

 楼主| 发表于 2017-10-13 22:52 | 显示全部楼层

确实解决了,看上去很复杂的样子,我先理解一下,如果不能理解再请教,如果有更简单的方法就更好了。非常感谢!!!

回复

使用道具 举报

 楼主| 发表于 2017-10-13 22:54 | 显示全部楼层

还有,如果我需要返回精确速比这个数值,该如何写这个函数?
回复

使用道具 举报

发表于 2017-10-13 22:58 | 显示全部楼层
先用offset生成一个数组,然后用lookup查找。查不到的,返回空值。关于你的新问题,我看看。
回复

使用道具 举报

发表于 2017-10-13 23:05 | 显示全部楼层
本帖最后由 高 于 2017-10-13 23:14 编辑

=MAX(IF(OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1)<=G55,OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1),0))
精确速比,是数组公式或者=IFERROR(LOOKUP(G55,OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1),OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1)),"")
在这个lookup中,第2个参数和第三个参数完全一样。这个不是数组公式,但按三键也无妨。这个公式比回答你问题的那个公式只少了“-1”


第一个公式修改了一下,加了个=,这样才是小于等于。
回复

使用道具 举报

 楼主| 发表于 2017-10-13 23:10 | 显示全部楼层
高 发表于 2017-10-13 23:05
=MAX(IF(OFFSET(SEW!A1,MATCH(D51,SEW!A1:A70,0)-1,MATCH(D42,SEW!$1:$1,0),COUNTIF(SEW!A1:A70,D51),1)

高手,佩服得五体投地,我才接触Excel函数这块,这个问题想了三天了,不过还是没有理解,我先理解一下,谢谢了!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 06:40 , Processed in 0.410171 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表