You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于关键字列合并两个Excel工作表并拼接数据的无宏实现方案

基于关键字列合并SQL源Excel表的无宏刷新方案

核心思路

用Excel内置的**Power Query(获取和转换)**实现,直接对接SQL数据源完成合并,全程无需宏,支持一键刷新获取最新数据。


步骤1:导入SQL数据到Power Query

  • 打开Excel,切换到「数据」选项卡 → 点击「获取数据」→ 选择对应SQL数据库类型(如SQL Server/MySQL)
  • 输入服务器地址、数据库名称,选择要导入的第一张表,点击「加载到」→ 选择「仅创建连接」并勾选「添加到数据模型」,重复此操作导入第二张表
  • 进入Power Query编辑器:点击「数据」→ 「现有连接」→ 选中任意一个SQL连接 → 点击「编辑」

步骤2:合并两个数据源

  • 在Power Query编辑器中,选中第一张表的查询,点击「主页」→ 「合并查询」→ 「合并查询作为新查询」
  • 在合并配置框中:
    • 上方选择第一张表,选中「Key Col」列
    • 下方选择第二张表,同样选中「Key Col」列
    • 连接类型选择完全外部(保留两边所有Key值,适配单边有数据的场景)
    • 点击「确定」生成新的合并查询

步骤3:整合非空数据

  • 点击合并列右侧的展开箭头,勾选需要整合的目标列(如示例中工作表2的Column C),取消「使用原始列名作为前缀」
  • 对于需要取非空值的列(比如优先保留工作表1数据,无数据则用工作表2的),添加自定义列:
    点击「添加列」→ 「自定义列」,输入Power Query公式:
    = Coalesce([工作表1_Column B], [工作表2_Column C])
    
    Coalesce函数会自动返回第一个非空值,适配多列非空整合需求,Excel 365/2021及以上支持;旧版可改用if判断:if [工作表1_Column B] <> null then [工作表1_Column B] else [工作表2_Column C]
  • 删除不需要的原始列,整理最终列顺序

步骤4:加载数据并设置刷新

  • 点击「主页」→ 「关闭并上载」,将合并后的数据加载到新工作表
  • 刷新数据:切换到「数据」选项卡,点击「全部刷新」,Power Query会自动从SQL拉取最新数据并重新执行合并逻辑

注意事项

  • 旧版Excel(2016及以前)中Power Query名为「获取和转换」,操作逻辑一致
  • 确保SQL数据库连接权限正常,刷新时需保持网络连通
  • 可根据实际需求调整合并连接类型:仅保留两边共有的Key选「内部」,保留第一张表所有Key选「左外部」

内容的提问来源于stack exchange,提问作者Akav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 13:25:50