重新排列已有EXCEL表格

问题描述:

重新排列已有EXCEL表格
现有EXCEL表是:
地区 00年 01年 02年,
地区A 值1 值2 值3.
地区B 值4 值5 值6.
....
我想调成:
地区A00年 值1
地区A01年 值2
地区A02年 值3
地区B00年 值4
地区B01年 值5
..
请问应该怎么调整,
1个回答 分类:综合 2014-11-23

问题解答:

我来补答
假设数据在A1:E4,地区有3个,年份有4年.
在A8输入公式:
=INDEX($A$2:$A$4,INT((ROW(A1)-1)/4)+1)
下拉填充.
 
在B8输入公式:
=INDEX($B$1:$E$1,MOD(ROW(A1)-1,4)+1)
下拉填充.
 
在B8输入公式:
=INDEX($B$2:$E$4,INT((ROW(A1)-1)/4)+1,MOD(ROW(A1)-1,4)+1)
下拉填充.
 
详见附件.
再问: 非常漂亮的算法,对函数能简单解释一下么
再答: index函数是对某一区域按参数1和参数2的值分别取对应的行和列交叉处的引用。如果是单行或单列,就是引用该行或该列的第几个。 INT((ROW(A1)-1)/4)+1这个产生一个数组:{1;1;1;1;2;2;2;2;3;3;3;3}这是根据你的新的排列的规律来产生的。 而=INDEX($A$2:$A$4,INT((ROW(A1)-1)/4)+1)这个公式就是对A2:A4按这个{1;1;1;1;2;2;2;2;3;3;3;3}依次取值。 同理,MOD(ROW(A1)-1,4)+1是产生数组:{1;2;3;4;1;2;3;4;1;2;3;4} 这两个数组都是经常用到的,可以记下来。
 
 
展开全文阅读
剩余:2000