Excel如何按条件将多个单元格合并到一个单元格 5
D2=A2&SUMPRODUCT(($A$2:$A$15=A2)*($C$2:$C$15>C2))+COUNTIFS(A$2:A2,A2,C$2:C2,C2)
E2=IF(COUNTIF(A$2:A2,A2)>5,"",INDEX(B:B,MATCH(A2&COUNTIF(A$2:A2,A2),D:D,0)))
F2=IF(E2="","",CHAR(10)&E2&IFERROR(VLOOKUP(A2,A3:F15,6,0),""))
B22=SUBSTITUTE(VLOOKUP(A19,$A$2:$F$15,6,0),CHAR(10),"",1)向下复制
注意:
1、产品123可以用数据-筛选-高级筛选-筛选不重复的值、数据-删除重复项或者数组公式获得,如果数据量大的话用数组公式会很卡。
2、黄色区域要设置为自动换行才能显示出换行的效果。
可以加辅助列,通过宏或者VBA,输入所有单行数据进去后,直接可以出合并后的结果。
我试了,用公式,可以做,但公式多,如果上万行,必须分割,不然会把计算累坏的。找人用vba做比较好。公式方法如下:
1、因为有重复数量,所以最好加个小数,区别一下。
2、合并数据的序号,让合并单元格内每行都有数。
3、用公式定位字母
sheet2里c3公式:
=IFERROR(CHOOSE(MATCH(LARGE(INDIRECT("Sheet1!d"&MATCH(B3,Sheet1!$A:$A,0)&":d"&LOOKUP(1,0/(Sheet1!$A:$A=B3),ROW(Sheet1!A:A))),MOD((ROW()-3),5)+1),INDIRECT("Sheet1!d"&MATCH(B3,Sheet1!$A:$A,0)&":d"&LOOKUP(1,0/(Sheet1!$A:$A=B3),ROW(Sheet1!A:A))),0),"A","B","C","D","E","F","G"),"")