如何修改OR筛选公式实现含列内嵌套OR的多列跨列筛选?
跨多列+列内多值的OR筛选公式修改方法
基础嵌套OR写法
要实现D列匹配"x"、"y"、"z"任意一个,同时满足跨列OR(比如E列匹配"x")的筛选需求,只需把原公式中D列的单值判断替换成列内多值的OR逻辑,最终公式如下:
=OR(OR(D:D="x", D:D="y", D:D="z"), E:E="x")
该公式逻辑为:D列是x/y/z中的任意一个,或者E列是x,满足任一条件的行都会被筛选出来。
多值场景简化写法
如果需要匹配的选项较多,重复写OR会显得冗余,可使用ISNUMBER+MATCH组合简化列内多值判断,公式更简洁易维护:
=OR(ISNUMBER(MATCH(D:D, {"x","y","z"}, 0)), E:E="x")
MATCH(D:D, {"x","y","z"}, 0):检查D列当前行的值是否在指定数组{"x","y","z"}中,匹配成功返回位置序号,失败则返回错误值ISNUMBER(...):判断上述结果是否为数字,以此确认是否匹配成功- 外层
OR将D列的多值匹配结果与E列的条件组合,实现跨列OR筛选
扩展:多列均需多值匹配
如果E列也需要匹配多个值(比如"x"、"a"、"b"),用同样的方法扩展即可:
=OR(ISNUMBER(MATCH(D:D, {"x","y","z"}, 0)), ISNUMBER(MATCH(E:E, {"x","a","b"}, 0)))
内容的提问来源于stack exchange,提问作者user19766746
相关产品推荐
相关产品推荐

