在 Excel 中将含有指定数据的行提取到另一个表格

admin|
37

在 Excel 中将含有指定数据的行提取到另一个表格,有多种方法,适用于不同场景。以下是‌最常用且高效的几种方式‌,结合当前(2026年)主流功能推荐:


一、使用 FILTER 函数(推荐,适用于 Microsoft 365 / Excel 2021 及以上)

这是‌动态数组函数‌,自动输出符合条件的所有行,无需手动拖拽公式。

  • 语法‌:

    excel=FILTER(源数据区域, 条件列=指定条件, [未找到时显示的内容])
  • 示例‌:
    假设源数据在 Sheet1!A1:D100,想提取“产地”为“宜昌”的所有行:

    excel=FILTER(Sheet1!A1:D100, Sheet1!C:C="宜昌", "无匹配数据")

    结果会自动填充到新表中,包括标题行(若源数据包含)‌6

✅ 优点:自动更新、支持多条件、简洁高效。
❌ 缺点:仅适用于较新版本的 Excel。


二、使用 Power Query(适合大数据或需自动化处理)

适用于‌数千条数据‌,支持复杂筛选、清洗和自动刷新。

  • 操作步骤‌:

    1. 选中源数据任意单元格 → 点击 ‌数据‌ 选项卡 → ‌获取数据‌ → ‌从表格/区域‌。

    2. 在 Power Query 编辑器中,点击目标列(如“产地”)的筛选器 → 选择指定值(如“宜昌”)。

    3. 点击 ‌关闭并上载‌ → 数据将提取到新工作表‌6

    4. 源数据更新后,右键新表 → ‌刷新‌ 即可同步结果‌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 入门