怎样将Excel中的竖排数据变成横排数据?

如图,竖排数据只有一列,总共有几千行,基本上都是4到6行留有一行空行隔开,我的问题是怎样转换成如图右边一样一行一行排下去,并且首个数据对齐,因为数据量比较多,简单的复制选择性粘贴转置只是把数据变成一行了,没有遇到空格换行,请看清我的意思回答,谢谢!

如图C2输入:

=IFERROR(OFFSET($A$1,SMALL(IF($A$1:$A$10000="",ROW($1:$10000)),ROW(A1))-1+IF(SMALL(IF($A$1:$A$10000="",ROW($1:$10000)),ROW(A2))-SMALL(IF($A$1:$A$10000="",ROW($1:$10000)),ROW(A1))>COLUMN(A$1),COLUMN(A$1),""),),"")

鼠标点击编辑栏,ctrl+shift+回车,右拉后下拉。(注:A1必须置空)

追问

我的数据里面如果有1000行,是不是你这公式里的23改成1001,22改成1000,其他不变对不对

追答

10000大于1000,不改也行,只是会增加电脑内存消耗,如果只有1000行改成1100吧,没关系,先前的回答已修改,用现在的方法和公式

追问

刚开始第一行忘记留一个空行了,试了好几次不行,后来看了几遍你这动画,加了一行空行就行了,完美解决。多谢了兄弟!

追答

又稍微简化了一下公式你看看

追问

我看错了,我的数据都快两万多条了,拉到6000多行的时候电脑就卡的不行了,只能分成几段处理了,不过这样也不知道方便多少了

追答

早知道你是实用型提问,给你几句代码就可一键完成,比编写公式省事多了,你也就省事多了

追问

一看你就是高科技牛人,我最佩服你这样的人才了,可惜只能给一个赞,哈哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-10

B列建立辅助列

B1=COUNTIF($A$1:A1,"")

下拉

=INDEX($A:$A,SMALL(IF($B$1:$B$100=ROW(A1),ROW($A$1:$A$100),65536),COLUMN(A1)))&""

数组公式,同时按CTRL SHIFT 回车键,然后右拉下拉

第2个回答  2019-05-09
选中竖排数据,然后右击选择性粘贴,最下面的转置划勾
第3个回答  2019-05-10
复制竖排数据,单击右键——选择性粘贴,选择转置
第4个回答  2019-05-10
需要文件,把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删),excel样表文件(把现状和目标效果表示出来,并说明如何从现状到的目标效果)作为附件发到[email protected]帮你看下
相似回答