![MS Excel - 如何对我的数据建模以生成按产品和月份(逐年)细分的图表?](https://linux22.com/image/1598014/MS%20Excel%20-%20%E5%A6%82%E4%BD%95%E5%AF%B9%E6%88%91%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BB%BA%E6%A8%A1%E4%BB%A5%E7%94%9F%E6%88%90%E6%8C%89%E4%BA%A7%E5%93%81%E5%92%8C%E6%9C%88%E4%BB%BD%EF%BC%88%E9%80%90%E5%B9%B4%EF%BC%89%E7%BB%86%E5%88%86%E7%9A%84%E5%9B%BE%E8%A1%A8%EF%BC%9F.png)
我的原始数据中只有一列日期。日期范围从 2018 年到 2018 年。我有多个产品,每行代表一笔销售交易。每个产品有多笔交易。
我该如何在数据透视表中设置两列,一列表示 2018 年,另一列表示 2019 年的日期?这可能吗?
我之所以要这样做,是为了能够创建一个并排显示 2018 年和 2019 年日期值的透视条形图。例如 2018 年 1 月、2019 年 1 月、2018 年 2 月、2019 年 2 月等的销售数量。最好的方法是什么?
PS. 我有数千行的数据。
此外,我想显示上述日期的多种产品的销售数量,例如 2018 年 1 月与 2019 年 1 月、2018 年 2 月与 2019 年 2 月等。我该如何将其添加到数据透视条形图中?如果您能就如何最好地重塑我得到的数据提出建议,我将不胜感激。
我的原始数据
我希望我的图表是什么样的。除此之外,我还想对每种产品进行细分,这样我就可以看到同比趋势:
我设法在网上找到了一个关于我希望图表看起来如何的示例,因此我假设我的枢轴也需要看起来像这样:
答案1
我无法轻松访问 Excel,因此我在 LibreOffice Calc 中粗略地编写了一些涵盖基础知识的内容。
日期和数量列取自您的示例。我添加了一些辅助列,以便以简单的方式按您的需要组织数据。
月份列从日期中提取月份数字。C2:
=MONTH(A2)
年份列从日期中提取年份。D2:
=YEAR(A2)
如果您希望按正确顺序绘制月份,月份编号可以实现这一点。月份名称将按字母顺序绘制,因此数据透视表基于月份编号。但是,您仍然希望使用月份名称来标记图表。
有几种方法可以获取月份名称。E 列包含一种方法(如果使用另一种方法则不需要)。E2:
=TEXT(A2,"mmm")
这只是将日期格式化为仅显示月份缩写。当您从数据透视表结果中绘制图表时,您希望将月份名称与数据透视表中的月份编号相关联,该月份编号显示在 G 列中。要为此使用 E 列,G3 将包含:
=VLOOKUP(H3,$C$2:$E$7,3)
这只是查找值的一种方法。VLOOKUP 在数据的“月份”列中的数据透视表中查找月份数字,并从 E 列中提取第一个匹配项的月份名称。
另一种方法不需要 E 列。它只翻译月份数字:
=CHOOSE(H3,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
CHOOSE 使用月份数作为索引从列表中选择月份名称。月份数为“N”时会选择列表中的第 N 个名称。
对于数据透视表,选择“数量”、“月份”和“年份”列作为源数据。在数据透视表对话框中,将“年份”拖到“列”窗口,将“月份”拖到“行”窗口,将“数量”拖到“值”窗口(确认聚合方法设置为“总和”)。这样您就可以组织好用于绘制图表的数据。
我已经很久没有在 Excel 中绘制图表了。我记得在定义数据范围时,您可以选择轴标签的月份名称。LO Calc 不这样做。对于我的示例图表,我省略了轴标签,添加了轴标题,并将月份名称放在标题中,并留出间距以对齐所有内容。