Excel同一行内容如何把列内容有序排列成不同行行

一个数据源表格,需要保留前面4列内容不变,然后把后面剩下的列按顺序的排成行,列表头跟数值一一对上,图一是数据源表格,图二是处理好的表格,想到做出图二的效果

在Excel同一行的内容按列内容来排列成不同行,可以通过INDEX引用函数来主导,这个主要是牵涉到行列转换算法。
根据你的图片举例,这个公式分为两个部分,第一部分是前面四列数据,第二部分是那十三列数据转换成十三行数据。
第一个公式在A列输入,并向右向下填充,如下:
=INDEX($A$2:$D$3,ROUNDUP(ROW(A1)/13,0),COLUMN(A1))




第二个公式在E列输入,并向下填充,如下:
=INDEX($F$2:$R$3,ROUNDUP(ROW(A1)/13,0),MOD(ROW(A1)-1,13)+1)





思路如下:
INDEX函数三个参数:
1、数据区域(数组),第一个公式是前面四列的所有数据,第二个公式是后面十三列所有数据;
2、位移行数,第一个公式因为我们每十三行后就要加1,所以就用ROUNDUP函数来入行号除13取值。第二个公式同理;
3、位移列数,第一个公式比较简单,直接区COLUMN列序号函数即可。第二个公式则是需要从1到13运行十三列后就要跳行回到起点,因此使用MOD除余函数,因为每运行一轮就会有0出现,所以才加1,我们可以通过F列观看出规律。

追问

您好,感觉你的方法是可行的,我想问下第一个公式在A列输入,A列是有内容的,如果输入这个公式呢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-15
框选区域按ctrl+T按上面的升序追问

这个操作是所选区域建表,怎么升序的呢

追答

点击最上面单元格的小箭头,在出现的窗口左上方有升序和降序

追问

好的,我再试下

第2个回答  2019-08-15
选中整个数据区域,选择自定义排序
同时以标题和日期为条件做升序或降序排列即可
相似回答