如何用Excel FILTER函数实现多值及不区分大小写模糊筛选?
Excel FILTER函数多值+不区分大小写部分匹配实现方案
方案1:精确匹配指定值 + 包含指定关键词的部分匹配
如果需要同时满足:
- 精确匹配
Completed/Canceled/Review(不区分大小写),或者 - 单元格内容包含
rev(不区分大小写,任意位置)
可以使用以下公式:
=FILTER(Projects!$A$2:$P$51, (ISNUMBER(MATCH(LOWER(Projects!$E$2:$E$51), {"completed","canceled","review"}, 0))) + ISNUMBER(SEARCH("rev", LOWER(Projects!$E$2:$E$51))) > 0 )
公式拆解:
LOWER(Projects!$E$2:$E$51):将状态列所有文本转为小写,消除大小写差异MATCH(..., {"completed","canceled","review"}, 0):检查转小写后的文本是否属于指定的三个精确值,匹配成功返回位置,否则返回错误ISNUMBER(MATCH(...)):将匹配结果转为布尔值(匹配成功=TRUE,失败=FALSE)SEARCH("rev", LOWER(...)):在转小写后的文本中查找rev,找到返回位置,否则返回错误;SEARCH本身不区分大小写,配合LOWER双重保障+ > 0:用加法实现OR逻辑,只要两个条件中有一个满足(结果≥1),就返回TRUE,纳入筛选结果
方案2:对指定关键词的部分匹配(不区分大小写)
如果希望只要单元格内容包含Completed/Canceled/Review的任意部分(不区分大小写,比如Reviewing/cancel都会被匹配),可以用更简洁的公式:
=FILTER(Projects!$A$2:$P$51, ISNUMBER(SEARCH({"completed","canceled","review"}, LOWER(Projects!$E$2:$E$51))) )
公式说明:
{"completed","canceled","review"}:作为数组传递给SEARCH,同时检查文本是否包含这三个关键词的任意一个ISNUMBER(SEARCH(...)):返回布尔值数组,只要包含其中一个关键词就返回TRUE- 由于使用了LOWER,完全消除大小写影响,比如
COMPLETED/Rev都会被匹配
内容的提问来源于stack exchange,提问作者s_cee
相关产品推荐
相关产品推荐

