如何在Excel中处理多xlsx文件:指定列排序并合并保存为单文件
批量提取多Excel文件指定列并合并排序的解决思路
方法一:用Excel内置Power Query(纯Excel操作,无编程基础也能搞定)
- 把所有待处理的xlsx文件放到同一个文件夹里,确保所有文件里要提取的列名称完全一致
- 打开空白Excel文件,切换到「数据」选项卡,点击「获取数据」→「自文件」→「自文件夹」
- 选择目标文件夹后点击「确定」,在预览界面点击「编辑」进入Power Query编辑器
- 点击「添加列」→「自定义列」,输入公式:
=Excel.CurrentWorkbook(){[Name="表1"]}[Content](如果你的工作表不是默认的「表1」,替换成实际工作表名),点击确定 - 点击自定义列右侧的展开箭头(两个向外的箭头),只勾选你需要提取的列,点击确定
- 选中要排序的列,点击编辑器顶部「开始」选项卡的「排序升序/降序」按钮
- 点击「关闭并上载」,处理好的数据会导入当前Excel,最后保存这个文件即可
方法二:用Python脚本(批量处理更高效,适合愿意尝试简单编程的用户)
- 先安装依赖库:打开命令提示符(CMD),输入
pip install pandas openpyxl回车等待安装完成 - 创建一个名为
excel_merge.py的文件,复制以下代码:
import pandas as pd import os # 替换成你的文件所在文件夹路径 folder_path = "C:/Users/xxx/Desktop/Excel文件" # 替换成你要提取的列名,比如["姓名", "业绩"] target_columns = ["列名1", "列名2"] # 替换成你要用来排序的列名 sort_column = "列名1" merged_data = pd.DataFrame() # 遍历文件夹里的所有xlsx文件 for filename in os.listdir(folder_path): if filename.endswith(".xlsx"): file_path = os.path.join(folder_path, filename) # 只读取指定列 df = pd.read_excel(file_path, usecols=target_columns) # 合并数据 merged_data = pd.concat([merged_data, df], ignore_index=True) # 按指定列排序(ascending=True是升序,False是降序) merged_data = merged_data.sort_values(by=sort_column, ascending=True) # 保存结果到新文件 merged_data.to_excel("合并排序结果.xlsx", index=False)
- 修改代码里的
folder_path、target_columns、sort_column为你的实际信息,运行脚本后,脚本所在文件夹会生成「合并排序结果.xlsx」
内容的提问来源于stack exchange,提问作者RonyKing Sourcing INC
相关产品推荐
相关产品推荐

