Excel 如何交换列

如何在Excel中交换列:拖动和其他方法来移动列

Excel表格结构对于在Excel上逆向工作的用户来说非常方便。无论表格结构有多么周密,他们经常交换Excel列以更清楚地查看数据,以便可以并排进行比较。

令你惊讶的是,没有直接的方法或公式可以执行此操作。常用的方法是尝试传统的拖动列名方法,但这种方法有时也无法正常工作并且会让用户感到困惑。现在,问题是如何做到这一点?

本教程将介绍四种不同的方法,帮助在Microsoft Excel中切换列:

  1. 使用拖动方法来交换列
  2. 使用复制/粘贴方法重新排列列
  3. 使用VBA宏技术移动列

使用拖动功能交换列

正如教程开始时所讨论的,拖动列的方法比人们预期的要困难。一个小错误就可能导致整个事情失败!

但是良好的知识和一点练习也可以让你成为这种方法的专家!

下面是一个包含有关不同手机产品及其功能的Excel工作表,我们被要求交换一些列的顺序。例如,在下面的工作表中,我们希望将“显示尺寸”列与“操作系统”列交换。这样做将使列排在价格列表旁边。

如何在Excel中交换列:拖动和其他方法来移动列

按照以下步骤,使用拖动功能快速交换列:

  1. 首先, 选择您要交换的列 。在我们的例子中,我们选择了”显示尺寸”列。

如何在Excel中交换列:拖动和其他方法来移动列

  1. 将鼠标光标放在列的边缘。你会注意到 鼠标指针会变成一个四边形箭头光标

注意:建议不要将光标放在列标题上,因为该区域的列可能会采用不同的形状。但是,在所选列的右侧或左侧边缘上执行时效果正常。

  1. 接下来, 按住Shift键,同时拖动列 到新位置。你会看到一个模糊的”|”形状和表示新列位置的方框。
    如何在Excel中交换列:拖动和其他方法来移动列

  2. 它达到位置后,释放鼠标并同时释放Shift键。此时,你会看到所需的列已经移动到所选位置,例如列”显示尺寸”的位置与”操作系统”交换了。
    如何在Excel中交换列:拖动和其他方法来移动列

  3. 按照上述步骤,您可以将多个列拖动到Excel表中的新位置。要选择多个列,首先选择第一列,同时按下Shift键,然后单击最后一列的标题。然后,将光标指向最后一列,直到它变成一个四边形箭头。将所选的列拖动到新位置,完成后释放Shift键。它将把所有列移动到所选位置,如屏幕截图所示。

如何在Excel中交换列:拖动和其他方法来移动列

注意。拖放方法只适用于相邻的列或行,不能应用于非相邻的列和行。

拖放方法可以在所有版本的Excel中完美运行。您也可以将相同的技巧用于交换行。虽然起初可能需要一些练习,但一旦掌握,它可以节省大量时间。

使用复制/粘贴方法重新排列列

如果拖放方法不适合您,您可以使用复制/粘贴方法来更改列的顺序。

移动一列的步骤

  1. 首先选择要移动的整个列,或者直接点击列的标题。
  2. 按快捷键Ctrl + X剪切所选列。您也可以跳过第1步,直接右键单击鼠标光标,然后从列出的选项中选择“剪切”选项。
  3. 将鼠标光标放在要粘贴列的位置上。右键单击它,并从列出的菜单中选择“插入剪切单元格”。
    如何在Excel中交换列:拖动和其他方法来移动列

  4. 它将把列粘贴到所选位置。

如何在Excel中交换列:拖动和其他方法来移动列

如果您更倾向于使用键盘并喜欢使用快捷键进行操作,您可以按照以下步骤重新排列 Microsoft Excel 中的列:

  1. 将光标放在您想要移动的列中的任何单元格上。按下快捷键 Ctrl + Space 以选择整列。
  2. 使用快捷键 Ctrl + X 剪切该列。
  3. 再次将光标放在您要粘贴剪切列的列中的任何单元格上。
  4. 使用快捷键 Ctrl + Plus sign (+) 将列粘贴到选定位置。

通过复制、粘贴和删除交换多列

之前,我们学习了如何在不使用鼠标拖动的情况下交换单列。那么如果我们想要交换多列呢?同样的方法适用吗?

剪切/粘贴方法的讽刺之处在于它只适用于单列。如果您尝试同时使用此方法交换多个列,它将不允许,并且通常会出现错误提示:“无法对多个选择执行所选命令。”

若要执行多次列交换,可以使用复制、粘贴和删除的方法来重新排列工作表中的多个列。请按照以下步骤操作:

  1. 第一步是从一个位置选择要移动的列。(一种简便的选择方法是单击第一列的标题,然后按 Shift 键)。

另一种方法是仅选择要交换的列的标题,然后按快捷键 Ctrl + Space。这将选择包含数据的单元格而不是选择整个列。

如何在Excel中交换列:拖动和其他方法来移动列

  1. 接下来,我们将使用快捷键Ctrl + C复制所选列,或者您也可以右键单击该列,在弹出的菜单中选择 复制 选项。
  2. 将光标放在要添加复制列之前的列上。右键单击该列,在弹出的菜单中选择 插入复制单元格选项。
    如何在Excel中交换列:拖动和其他方法来移动列

  3. 它将把选定的单元格复制到所需位置。

如何在Excel中交换列:拖动和其他方法来移动列

注意:该方法的唯一缺点是您必须从列表中删除旧的列。因为它是复制列,所以会出现两个相同列的实例。

  1. 最后,从Excel表中删除原始列。

虽然对于许多人来说,与传统的拖动技术相比,这可能是一个过程,但对于大数据来说,它更有用,并且更适合那些选择键盘快捷方式而不是鼠标光标的用户。

注意:上述方法仅适用于相邻列,因此您无法将其用于不相邻的列。

使用宏技术移动列

如果您精通编码,可以使用VBA脚本在Microsoft Excel中将列从一个位置移动到另一个位置。编写宏将自动在Excel工作表中移动列。

以下是在VBA编辑器窗口中编写宏代码的步骤:

步骤1: 打开需要修改的Excel表格。

步骤2: 单击“开发者”选项卡,选择“Visual Basic”选项。您也可以尝试使用Alt + F11快捷键打开Visual Basic编辑器窗口。

如何在Excel中交换列:拖动和其他方法来移动列

步骤3: 如您所见,VBA编辑器窗口将打开。点击插入 > 模块

如何在Excel中交换列:拖动和其他方法来移动列

第四步: 在VBA窗口中编写以下提供的代码

VBA代码:

Option Explicit

Sub Swap_Columns_using_VBA()
'Initializing the variables
Dim ColOrder As Variant, n As Integer
Dim Fnd As Range, count As Integer
    ColOrder = Array("Heading 1", "Heading 2", "Heading 3",)
counter = 1

Application.ScreenUpdating = False

For n = LBound(ColOrder) To UBound(ColOrder)
    Set Found = Rows("1:1").Find(ColOrder(n), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    If Not Fnd Is Nothing Then
        If Fnd.Column <> count Then
            Fnd.EntireColumn.Cut
            Columns(counter).Insert Shift:=xlToRight
            Application.CutCopyMode = False
        End If
    count = count + 1
    End If
Next n
Application.ScreenUpdating = True
End Sub

如何在Excel中交换列:拖动和其他方法来移动列

第5步: 一旦你写好了代码,按下快捷键 F5 运行 VBA 代码。结果,它将执行代码。

虽然上述宏会自动化这个过程,但用户通常需要花费更多时间指定要交换的列并定义它们的新位置,而不是复制粘贴和删除这些列。此外,不能保证 VBA 代码总是能运行并生成预期的输出,因此每次都需要验证结果。因此,不建议使用 VBA 宏来完成这个任务。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程