excel不规则行合并为一行数据

订单 摘要
8100 AAA
BBB
8200 CCCCC
8300 DDDDDD
DDDDDD
DDDDDD
如何以订单为1行,将摘要信息合并为1行,数据大量且不规律,摘要可能是1-8行,急求,谢谢!

这个用VBA比较简单容易,不用VBA的,下面简单的几个步骤也能完成:

    为了后面的操作能还原现在订单号顺序,插入A列,并填充自然数序列。在D2中输入公式:

=IF(OR($B2="",C2=""),"",IF(AND(OFFSET($B2,COLUMN()-3,,,)="",OFFSET($B2,COLUMN()-3,1,,)=""),"",IF(OFFSET($B2,COLUMN()-3,,,)="",OFFSET($B2,COLUMN()-3,1,,),"")))

右拉到若干行复制公式,下拉到最后数据行复制公式:

 2. 选择公式得出数据区域,复制再选择粘贴为数值:


3. 按订单排序,然后删除订单列后面为空值的数据行:


4. 再A列的序号重新排序,恢复订单号原来的顺序(无截图),A列序号的使命已完成,现在利用它来合并C列到最后一列的摘要,在A2中输入:

=PHONETIC(C2:I2)

并下拉复制公式,最后的列数根据实际情况定(公式举例为I列,其实只到G列,说明有多余的空列也没关系):

5. 复制A列数据,选择性粘贴为数值到C列覆盖原来的摘要数据:


6. 删除A列和D列后若干列,得到结果:

追问

十分感谢!辛苦了,每一步都有详细的截图,我当时看到Allen990的步骤比较少,按照他的操作步骤就完成了,当时看你的步骤很长就没有采纳,刚按照你的步骤也试了一次,确实可行,谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-14

基本思路

第一步:先要给订单号空白处填充上订单号(筛选出空白,录入公式等于上一行--比如第三行空白A3应该等于A2---A2不是空白已经隐藏了----为了不覆盖隐藏部分---选中区域--双击A3进入编辑状态--ctrl+inter即可自动输入公式填充完成);

第二步:将相同的订单号后面摘要相加,判断条件,下面一行订单号与上一行订单号相同即字符相加,如图所示if(a2=a1,b2&b1,b2)

第三步:找出最终结果一栏,也是用订单号判断,这次改成连等方式判断,=上一行订单号=下一行订单号,如果值是true说明还没到最后,false说明到这个订单号最后一行了,也就是结果行见图中标黄部分所示。

综上所说,看着麻烦,其实处理很简单,都是基本操作。



第2个回答  2014-01-14
选中订单那一列,按下F5,弹出定位对话框,定位条件选择“空值”,确定,就把空的都选中了,删除,整行,就行了。
第3个回答  2014-01-14

如图可以满足你的需求

本回答被提问者采纳
第4个回答  2014-01-14

可以用公式解决

 

数组公式:

=IF(COLUMN(A1)<=SUM(N(SUBTOTAL(4,OFFSET($A$1,,,ROW($1:$17)))=$D1)),OFFSET($B$1,MATCH($D1,$A$1:$A$17,0)-1+COLUMN(A1)-1,),"")

 

 

相似回答