天天看点

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

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

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
Topic: 如何同时提取满足多重条件的多个值?

关键词:

同时提取、多重条件、返还多个值

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

案例如下:
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
效果如下 :
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
解决思路:
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

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

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

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

操作步骤:
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

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

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

2、提取满足条件的值

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值
来,公式复杂,但是这样的嵌套非常有用并且实践中应用广泛!我挽起袖子给大家翻译一哈...不翻译的话,确实不太容易看懂!
正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

(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行的值...搞定!

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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

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

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

作为一个追求极致的Excel星人,是不太乐意插入辅助列,也许有其他方式可以一步实现,办法暂时没想到,留下一个初步思路,看看有没有感兴趣的小伙伴跟我一起想...↓↓↓ countifs函数可以实现对满足多重条件唯一值的统计,假设统计出来,有3条满足条件的唯一值,在此基础上,利用3+遍历的思维,是不是可以实现? 原文地址:

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

正则表达式同时满足多个条件_如何同时提取满足多重条件的多个值

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