反规范化表格数据-Excel函数
我有一个Excel时间表/矩阵,需要“非标准化”,以便准备数据用于数据透视表 我的表格包含时间表条目,每个单元格表示一个15分钟的时间段,专用于特定任务行=时间段列=日期 例如: 当前数据反规范化表格数据-Excel函数,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有一个Excel时间表/矩阵,需要“非标准化”,以便准备数据用于数据透视表 我的表格包含时间表条目,每个单元格表示一个15分钟的时间段,专用于特定任务行=时间段列=日期 例如: 当前数据 A B C D E .. .. ----------- ----------- ----------- ---------- ---------- ----------- 1|
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
..
..
请注意,我有固定的行数、时隙和可变的列数,尽管我在闰年的每一天都有一列,但在某些年份会导致更少的天/列
我希望尽可能避免VBA,但是,如果这些解决方案可以解决我的问题,则不会忽略这些解决方案。如果没有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
这应该在透视表中可用。计数是数据透视表的任务
问候
Axel编辑:应该使用默认的英文列表分隔符非常感谢-稍微调整一下,使其与我的实际工作表和行数以及起始位置都与示例不同。但是你的解释起了作用。非常感谢。