EXCEL中怎么实现每隔3行6列进行批量转置?求大佬指点,谢谢!

每次都要复制粘贴转置相当费劲,怎么实现每隔3行6列进行批量转置,并按顺序放在相应每列去?

原数据:

数据转置之后的数据:

公式:

=INDIRECT(ADDRESS(MATCH($A18,$A$1:$A$16,0)+COLUMN()-2,ROW()-14-MATCH($A18,$A$18:$A$1600,0),1,1))

要求:

    公式设置是在同一个Sheet内的数据;

    组名转置前后数据最好放在在A列;

    组名,A、B、C各列,中间不能插列

公式说明:

=INDIRECT(ADDRESS(Row,Col,1,1)) 对特定的地址取值,特定行、特定列

=MATCH($A18,$A$1:$A$16,0)。在A1:A16中,找与A18值相匹配的单元格,返回匹配值的位置(此处是取行号)

公式中使用了2个Match公式,取值范围不同,目的是要知道当前单元格的位置信息。

注意:

    公式中带“$”,为数据锁定,便于行向、纵向拉公式复制

    第二组、第四组、第五组,数据超过为4个或5个,先把组名在A列中设置好,可以每组都设置5行。如:第一组有5行为第一组。这样,第一组的第4、5个数显示为“0”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-22

公式复杂,手工费时容易出错,最好用代码,运行效果如下:

实效:可选择数据用作行、列字段信息,根据信息提取数据,实现转置功能,注意数据须顺序记录,否则需要将部分代码删除或进行注释(在代码前加英文半角单引号')。

第2个回答  2022-05-01

Excel怎样处理一列数据根据标题转成四列数据表

第3个回答  2022-04-21
几十行建议手工,上千行就用代码。
相似回答