Excel(或VBA)条件转置行
我有一个数据集,在列标题中有几个月,我想根据目前的月份复制行。 我遇到的一个问题是自动化,因为用户不断被添加/删除。
UserID User State Jan($) Feb ($) Mar ($) .... Dec ($) 111 AAA CT $55 $100 $125 $100 112 BBB NJ $50 $34 $125 $125 113 CCC NV $55 $100 $125 $155 114 DDD VT $95 $108 $75 $199 115 EEE NJ $20 $100 $125 $120
示例输出:
UserID User State Month Spend 111 AAA CT Jan $55 111 AAA CT Feb $100 111 AAA CT Mar $125 111 AAA CT Apr $80 111 AAA CT May $70 . . . 115 EEE NJ Nov $50 115 EEE NJ DEC $120
对于一个公式答案:
对于前三列:
在第一列的第一个单元格中,您需要您的数据,我的是A11:
=INDEX(A:A,QUOTIENT(ROW(1:1)-1,12)+2)
本月:
复制两列,然后复制下来。
在你想要数据的第四列的第一个单元格中,我的是D11:
=CHOOSE(MOD(ROW(1:1)-1,12)+1,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
然后复制下来。
对于金额:
在你想要数据的第五列的第一个单元格中,我的是E11:
=INDEX($A:$O,QUOTIENT(ROW(1:1)-1,12)+2,MOD(ROW(1:1)-1,12)+4)
然后复制下来。
你没有说Access,但是这是如何在Access中完成的。 我不认为一个Excel数据透视表可以做到这一点…?
您需要sorting – 与交叉表查询相反。
联合查询这样做。
看看这个例子是否让你朝着正确的方向前进。