公式方法有點笨.VBA 快很多.
方法如下
把原來工作表橙色部份移動到 G 列
工作表2 A列順序向下 1,2,3.....
工作表2 B1 =SMALL(IF(工作表1!$A$1:$A$10000=A1,ROW($1:$10000)),1) (三鍵按下)
工作表2 C1 =SMALL(IF(工作表1!$A$1:$A$10000=A1,ROW($1:$10000)),2) (三鍵按下)
工作表2 D1 =SMALL(IF(工作表1!$A$1:$A$10000=A1,ROW($1:$10000)),3) (三鍵按下)
工作表2 E1 =SMALL(IF(工作表1!$A$1:$A$10000=A1,ROW($1:$10000)),4) (三鍵按下)
完成後選工作表2 B1至E1 然後向下拉
在原本作表現在的 G1=1,H1=00A001
I1 便放下=INDIRECT("C" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,1)) & INDIRECT("D" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,1)) & " " &
IFERROR(INDIRECT("C" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,2)) & INDIRECT("D" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,2)),"") & " " &
IFERROR(INDIRECT("C" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,3)) & INDIRECT("D" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,3)),"") & " " &
IFERROR(INDIRECT("C" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,4)) & INDIRECT("D" & OFFSET(INDEX(工作表2!A:A,MATCH(工作表1!G1,工作表2!A:A,0)),0,4)),"")
I1 向下拉便完成
這個方法很笨,希望有高手調整一下
H2:
=VLOOKUP(G2,$A$2:$B$11,2,0)
再將公式複製到H3:H7
I2:
=IFERROR(TEXTJOIN(,,OFFSET($A$1,SUMPRODUCT(LARGE(($A$2:$A$11=G2)*ROW($C$2:$C$11),3))-1,2,1,2))&" ","")&IFERROR(TEXTJOIN(,,OFFSET($A$1,SUMPRODUCT(LARGE(($A$2:$A$11=G2)*ROW($C$2:$C$11),2))-1,2,1,2))&" ","")&IFERROR(TEXTJOIN(,,OFFSET($A$1,SUMPRODUCT(LARGE(($A$2:$A$11=G2)ROW($C$2:$C$11),1))-1,2,1,2)),"")
再將公式複製到I3:I7
J2:
=SUMPRODUCT(($A$2:$A$11=G2)($D$2:$D$11))
再將公式複製到J3:J7
長知識了
1.請問當序號 4 超過 3 筆時, I2 的公式是否要再修改 ?
2.可否幫忙測試一下 :
I2 =TEXTJOIN(" ",TRUE,IF(G2=$A$2:$A$11,$C$2:$C$11 & $D$2:$D$11,""))
在按下"Ctrl+Shift+Enter" 組合鍵
謝謝
公式來源 : Excel辦公應用:這個函數,只有1%的高手才會!
還是ROGERYAO厲害,剛才想到公式改成
=TEXTJOIN(",",,IF($A$2:$A$11=G2,$C$2:$C$11&$D$2:$D$11,""))
您都己經找到問題點了,謝謝!
https://ccenjor.pixnet.net/blog/post/229292384
厲害啊,但我版本比較舊,沒 textjoin
試試這樣.
E2 =IF(A2=A1,E1&" "&C2&D2,C2&D2) (下拉)
i2 =LOOKUP(1,0/(G2=A:A),E:E) (下拉)
感謝各位的幫忙 辛苦各位了