将数据从每三行移动到一列的公式?

将数据从每三行移动到一列的公式?

我有一张 Excel 表(mac,Excel 2011),其中包含姓名(第一行)、职位(第二行)和公司/机构(第三行)在一列中。我想将它们分成三个不同的列。我试过了我能找到的所有宏。请帮忙。

因此,不要像现在这样阅读:

Joe Joe
SomeJob
MyCompany

它会读

JoeJoe    |   SomeJob   |  MyCompany

答案1

尝试类似这样的方法。但重要的是 3 系列保持不变,这样 tyhis 才能正常工作。

Sub SingleRow()

Range("A2").Select

Do
    Selection.Cut
        ActiveCell.Offset(-1, 1).Select
        ActiveSheet.Paste
        ActiveCell.Offset(1, -1).Select
        ActiveCell.EntireRow.Select
        ActiveCell.EntireRow.Delete
            ActiveCell.Cut
            ActiveCell.Offset(-1, 2).Select
            ActiveSheet.Paste
            ActiveCell.Offset(1, -2).Select
            ActiveCell.EntireRow.Select
            ActiveCell.EntireRow.Delete
                ActiveCell.Offset(1, 0).Select

Loop Until ActiveCell.Value = "" And ActiveCell.Offset(-1, 0).Value = ""

End Sub

我测试过了并且这应该可以解决问题。

答案2

@Tim Williams 的解决方案很优雅,但一个简单的解决方案是添加一个重复 1、2 和 3 的列。还要复制数据列两次。从第一个副本的顶部删除一个单元格,从第二个副本的顶部删除两个单元格。然后过滤带有数字的列,取消选择 1 并删除可见的内容。(也可以删除数字列。)

更详细地解释如下问题 SU495953

答案3

我发现这个解决方案是最简单的:

https://www.extendoffice.com/documents/excel/3360-excel-transpose-every-5-rows.html

确保单个数据列位于 A 列,从 A1 开始

  1. 在附近的新单元格中插入此公式:

    =INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))

  2. 只需更改两次出现的“5”数字,使其与组集的大小相匹配即可。(在本例中为 3)

  3. 将公式拖到右侧,以匹配组集的大小。(在本例中,拖到 3 列)

  4. 将公式向下拖动,直到数据停止显示(您将得到“0”)

答案4

那么“菜单数据 - >列中的文本”呢?它用一个分隔符将它们全部分开,您可以在对话框中交互选择,例如空格

相关内容