excel列转行疑问

假设共有15组序号从1到10的数字,从上到下排列。(如图1)
现在希望变成所有序号为1的数字按之前从上到下的顺序从左到右排列,然后序号为2的数字在下一行,以此类推(如图2)
请问如何可以办到?若不是15组,而是更多组k组数(K基本是几百的数量级),每组数序号是从1到n(n也是几百数量级的数)呢?
求详细解答,给分了谢谢!

PS:别说选择性黏贴什么的,那是少数数据时才有用。这里是处理很多数据用来画图的,黏贴会贴死的,谢了。
求详细解答。
之前搜到都是要用宏编辑,但是语句我不会,看了别人的貌似和自己的不大一样,sorry了,求达人点化。

大家真的都好厉害,至少有四个解法了!我真是太菜了。想把分给每一个帮我解决问题的大牛,但是貌似不行,所以只能选一个了,望见谅啊。谢谢大家!!

假设A1是“序号”,B1是“数值”,重排“数值”从C2开始

C2公式:=INDEX($B:$B,SMALL(IF($A:$A=$A2,ROW($A:$A),4^8),COLUMN(A1)))

按ctrl +shift +enter结束编辑。右拉公式填充至k+2列,再下拉填充至n+1行

追问

有一点没有看懂,请问4^8是什么意思?因为最终处理的数据是几百组,每组几百个数据,所以怕不弄懂的话还是不行,谢了,求解释~

追答

4^8是4的8次方,即65536,只是让它代表一个非常大的数(一般数据量达不到的数,这样在取第几个最小值时取不到它。在本题中最多取第n个最小值,才几百而已),也可以用更大的数表示,如:10^9

追问

方法可行,就是函数偏复杂了些,额呵呵,我这个脑子不够用啊……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-22

我提供个简单的方法

假如你的基础数据在a列为序号,b类为数字,含标题

在d2里输入=INDIRECT("b"&COLUMN(A2)*10-(10-ROW(A2)))

下拉至10行,右拉至没有数据,即可

也可以复制-选择性粘贴-数值,到其他需要的地方

效果图:

追问

这个方法果然可行,谢了~

谢谢还做成gif,辛苦了。

第2个回答  2013-03-22



函数解决办法:(用自己的数字做了例子)

1 灰色为原始数据区域,绿色为结果。

2 辅助字段:   A列表示,数字在结果报表中所处的列数,

                B列表示在结果报表中这个数字所处的行和列,如,关键字21,表示数字将位于结果报表中的第2行第1列。其公式:  B3=C3&A3,

3 结果报表,I3=VLOOKUP($H3&I$2,$B:$D,3,) ,拖动公式填充其他

FYI

追问

是转换为可以用vlookup函数的方法么,挺好的,就是稍微复杂了点,依然感谢~

第3个回答  2013-03-22
如果每组数目都是固定的,比如为图中的10 个数,那么C2单元格公式:
=offset($A2,column(A1)*10,1)
向右、向下复制就行了追问

这个方法也非常好,而且是直接从第二组数据开始的

追答

对于固定数目,最简单了。
如果每组20个数,把公式中的10改为20就行了

追问

要说到函数简单,此答案为最简单的可行答案,多谢。

第4个回答  2013-03-22
编写宏也比较费劲,即使是10000组数据,如果每组不超过10个数据,用恰当的复制方法,也会比编程快。
复制方法:
1、先对数据表按A列排序
2、分9次把,下面以2~10开头的数据复制到后面的9列中,并插入一行表头(1、2~10)
3、把上面的表格进行转置就可以得到你要的表格了。转置方法,全部复制,在空表中选择性粘贴,对话框中勾选“转置”,即可追问

我说了,每组要超过几百个数字……
你这个方法不太行呢,呵呵

相似回答