首页 > 解决方案 > 如何在一行下转置所有四列并在excel中的四组中重复其余列?

问题描述

我需要在 4 列矩阵之后仅将每行中的列中的值重新排列 4 列。如图 1 至图 2 所示。同样,我对 Fig3 的第 2 行中的值进行了处理,并在 row1 和 row2 之间插入而不删除以下值。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我已经尝试过了=OFFSET($A$1,,COLUMN()+4*(ROW()-2)-5),但是当我提供时会出现一些参考错误"-5"

请帮忙。

在错误代码的帮助下,我得到了这个结果

在此处输入图像描述

标签: sqlexcel

解决方案


一种可能的解决方案是 VBA。下面的代码是一行。修改并尝试:

Option Explicit

Sub test()

    Dim Lastrow As Long, i As Long, LastColumn As Long

    With ThisWorkbook.Worksheets("Sheet2")

        LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column

        For i = LastColumn To 5 Step -4

            Lastrow = .Cells(.Rows.Count, "B").End(xlUp).Row

            .Range(Cells(1, i), Cells(1, i - 3)).Select
            .Range(Cells(1, i), Cells(1, i - 3)).Cut .Range("A" & Lastrow + 1)

         Next i

    End With

End Sub

推荐阅读