excel单列转多行多列 相同合并

来源:百度知道 编辑:UC知道 时间:2024/06/14 04:10:24
比如
编码 数值
a 1
a 2
a 3
b 4
c 3
d 7
d 3
转化后为
编码 数值 数值 数值
a 1 2 3
b 4
c 3
d 7 3

非常感谢啊

转换后的首列可以直接用高级筛选不重复记录得到
后面的数据可以用数组公式或vba得到

给你一个我写的合并函数,供参考:
http://tieba.baidu.com/f?kz=663252812
就你的具体问题,公式可以这样写

=hb(a$1:a$10,"F"&a1,b$1:b$10)

假如你的编码有规律可以实现,比a,a,a,b,b,b,c,c,c都是三行,你可是在C2输入=INDIRECT("A"&ROW()*3-4)并向下填充,在D2输入=INDIRECT("B"&ROW()*3-4),E2输入=INDIRECT("B"&ROW()*3-3)F2=INDIRECT("B"&ROW()*3-2)并向下填充.

假定原数据在SHEET1的A列和B列中,请在SHEET2表A1输入公式:
=INDEX(SHEET1!A:A,SMALL(IF(MATCH(SHEET1!A$1:A$100,SHEET1!A$1:A$100,)=ROW($1:$100),ROW($1:$100),65536),ROW()))&""
公式以CTRL+SHIFT+回车结束。
将公式向下复制,直到出现空白为止。

然后在SHEET2表B1单元格输入公式:
=INDEX(SHEET1!$B:$B,SMALL(IF(SHEET1!$A$1:$A$100=$A1,ROW($1:$100),65536),COLUMN()-1))&""
公式以CTRL+SHIFT+回车结束。
将公式向右向下复制。

注意:要根据SHEET1表的数据范围调整公式中的数据范围。

要求a列已排序。

c2 =IF($A2=$A3,B3,"")
向右向