EXCEL中怎样将不同行相同一人的数据合并到一行?

如下图,将同类不同行的数据按顺序归类到同一行中,请麻烦写清详细步骤,并帮我解释一下,万分感谢。

1、方法用VBA处理,要编程要时间,一步输出

2、用下面方法分步处理

(1)按A列排序

(2)每项重复的用下面生成一行(选数据先行后列,1行)

Excel数据如何快速排列

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-05
要根据你的具体的数据来,看看是否有简便办法。万能的方法肯定是VBA编程,扫描原表,不断复制数据,主要逻辑如下
set d=createobject("scripting.dictionary")
arr=range("a1").currentregion
n=ubound(arr)+2
for i=1 to ubound(arr)
if not d.exists(arr(i,1)) then
d.add arr(i,1), n
cells(n,1)=arr(i,1)
n=n+1
end if
j=d(arr(i,1))
x=cells(j,columns.count).end(xltoleft).column+1
cells(i,2).resize(1, ubound(arr,2)-1).copy cells(j,x)
next i追问

VBA 0基础,不太好理解使用,请问能用excel公式做到吗

追答

公式写着太复杂了,几乎可以说做不到。

公式实现分三步,第一步把所有数据合并为一列,就是原始数据只有两列:关键字和数据,使用&运算即可,可以考虑使用一个分隔符(根据具体数据情况选择空格等)

第二步是把两列的数据转换为行,提取唯一关键字为新表A列,BCD....等列写公式提取第1~N次重复的数据

先增加辅助列:

再写公式提取:

第三步再把数据按空格分开为多列:

辅助行1~2可以使用MOD和ROUNDDOWN来计算,含义为本列数据是第几组、第几项

相似回答