excel不规则数列转变为多行多列?

如图所示,把左边的转换为右侧的,怎么用公式操作,数据量较大

D1=COUNTIF(F1:AI1,"<>")

下拉,为辅助列

A1=INDEX(E:E,SMALL(IF($D$1:$D$4<COLUMN($A$1:$AZ$1),4^8,ROW($1:$4)),ROW(A1)))&""

数组公式,需要同时按CTRL SHIFT 回车键,出现结果,然后下拉公式

B1=VLOOKUP(A1,$E:$AI,COUNTIF($A$1:A1,A1)+1,0)

下拉

VBA也可以完成

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-25

=INDEX($A$2:$A$100,MATCH(0,COUNTIF(E$1:E1,$A$2:$A$100),0))&""

=IFERROR(INDEX($B$2:$B$10,SMALL(IF($A$2:$A10=$E2,ROW($1:$9),4^8),COLUMN(A1)),),"")

数组函数Ctrl+shift+enter三键结束

第2个回答  2021-02-25

1. 复制A列,粘贴到E列,然后选择E列,在“数据”选项下的“删除重复项”后,保留唯一值

2. 在F1中输入或复制粘贴下列公式

=IFERROR(INDEX($B:$B,SMALL(IF($A$1:$A$9=$E1,ROW($1:$9)),COLUMN(A:A))),"")

下拉填充,右拉填充

第3个回答  2021-02-25

Excel数据批量转置(二列转多列)

本回答被提问者采纳
第4个回答  2021-02-25
1、复制A列,粘贴到E列,然后选择E列,在“数据”选项下的“删除重复项”后,保留唯一值;
或者在E1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式
=INDEX(A:A,SMALL(IF(MATCH(A$1:A$9,A$1:A$9,0)=ROW($1:$9),ROW($1:$9),4^8),ROW(A1)))&""
2、在F1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右向下填充公式
=INDEX($B:$B,SMALL(IF($A$1:$A$20=$E1,ROW($1:$20),4^8),COLUMN(A1)))&""
相似回答