谢邀,这是个非常常见的需求,解决起来也非常容易。下面用分别用excel和python演示一下如何操作。

先建立了一个和题主工作簿类似的甲乙两个excel文件,每个文件包含3个sheet,其实不管几个文件,几个sheet,操作都是一样的。

先看下用excel怎么做

新建一个文件,依次选择“数据”-“新建查询”- “从文件”-“从文件夹”,然后选择待合并的文件所在文件夹。

在弹出话框中依次点击“合并”和“合并和编辑”,然后点击“示例文件参数1”-“确定”

按住CTRL同时选中Source.Name与Data这两列,删除其他列。

然后将数据展开。

因为题主的表第一行都有个标题,所以要除第一行。跳出对话框中输入1,按确定。

再将第一行用作标题。

点击序号边的筛选按钮,筛选掉重复的标题行。

给显示“甲”、“乙”这列改个名,比如“来源”。

加载为连接。至此,拼合多张表的工作已经完成。接下来统计各课程数量。

依次点击“插入”-“数据透视表”,然后选择刚刚加载的查询,“打开”并“确定”。

依次把字段“微课类型”、“来源”、“课件数量”拖放至“行”“列”“值”便轻松得到统计结果。

python做起来会更容易一点

十来行代码就可以出结果了。代码如下

import pandas as pd

from pathlib import Path

def read_sheet(file, sheet):

df = pd.read_excel(file, sheet, skiprows=1)

df['来源'] = file.name

return df

path = Path('f:/workbooks')

df = pd.concat((

read_sheet(file, sheet)\

for file in path.iterdir()\

for sheet in range(3)\

))

df.pivot_table(values='课件数量', index='微课类型', columns='来源', aggfunc=sum)

希望可以帮助到你。

声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。