我有一个Excel时间表表格/矩阵,需要'去规范化'才能准备要在数据透视表中使用的数据。
我的表包含时间表条目,每个单元格代表一个专用于特定任务的15分钟插槽(行=时间段)(列=日期)。
实施例
当前数据
A B C D E .. ..
----------- ----------- ----------- ---------- ---------- -----------
1| 01-Jan-14 02-Jan-14 03-Jan-14 04-Jan-14 .. ..
2| 00:00 task1 task3 task3 task1 .. ..
3| 00:15 task1 task3 task2 task1 .. ..
4| 00:30 task2 task3 task2 task1 .. ..
5| 01:45 task3 task3 task3 task2 .. ..
..
..
期望的结果(在新页面中):
A B C
------------ ----------- ------
1| Date Task Count
2| 01-Jan-14 task1 2
3| 01-Jan-14 task2 1
4| 01-Jan-14 task3 1
5| 02-Jan-14 task3 4
6| 03-Jan-14 task3 2
7| 03-Jan-14 task2 2
8| 03-Jan-14 task1 3
9| 04-Jan-14 task2 1
..
..
请注意,我有固定的行数(时间段)和可变数量的列(尽管我一年中的每一天都有1列 - 闰年会导致某些年份的天数/列数减少)
如果可能的话,我想尽量避免使用VBA,但是如果这些解决方案可以解决我的问题就不会被忽略。
答案 0 :(得分:0)
如果没有VBA,我可以提供以下解决方案:
在您想要的结果中
A2 =INDEX(CurrentData!$1:$1,,(ROW(A1)-1)/4+2)
B2 =INDEX(CurrentData!$2:$5,MOD(ROW(A1)-1;4)+1,(ROW(A1)-1)/4+2)
这些公式中的4必须更改为行数。你的行数为5美元+1。
这应该可以在数据透视表中使用。计数是数据透视表任务。
问候
阿克塞尔