EXCEL表格两列数据快速分成多列,如图是两列整体的数据,有没有什么方法可以把两列数据分成六列?

A列标题和B列电话要对应。

用技巧可实现。

1、按下图输入内容,选中后下拉右拉到合适位置。


2、

3、按F5定位空值,删除空白单元格,下方单元格上移。


4、按CTRL+H,查找 > 替换为 =  ,全部替换。

5、删除多余的部分单元格,完成操作。

追问

我把>换成=了,貌似也行呢

追答

如果一开始直接用=,相当于直接引用公式,导致下一步拉不出系列来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-16

如下图,在C1中输入公式

=OFFSET($A$1,MOD(ROW(A11),11)+INT(COLUMN(B1)/2)*11-11,MOD(COLUMN(B1),2))

回车确认后右拖、下拉填充。

追问

我操作以后为什么会有大量重复数据呢????

追答

可以考虑将表格发过来看看。

追问

我一共是36组数据,拉成六列就会重复,而且数据之填充到33.拉成8列数据能填充完毕,但是继续还是会重复。没有数据了不应该是填充0吗,我完全不懂。

追答

不明白你所讲的“36组数据”、“拉成6列”等说法是一个什么概念,至于是不是会重复,你从我发的图片上可以看出来。
给出的公式遇到没有数据时会填充0,但这种情况可以在公式中进一步处理。

追问

抱歉,我描述的很不专业。我发的三张图片能看见吗?我一共输入了A和B两列数据来运行公式的,一共是36行。我把公式复制进C1然后横向拉倒H不是一共6列吗,然后再向下填充,但是数据只能填充到A33然后下面就又是重复填充了。如果横向填充到J列不就是8列了吗。数据可以填充到A36,但是填充完毕后再继续向下填充数据就还是重复了。

追答

这是有更多数据时的效果图。

追问

数据下拉只能到A11行吗,超过A11就会重复了,能调整吗?

追答

这是以每列11行为标准写的公式,满11行后,多余的数据进入下一列,再满11行,再进入下一列……当然也就能够酌情调整了。

追问

我只要六列就可以了,可以写个没有行限制的公式吗?数据不重复的

我只要六列就可以了,可以写个没有行限制的公式吗?数据不重复的

追答

C1中的公式是

=OFFSET($A$1,MOD(ROW(INDIRECT("A"&ROUNDUP(COUNTA($A:$A)/3,)+ROW(A1)-1)),ROUNDUP(COUNTA($A:$A)/3,))+INT(COLUMN(B1)/2)*ROUNDUP(COUNTA($A:$A)/3,)-ROUNDUP(COUNTA($A:$A)/3,),MOD(COLUMN(B1),2))

是这样的效果吗?!

追问

太厉害了,就是这样的效果,要是数据填充完事不重复,直接是0就更好了。

追答

=IF(OR(OFFSET($A$1,MOD(ROW(INDIRECT("A"&ROUNDUP(COUNTA($A:$A)/3,)+ROW(A1)-1)),ROUNDUP(COUNTA($A:$A)/3,))+INT(COLUMN(B1)/2)*ROUNDUP(COUNTA($A:$A)/3,)-ROUNDUP(COUNTA($A:$A)/3,),MOD(COLUMN(B1),2))="",ROW(A1)>ROUNDUP(COUNTA($A:$A)/3,)),"",OFFSET($A$1,MOD(ROW(INDIRECT("A"&ROUNDUP(COUNTA($A:$A)/3,)+ROW(A1)-1)),ROUNDUP(COUNTA($A:$A)/3,))+INT(COLUMN(B1)/2)*ROUNDUP(COUNTA($A:$A)/3,)-ROUNDUP(COUNTA($A:$A)/3,),MOD(COLUMN(B1),2)))

本回答被提问者采纳
第2个回答  2017-02-16
你这就是复制、粘贴的呀,可以一次复制A、B两列,选中CDEF四列后一次性粘贴就好了。追问

答非所问,我的意思是把AB两列整体的数据均分位六列,而不是复制粘贴成一模一样的。

追答

总共数据行数除以三,剪切两次就可以了。
例如有600行,先把201~400剪切到CD,再把401-600剪切到EF。

追问

那个我会,我是想要问有没有更简洁的公示可以搞定。

追答

公式也有,C1输入=A201,D1输入=B201,E1输入=A401,F1输入=B401,下拉200行,但是AB列多余的数据不能删除,效果不如剪切。
记住一个原则,公式只改变输入公式的单元格的内容,无法改变其它单元格的内容,因此无法实现剪切、移动等效果。
VBA编程可以实习,但是程序语句与前面的剪切操作完全一致,并无新意,只是当你有成千上万的表格需要处理时候才能体现VBA的优势。

第3个回答  2017-02-16
C1输入公式
=INDEX($A:$B,INT((COLUMN()-3)/2)*11+ROW(),IF(MOD(COLUMN(),2),1,2))
向下向右复制
相似回答