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

如何通过查询合并宏启用Excel密码保护文件中多表并拆分至对应工作表

处理带密码保护的Excel文件批量合并与表格拆分方案

一、解除工作表密码保护(未知密码)

  • 仅工作表结构保护的情况:把文件后缀改成.zip,解压后找到xl/worksheets/目标工作表.xml,删除里面的<sheetProtection>整段代码,重新打包改回.xlsm后缀,就能编辑工作表内容了。
  • 若为文件打开密码:需用Excel密码破解工具(如PassFab Excel Recovery)破解,注意确保操作合规,拥有文件的操作权限。

二、用Power Query批量导入所有文件数据

  1. 新建空白Excel,点击「数据」→「获取数据」→「从文件」→「从文件夹」,选中存放所有目标文件的文件夹,点「确定」后选择「转换数据」进入Power Query编辑器。
  2. 添加自定义列,输入公式:Excel.Workbook([Content], true),展开该列的「Data」项,只保留你需要的那个同名工作表的数据。
  3. 此时已获取所有文件的原始数据,接下来处理同一列中的6个表格拆分。

三、拆分同一列中的6个表格

根据表格的分隔方式选择对应方法:

方法1:表格有明确标题标识(如「表格1」「表格2」)

  • 添加自定义列,用公式标记每行所属表格:
    = if Text.StartsWith([你的列名], "表格1") then "表格1"
      else if Text.StartsWith([你的列名], "表格2") then "表格2"
      else if Text.StartsWith([你的列名], "表格3") then "表格3"
      else if Text.StartsWith([你的列名], "表格4") then "表格4"
      else if Text.StartsWith([你的列名], "表格5") then "表格5"
      else if Text.StartsWith([你的列名], "表格6") then "表格6"
      else null
    
  • 选中该自定义列,点击「转换」→「填充」→「向下填充」,让每一行都带上所属表格的标记。
  • 筛选掉标记为null的行,同时筛选掉包含「填写说明/请添加更多行」的文本行,保留编号1-5的空白响应行。
  • 按自定义的表格标记列进行分组,每组对应一个独立表格的数据。

方法2:表格是固定行数的区块

如果每个表格包含固定行数(比如每个表格含标题+5行响应,共6行):

  • 添加索引列(从0开始),再添加自定义列计算所属表格:
    = "表格" & Number.ToText(Number.IntegerDivide([索引], 6) + 1)
    
  • 后续操作同方法1:向下填充标记、筛选无效行、分组数据。

四、导出分组数据到对应工作表

  1. 选中分组后的某一组数据,点击「关闭并上载」→「关闭并上载至」,选择「仅创建连接」并勾选「加载到工作表」,指定工作表名称(如「表格1汇总」)。
  2. 重复上述操作,将6组数据分别加载到6个独立的工作表中。
  3. 最后检查每个工作表,确认空白响应行(编号1-5)都被保留,无说明类文本。

内容的提问来源于stack exchange,提问作者Yan Tung Chi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:19:54