
大家好,本期我们来解决一个常见的实际问题:如何在Excel中根据指定关键词,在某一列中进行模糊查找,并一次性提取出所有包含该关键词的对应数据。
本文将通过一个简洁高效的公式方案来实现这一目标。
公式说明
以下是适用于大多数场景的通用公式:
=IF(搜索词="","",INDEX(源数据列,SMALL(IF(ISERROR(SEARCH(搜索词,源数据区域)),大于源数据区域最大行号的数值,ROW(源数据区域)),ROW(A1)))&"")
⚠️ 注意:该公式为数组公式,输入完毕后需按 Ctrl + Shift + Enter 组合键确认(Excel 365或新版Excel中部分情况可自动识别,但为兼容性建议仍使用三键确认)。
清理、标准化、验证并汇总杂乱的 Excel 工作簿。当 Codex 需要处理 `.xlsx`、`.xls`、`.xlsm` 或 `.csv` 格式的数据时使用,包括:统一表头格式、删除空白行与空白列、修剪文本内容、去重记录、检测数据质量问题、拆分或合并工作表、生成清洗后的工作簿,以及为业务电子表格生成审计摘要。
公式参数说明:
-
搜索词:指代关键词所在的单元格,推荐使用绝对引用(如
$E$2); -
源数据列:即最终要返回结果的列(如
B:B),用于INDEX提取内容; -
源数据区域:参与搜索判断的范围(如
$B$3:$B$11),必须使用绝对引用; -
大于源数据区域最后一行的数字:例如源数据最多到第11行,则此处可填
1000或9999等足够大的数,确保其大于区域内任意行号,用以屏蔽不匹配项。
本例中,具体公式如下:
=IF($E$2="","",INDEX(B:B,SMALL(IF(ISERROR(SEARCH($E$2,$B$3:$B$11)),1000,ROW($B$3:$B$11)),ROW(A1)))&"")
操作步骤:
- 在首个结果单元格(如
F3)中输入上述公式,并按 Ctrl+Shift+Enter; - 将该单元格向下拖拽填充至足够行数(如
F3:F20),以便显示全部匹配项; - 在关键词输入框(
$E$2)中输入任意关键词,下方即可动态列出所有含该关键词的原始数据。
本期内容就到这里,欢迎在评论区留言探讨更多用法或提出疑问。

















