我应该如何设计Excel Pivot Tables易于使用的时间序列数据?


0

我有一个Excel电子表格,其中包含以下几种形式的日常数据:

Date       | Category1   | Category 2  | ...   | Category30
------------------------------------------------------------
dd/mm/yyyy |  value      |  value      | ...   |  value 
...        |  ...        | ...         | ...   | ...
------------------------------------------------------------

我还有一个下表中的列表,其中第一个表中的每个类别都分配了五个类型描述中的一个:

| Type  | Category   |
----------------------
| Type1 | Category1  |
| Type2 | Category2  | 
| Type2 | Category3  | 
| ...   | ...        | 
| Type5 | Category30 |
----------------------

我希望能够使用数据透视表组织和汇总这些数据,并使用数据透视表绘制时间序列。但是,由于数据的制表方式,我无法按类别,类型或连续月份对它们进行分组(我有兴趣按月/年绘制数据,而不是将它们按年份分组)。

如果我按照下表中的顺序排序数据,那么我的所有问题都将得到解决,但是我会将多个列的值重复多次,因为有类别(我非常反对重复数据):

Date        | Year  | Month  | Day  | Type    | Category    | Values
--------------------------------------------------------------------------
date(i)     | yyyy  | mmm    | dd   | Type(j) | Category(k) | value(i,j,k)
--------------------------------------------------------------------------

我的问题是,我应该如何设计我的表,以便我可以使用数据透视表快速处理数据而无需复制所有其他信息?

Answers:


5

要使数据透视表按预期工作,您必须像数据库一样排列数据:行是记录,列是提供该记录信息的字段。

首先,根据我对情况的理解,有几个列包含特定日期的多个值。这意味着将许多记录(值)塞进一条记录中。根据定义,为不同类别设置多个列会阻止您在数据透视表中有意义地使用此数据。

如果您可以永久修改源数据,这里是建议的布局:

 | Date       | Category | Value
 | 01/01/2011 | 1        | x
 | 01/01/2011 | 2        | y
 | 01/01/2011 | 25       | z
 | 01/02/2011 | 1        | x

您可以使用VLOOKUP公式附加TYPE,该公式为您的类别提取正确的类型,以避免重复并自动反映TYPE表中的任何更改。 (请注意,这假定您的类型表中的反转列:用于VLOOKUP的CATEGORY | TYPE)

 | Date       | Category | Type                           | Value
 | 01/01/2011 | 1        | VLOOKUP(B2, 'TypeTable', 2, 0) | x
 | 01/01/2011 | 2        | VLOOKUP(C2, 'TypeTable', 2, 0) | y
 | 01/01/2011 | 25       | VLOOKUP(D2, 'TypeTable', 2, 0) | z
 | 01/02/2011 | 1        | VLOOKUP(E2, 'TypeTable', 2, 0) | x

这样的表将包含许多行,但是将其提供给数据透视表将允许您以各种方式操作它:按日期,按类别,按类型。

实际上,您的源数据将是数据透视表的一个很好的结果,它按日期汇总值,并在类别上添加列标签!并且上帝知道很难获取数据透视表结果并将其转换回可以用于制作另一个数据透视表的数据。解决方案包括手工劳动,宏或一堆中间公式。

希望有所帮助。


2
+1,很棒的答案@mtone。您关于源数据的最新评论是一个很好的支点结果。 @Ricardo,你说你不想复制数据但是要使数据透视表工作,这是必要的。您可以更灵活地操作数据,但会牺牲重复数据。您可以找到解除源数据的说明 这里
Mike Fitzpatrick

我同意我的源数据实际上是数据透视表的好结果!这与我无法想出一种以有意义的方式对数据进行分组的简单方法一起使我考虑了创建适当数据库的好处。我目前正在重新安排数据的一半,到目前为止(除了不可避免的大量行)事情看起来很好。谢谢!
Ricardo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.