无FILTER函数的Excel文本部分匹配全数据行查询需求
无FILTER函数的Excel实现文本部分匹配查询并返回完整行
针对需求,修改后的公式可同时实现文本部分匹配和无匹配时显示空白的效果,具体方案如下:
最终公式
=IFERROR(INDEX(Sheet1!$A$8:$G$999, SMALL(IF(ISNUMBER(SEARCH($B$3, Sheet1!$C$8:$C$999)), ROW(Sheet1!$C$8:$C$999)-MIN(ROW(Sheet1!$C$8:$C$999))+1, ""), ROW(A1)), COLUMN(A1)), "")
关键修改说明
- 替换精确匹配为部分匹配:将原公式中的
$B$3=Sheet1!$C$8:$C$999改为ISNUMBER(SEARCH($B$3, Sheet1!$C$8:$C$999))SEARCH函数会在C列单元格中查找B3的文本内容,不区分大小写;若需区分大小写,可替换为FIND函数ISNUMBER将查找结果转换为布尔值,找到匹配内容返回TRUE,否则返回FALSE
- 添加错误捕获:用
IFERROR(..., "")包裹整个公式,当无匹配结果或下拉超出匹配数量时,自动显示空白,替代原有的#NUM!错误值
使用注意事项
- 输入公式后,需按Ctrl+Shift+Enter组合键完成数组公式的输入(适用于无动态数组功能的Excel旧版本)
- 将公式放在结果区域的首个单元格(如D8),先向右拖动填充至G列(匹配原数据的列数),再向下拖动填充,直到出现空白即表示已返回所有匹配行
内容的提问来源于stack exchange,提问作者Clint Gebert
相关产品推荐
相关产品推荐

