在E1输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右填充公式
=INDEX($B:$B,SMALL(IF($A$1:$A$20=$D1,ROW($1:$20),4^8),COLUMN(A1)))&""
详见附图示例
先建立辅助列,假设C列,C1用公式:
=COUNTA(E1:Z1)
下拉;
A1用公式:
=IFERROR(OFFSET(D$1,SMALL(IF(C$1:C$10>=COLUMN(A:Z),ROW($1:$10)-1),ROW(A1)),),"")
数组公式,需要按CTRL+SHIFT+回车,完成公式,下拉;
B1用公式:
=IFERROR(VLOOKUP(A1,D:Z,COUNTIF(A$1:A1,A1)+1,),"")
下拉。
A1右拉下拉
=IF(COLUMN(A1)=1,$D$1,INDEX($1:$1,ROW(A5)))