EXCEL 一列变成多列,使用特定的数据作为另起一列的标志?

原始数据只有一列,大概6万行,每隔10-20行会重复出现一个单元格(现在假定为”上海”)希望做的是把每两个“上海”之间的单元格,都另起一列。

举例,原始数据:
北京
上海
广州
天津
上海
上海
南京
上海
宁波
厦门
深圳
海尔滨
兰州
上海

我希望变为
北京 上海 上海 上海 上海 上海
广州 南京 宁波
天津 厦门
深圳
海尔滨
兰州

搜了半天,都是教的基本的分列操作,没有能够满足我的需求的,希望有大神帮我

第1个回答  2020-10-13

假设你的第一个名称“北京”是在A1单元格的,则可按以下操作:

1、在B1单元格输入数字1,然后再在B2单元格输入公式:

=IF(A2="上海",0,B1+1)

复制并下拉到55555行,即可得到上海后面的排行序列号了……

2、在C1单元格输入数组公式:(特别注意!是数组公式,公式粘贴或者输入后必须是同时按CTRL+SHIFT+ENTER这3个键结束,否则公式无效的!!!)

=IFERROR(INDEX($A$1:$A$55555,SMALL(IF($B$1:$B$55555=ROW($A1)-1,ROW($A$1:$A$55555),4^8),COLUMN(A$1))),"")

复制并下拉到底,并整列的复制并右拉,即可…………

第2个回答  2020-10-13
EXCEL本身没有你这样的功能,如果你不急可以查VBA编程来学,学了就知道怎么写代码实现。
如果不想学,可能只有把表给会编程的人帮你转换,因为没有基础就算写了代码给你要实现还是很难。
第3个回答  2020-10-13
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删),excel样表文件(尽量详细说明现状和目标效果)作为附件发到[email protected]帮你看下
第4个回答  2020-10-13
使用代码,会启用宏吗
相似回答