xml文件中同时满足多个条件_如何同时提取满足多重条件的多个值

caba3fbef41b052114681a5264a22507.png

b0d6e93ef115ccfc3cc4ac70a06fc55a.gif

春天到了...幸福指数又往上飙啊...

这两天的幸福指数还额外高了几分,也许春天到了,大家都更加努力了,最近问我Excel问题的人好像比以前都多...如何同时提取满足多重条件的多个值,如何进行趋势分析和销量预测,如何实现数字文本的直接运算,如何不让别人查看自己的隐藏值...

知识就像一块地,我不知道边界在哪,自己给自己提问题,很难突破现有的知识范围去思考一些新的问题,但是如果有其他人来问我问题,我就费劲想想,感觉就把这块地的边缘又扩大了...~(づ ̄ 3 ̄)づ

dec1a921706fb81a80a05138fbe50971.gif

Topic: 如何同时提取满足多重条件的多个值?

关键词:同时提取、多重条件、返还多个值

应用:...那太多了...有信息分拣的地方都用得上...看看XX季度XX产品的销量,看看XX年XX大学的招聘人数,跟踪XX区域XX订单的情况...

案例如下:

format,png

左侧蓝色区域是原始记录数据,右侧设置“查找时间”和“查找城市”两个下拉菜单,根据不同的下拉选项,在橙色区域生成不同的结果;换言之,在蓝色区域中提取同时满足两个筛选条件的值,并返还到橙色列表中;

5a6ec6942d9fe8a9c48d18764efe734a.png

效果如下 :

format,png

113a95552efb5a70738e558f311c07a2.gif

解决思路:

format,png

开始这个问题真让我犯难,根据一个判定条件去提取多个值,这个我在之前的公众号已经写过:插入控件->引用变量->实现动态图表纵横筛选

这一篇里面也提到了对双重条件的查找,但有个很大的区别,之前的那篇的两个条件是分别在纵横两个方向,从本质上说,它只需要解决一个判定条件(纵列的判定),对横向(标题行)的判定,基本等于数值比对,不需要使用遍历一样的方式挨个去判定,表达的有点拗口哈...

但是现在一个判定条件变为两个,直接在函数里增加判定条件(一说条件判定首先就想到if,多重条件受限就想到ifs加条件...思维惯势啊),但想了一下,我确实不知道该咋加进去...

换个思路,把这个问题的两个判定条件合并为一个判定条件不就OK了嘛... 跳出常规思维是多么的重要...

操作步骤:

format,png

1、插入辅助列,将两个判定条件合二为一

=IF(AND($A2=$H$1,$D2=$H$2),1,0)

公式翻译:如果A列的值等于查找日期,同时D列的值等于查找城市,则判定这一行满足条件,返回真值1,否则返回0;

69f8241adf525dc82f75b4639bf6e992.png

2、提取满足条件的值

=IFERROR(INDEX(A$1:A$22,SMALL(IF($E$1:$E$22=1,ROW($1:$22),23),ROW(A1))),"")

18fe20a071c14bd1872f70985b48f1c1.gif

来,公式复杂,但是这样的嵌套非常有用并且实践中应用广泛!我挽起袖子给大家翻译一哈...不翻译的话,确实不太容易看懂!

9e644d13dbf43b7f000485c5db8146c6.png

(1)使用if去挨个判定,E1-E22的值是否为1(1则表示该行是我们需要提取的值),是的话,返还这一行的行数,不是的话,返回23(当然你也可以根据心情写其他的数...再当然...实际上写多少还是有点讲究...),数组运算后返回一长串结果,如下图↓

9f39a1379af1d1291c57bb85f3c66b54.png

(2)使用small函数+row函数的组合,随着函数向下拉,row(A1)变row(A2)...变变变...row(A22),对应的值变为1、2、3...22,跟small一结合,就返还步骤1结果中...第1小的数值、第2小的数值、第3小的数值...很明显,从小到大依次是:15、18、20、21、23...(即第几行)

(3)使用index函数,以步骤2的返还值作为参数在A列查找并返还,则依次返还A列第15行的值、第18行的值、第20行的值...搞定!

25b14770e4c109660abee83a70e10aa7.png

(4)iferror函数...在此主要起美化作用...事实上,iferror的主要作用是避免错误值影响后面的计算,因为运算一旦掺入错误值是没法执行运算的...

嗯,口水都说干了,但不晓得大家看懂没...没事,看不懂再多看几遍,感觉没有比这更精辟的表达了啊...同理,再提取姓名和城市信息...

e919c57d02e40737f9312aa4142d42b1.png

可能有小伙伴会问我,我按照上面这样做的话,做出来就是效果图那样子的吗... 不一定...除非你提前在存放数据的区域把公式都写好了...呈现的效果图是已经在区域全部定义好了公式,实现了更新全覆盖...所以大宝贝儿一定要记得公式全覆盖啊...

PS:表格的某个区域有自动更新(不管是数值、空值、提示或者样式的更新),那一定是提前写好了公式,看着没有公式,其实是有的,没有公式定义单元格,是不会自动更新的...

那么也许又有人问,有些单元格点击查看并没有公式啊为什么也会更新啊...我自己也常这样写...还是刚刚那个回答,那铁定是写了公式的,只不过没有把公式写在表格区域罢了...

作为一个追求极致的Excel星人,是不太乐意插入辅助列,也许有其他方式可以一步实现,办法暂时没想到,留下一个初步思路,看看有没有感兴趣的小伙伴跟我一起想...↓↓↓

countifs函数可以实现对满足多重条件唯一值的统计,假设统计出来,有3条满足条件的唯一值,在此基础上,利用3+遍历的思维,是不是可以实现?

原文地址:

如何同时提取满足多重条件的多个值​mp.weixin.qq.com
bdf6bbf229fa1564ae919339491d7399.png

欢迎围观的微信公众号哈...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值