在 Excel 中将含有指定数据的行提取到另一个表格,有多种方法,适用于不同场景。以下是最常用且高效的几种方式,结合当前(2026年)主流功能推荐:
一、使用 FILTER 函数(推荐,适用于 Microsoft 365 / Excel 2021 及以上)
这是动态数组函数,自动输出符合条件的所有行,无需手动拖拽公式。
语法:
excel=FILTER(源数据区域, 条件列=指定条件, [未找到时显示的内容])
示例:
假设源数据在Sheet1!A1:D100,想提取“产地”为“宜昌”的所有行:excel=FILTER(Sheet1!A1:D100, Sheet1!C:C="宜昌", "无匹配数据")
结果会自动填充到新表中,包括标题行(若源数据包含)6。
✅ 优点:自动更新、支持多条件、简洁高效。
❌ 缺点:仅适用于较新版本的 Excel。
二、使用 Power Query(适合大数据或需自动化处理)
适用于数千条数据,支持复杂筛选、清洗和自动刷新。
操作步骤:
选中源数据任意单元格 → 点击 数据 选项卡 → 获取数据 → 从表格/区域。
在 Power Query 编辑器中,点击目标列(如“产地”)的筛选器 → 选择指定值(如“宜昌”)。
点击 关闭并上载 → 数据将提取到新工作表6。
源数据更新后,右键新表 → 刷新 即可同步结果7。
✅ 优点:支持自动刷新、可处理百万行数据、支持多表合并。
❌ 缺点:学习曲线略高。
三、使用 VLOOKUP / XLOOKUP(适用于提取特定列的匹配值)
若需根据某个关键字段(如 ID、姓名)从源表查找对应信息到目标表:
VLOOKUP 示例(跨表查找):
excel=VLOOKUP(A2, [源文件.xlsx]Sheet1!$A$1:$D$100, 2, FALSE)
表示在源表的 A1:D100 范围内查找 A2 的值,并返回第 2 列(即 B 列)对应内容111。
XLOOKUP(更灵活,推荐用于 Microsoft 365):
excel=XLOOKUP(A2, 源表!A:A, 源表!B:B, "未找到", 0)
支持任意方向查找,比 VLOOKUP 更强大5。
✅ 优点:精准匹配、适合小规模提取。
❌ 缺点:只能逐列提取,不能直接提取整行。
四、手动复制粘贴(仅适合少量数据)
选中源数据 →
Ctrl + C→ 切换到目标表 →Ctrl + V212。若需筛选后复制,可先使用 自动筛选 或 高级筛选 功能。
总结建议
| 最新版 Excel + 动态提取整行 | FILTER 函数 |
| 大数据 + 自动化 + 多次刷新 | Power Query |
| 根据唯一键查找特定列值 | XLOOKUP(或 VLOOKUP) |
| 一次性简单复制 | 复制粘贴 |
如需详细操作演示,可参考官方教程:
Microsoft 支持 - 使用 FILTER 函数
Microsoft 支持 - Power Query 入门
