请问:EXCEL中如何将A列相同单元格所对应的C列单元格合并至一个单元格,并且内容之间用逗号隔开?

问题与下图相似,能告诉我“E1、F1、G1”公式怎么写么?

E2数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  下拉。

=INDEX(A:A,SMALL(IF(MATCH(A$2:A$999&"",A$2:A$999&"",)=ROW($1:$998),ROW($2:$999),4^8),ROW(A1)))&""


F2公式下拉:

=IF(E2="","",SUMIF(A:A,E2,B:B))


G2数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  右拉再下拉。

=INDEX($C:$C,SMALL(IF($A$2:$A$999=$E2,ROW($2:$999),4^8),COLUMN(A1)))&""


G2公式只能是一个单元格放一个批次,如坚持要像题目那样的效果,请教懂VBA的大神帮忙编写代码吧。


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

E2=INDEX(A:A,MIN(IF(COUNTIF(E$1:E1,$A$2:$A$19),2^16,ROW($2:$19))))&""

F2=SUMPRODUCT((A$2:A$19=E2)*(B$2:B$19))

G2=H2&I2&J2&K2&L2&M2

H2=IF(ISERROR(SMALL(IF($A$2:$A$19=$E2,ROW($A$2:$A$19)),COLUMN(A2))),"",INDEX($C:$C,SMALL(IF($A$2:$A$19=$E2,ROW($A$2:$A$19)),COLUMN(A2))))
I2=IF(ISERROR(SMALL(IF($A$2:$A$19=$E2,ROW($A$2:$A$19)),COLUMN(B2))),"","、"&INDEX($C:$C,SMALL(IF($A$2:$A$19=$E2,ROW($A$2:$A$19)),COLUMN(B2))))公式向右复制到需要处

上述公式带颜色的都是数组公式,公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效.公式向下面各行复制。公式中的19是预设的数据最后一行,可据实调整。

第2个回答  2014-11-30
在D2单元格输入以下公式,然后向下填充公式
=C2&IF(COUNTIF(A3:A7,A2),","&VLOOKUP(A2,A2:D7,4,0),"")
2、将A列复制到E列,选择E列,在“数据”选项下“删除重复项”;
3、在F列输入以下公式,然后向下填充公式
=SUMIF(A:A,E2,B:B)
4、在G2单元格输入以下公式,然后向下填充公式
=VLOOKUP(E2,A:D,4,0)
相似回答