咨询Excel中多公司月度销售额合并求和并生成单图表的方法
高效汇总多公司月度销售数据并生成图表的方法
方案一:用Excel快速处理(适合非编程用户)
- 先统一数据结构:把所有公司的销售数据整理到同一张表,保留三列核心字段:公司名称、年月(务必统一成
YYYY-MM格式,比如2023-01,避免格式混乱)、销售额。不用管各公司起始月份不同,直接把所有行堆叠在一起。 - 插入数据透视表:选中整理好的数据区域,点击「插入」→「数据透视表」,将「年月」拖到「行」区域,「销售额」拖到「值」区域,然后把值字段的汇总方式改成「求和」。透视表会自动把所有公司同月份的销售额加总,缺失数据的月份不会显示(如果需要展示连续月份,右键行标签的年月→「分组」,选择按年月分组,再把空值手动设为0即可)。
- 生成图表:选中透视表的年月和对应的总销售额列,直接插入柱状图或折线图,一键生成汇总图表。
方案二:用Python Pandas自动化处理(适合大数据量/重复需求)
如果数据量很大或者需要定期重复处理,用代码自动化更高效:
- 数据合并与格式统一
读取所有销售数据(单文件多sheet或多文件都可以),合并成一个DataFrame,然后统一日期格式:import pandas as pd # 假设数据存在多个sheet,这里以读取Excel为例 df = pd.concat(pd.read_excel('sales_data.xlsx', sheet_name=None), ignore_index=True) # 把年月列转成日期格式,根据你的实际格式调整format参数 df['month'] = pd.to_datetime(df['month'], format='%Y-%m') - 按月份求和汇总
直接按月份分组计算总销售额:monthly_total = df.groupby('month')['sales'].sum().reset_index() - 补全连续月份(可选)
如果需要展示从最早到最晚的所有连续月份(即使某月份没有销售额),可以生成完整日期序列并补全空值:# 生成从第一个月到最后一个月的所有月度日期 all_months = pd.date_range(start=monthly_total['month'].min(), end=monthly_total['month'].max(), freq='MS') # 重新索引,缺失月份填充0 monthly_total = monthly_total.set_index('month').reindex(all_months, fill_value=0).reset_index() monthly_total.rename(columns={'index': 'month'}, inplace=True) - 生成图表
用Matplotlib快速绘制汇总图表:import matplotlib.pyplot as plt plt.figure(figsize=(12, 6)) plt.plot(monthly_total['month'], monthly_total['sales'], marker='o', linewidth=2) plt.xlabel('月份') plt.ylabel('总销售额') plt.title('各月度销售总额汇总') plt.xticks(rotation=45) plt.tight_layout() plt.show()
关键注意事项
- 无论用哪种工具,统一日期格式是核心,否则同月份会被识别为不同项导致汇总错误。
- Excel中如果需要展示无销售额的月份,在透视表分组后,右键透视表区域→「显示空行」,再把空单元格填0即可。
内容的提问来源于stack exchange,提问作者Henri
相关产品推荐
相关产品推荐

