在线 Excel 编辑器
免费 · 无需注册 · 本地处理

在线关联 Excel 表格 — 免费·无需上传·一键完成

按键列对两个表格执行 Left / Inner Join:自动处理表头重名,无需写 VLOOKUP,关联结果直接下载。无需上传、无需注册,文件留在本地。

文件 A(保留其行的表)

将 .xlsx / .xlsm / .xls 文件拖到这里,或点击选择

本地处理 · 从不上传

文件 B(查找表)

将 .xlsx / .xlsm / .xls 文件拖到这里,或点击选择

本地处理 · 从不上传

连接类型

如何在线关联两个 Excel 表格

  1. 选择文件 A——你希望保留其行的表(例如订单表)。选中后立即在浏览器本地解析。
  2. 选择文件 B——用来补充额外列的查找表(例如客户表)。它与文件 A 相互独立,以同样方式本地解析。
  3. 分别选择两个文件中的工作表(默认各自第一张表)和关键列——双方共有的标识,如 ID、SKU、邮箱或客户编号,默认 A 列;首行为表头时显示为「A — Id」样式。
  4. 首行是列标题时保持勾选「首行为表头」(默认开启,两边共用),再选择连接类型:Left join(默认)保留 A 表全部行;Inner join 仅保留匹配行。
  5. 点击「关联表格」,查看结果报告(输出行数、匹配行数、B 表重复键数),并下载 {name}-joined.xlsx。

工作原理

两个文件都在浏览器内用 SheetJS 打开——每个工作簿被读入内存的行数组,每边各取一张 sheet。B 表按其键列建索引:键先做归一化,Date 统一成 ISO 时间戳(同一时刻不同格式仍相等),空单元格也是合法键,而数字 1 与文本 "1" 视为不同。随后逐行遍历 A 表,每个键到 B 的索引里查找;命中时,把 B 行中除 B 键列以外的所有列拼到 A 的列后面。Left join 保留未匹配的 A 行(对应 B 列留空),Inner join 则丢弃;B 中重复键只用第一次出现的行,其余计入重复键报告。合并后的行按单元格值重建为单个名为 Joined 的 sheet,打包成新的 .xlsx 下载——原始文件始终不被修改。

你的文件从不离开设备——100% 在浏览器内处理。

与 VLOOKUP 和 Power Query 的对比

在 Excel 里按键合并通常有两条路:为每一列手写 VLOOKUP 或 XLOOKUP,或打开 Power Query 走完多步合并向导。本工具居于二者之间——选两张表、各选一个键列,一键即合并。

方式文件去向预期
本工具不上传——浏览器内处理免费、无注册、一键合并、支持批量
VLOOKUP / XLOOKUP 公式留在本机磁盘手动、每公式一列、结果为公式
Power Query留在本机磁盘多步设置、学习曲线较陡

Left Join 与 Inner Join 的区别

假设 A 表(订单)有 3 行,而 B 表(客户)只包含其中 2 个客户键:

A 表 —— 订单(3 行)B 表 —— 客户(2 个键)
A-101 · 客户 C1C1 · Acme Inc.
A-102 · 客户 C2C2 · Beta GmbH
A-103 · 客户 C3
Left join —— 3 行(默认)Inner join —— 2 行
A-101 · C1 · Acme Inc.A-101 · C1 · Acme Inc.
A-102 · C2 · Beta GmbHA-102 · C2 · Beta GmbH
A-103 · C3 ·(空)

Left join 的结果仍有 3 行——A-103 保留,其 B 列留空;Inner join 只有 2 行,因为 C3 不存在于 B 表。输出行始终保持 A 表顺序;即使两个文件排序不同,也能正常匹配。

本工具不提供 right join 和 full outer join。若想保留两边的未匹配行,可以把两个文件互换后再跑一次,然后在编辑器里合并两份结果。

输出列与表头重名规则

输出先放 A 表的全部列,再放 B 表中除关键列外的全部列——B 的关键列已经与 A 键对应,再复制一份只会重复信息。即使 B 关键列位于中间,其两侧的列仍按原顺序进入结果。

当 B 表头与已有列名(按文本比较)重名时会自动改名:第二个追加「 (2)」、第三个追加「 (3)」,如 Name、Name (2)、Name (3)。空表头单元格按列字母(A、B、C……)参与判断,因此 B 表未命名的 B 列跟在 A 表未命名的 B 列之后时会变成 B (2)。

匹配是类型敏感的:数字 1 与文本 "1" 不会匹配,因为 Excel 本身就以不同类型存储它们。日期会先归一化为 ISO 时间戳,因此显示格式不同的同一时刻仍能匹配;空单元格与 null 也是合法键,可以互相匹配。

什么时候需要关联表格

  • 更省心的 VLOOKUP / XLOOKUP 平替:不写任何公式,就能把参照表的整列数据带到业务数据表中。
  • 给订单补客户信息:按客户 ID 把客户名称、分层、国家从客户主数据带到订单导出里。
  • 主数据 enrichment:按 SKU 把产品目录中的品类、价格、供应商信息挂到销售或库存行上。
  • 合并两套系统的导出:用客户或订单键匹配 CRM 与计费记录、问卷答复与受访者名单、分析数据与投放元数据。
  • 按参照表查重:inner join 能立刻告诉你哪些键同时存在于两个文件(left join 则把其余行以空 B 列标出)。

如果某个键在 B 表出现多次,只有第一次出现的行会用于匹配;额外出现不会被悄悄合并,而是在关联完成后计入「B 表重复键」,你可以清理查找表后重新运行。

注意事项

  • 两个文件全部在浏览器本地处理,不上传、不注册。
  • 产物按数值重建:单元格样式、列宽、合并单元格、图表和公式(按最后一次计算值保留)都会被简化。
  • 结果始终只有一个名为 Joined 的工作表;即使输入是旧版 .xls,下载的也是新版 .xlsx。
  • 加密工作簿(打开需要密码)无法读取,请先移除打开密码。
  • A 表中重复出现的同键每一行都会匹配 B 表同一条(首次出现的)记录——A 表一行不丢。

常见问题

这个 Excel 关联工具免费吗?

完全免费,无需注册、没有水印,常规工作簿也没有大小限制。两个文件都在浏览器中处理,从不上传。

left join 和 inner join 有什么区别?

left join 保留 A 表的全部行,没有键匹配时 B 列留空;inner join 只保留键在两边都存在的行。

行是按哪一列匹配的?

按你在两个文件中各自选择的关键列——通常是 ID、SKU、邮箱或客户编号。两边关键列的位置可以不同,行的顺序也无所谓,只要键相同就能匹配。

B 表中某个键出现多次怎么办?

只有该键第一次出现的行会用于所有匹配,之后的出现会被忽略,但会计入「B 表重复键」,方便你发现并清理查找表中的重复数据。

数字 1 能匹配文本 "1" 吗?

不能,匹配是类型敏感的,1 与 "1" 判为不同。日期则会先归一化为 ISO 时间戳,显示格式不同的同一时刻仍能匹配。

B 表的关键列会出现在结果里吗?

不会。输出由 A 的全部列和 B 除关键列外的全部列组成。如果需要键值本身,A 表的关键列已经原样保留。

我的文件会被上传到服务器吗?

不会。解析和关联全部在浏览器中完成,文件从不离开你的设备、不发往外部服务器。

相关工具

想看完整参考?阅读 VLOOKUP 函数用法:语法、示例与常见错误 —— 语法、示例、常见错误和常见问题。

想看完整参考?阅读 XLOOKUP 函数:语法、示例与错误排查 —— 语法、示例、常见错误和常见问题。

想看完整参考?阅读 INDEX MATCH 函数:语法、示例与错误排查 —— 语法、示例、常见错误和常见问题。

关联之后还想清洗或补全数据?

打开免费在线 Excel 编辑器