在Microsoft Excel中水平排序的5种方法

在Microsoft Excel中水平排序的5种方法

您是否想知道如何在 Excel 中水平排序?这是一项方便的技能,可用于重组数据集,其中列标题位于行中,而这些标题的数据位于列中。在本 Excel 教程中,我们将指导您完成该过程。

Excel 内置的“排序和筛选”命令按钮非常适合按行对数据进行排序,同时保持列标题完整。但是,有些情况下,您需要重新组织列,而不仅仅是行。这时水平排序就派上用场了。

Excel 提供了多种水平排序方法,包括公式、用户界面选项、数据透视表和 Excel VBA。无论您是 Excel 数据分析新手还是经验丰富的专业人士,掌握不同的水平排序方法都至关重要。坚持阅读本文直到最后,以发现您应该知道的最有效的技术。

推荐:WordPress在线商店或市场的终极主题Olam

什么是 Excel 水平排序?

Excel 水平排序是一种按列而不是按行重新排列列标题或数据的方法,而不是按垂直排序按行而不是按列重新排列数据。

Excel 的水平排序工具并不方便使用。排序和筛选工具提供的排序功能包括从 A 到 Z 排序和从 Z 到 A 排序(按行而不是列对数据进行排序),这是垂直排序。这也称为从上到下的排序。

但是,如果您进入“排序选项”并将排序方向更改为左右,则可以激活水平排序功能。当您想按列而不是默认的垂直排序来组织信息时,此功能很有用。

这意味着在列内移动数据,同时保持行标题固定不变。Excel 中的水平排序对于以适合您特定需求的方式管理数据非常有用,可以更轻松地高效分析和处理数据集。

在 Excel 中水平排序的原因

以下是在 Excel 中准备和分析数据时可能需要使用 Excel 水平排序技能的原因和时间:

  1. 当您有长列表或宽表时,水平排序可以使阅读和比较数据变得更容易,因为它减少了过度滚动的需要。
  2. 如果您需要在 Excel 和其他软件(如 Word 或 PowerPoint)之间复制和粘贴数据,水平排序可以帮助保持数据的对齐。
  3. 当您想要将相关信息组合在一起时,水平排序会很有帮助,例如按月组织销售数据或按行而不是列组织产品。
  4. 某些数据导入或导出可能会水平对齐数据,按相同方向排序可以节省时间并防止数据处理过程中出现错误。
  5. 某些报告或演示文稿可能需要水平布局来呈现数据,因此需要水平排序来满足这些格式需求。

现在探索在 Excel 工作表中水平排序数据集的各种直观且简单的方法:

使用排序选项在 Excel 中水平排序

在Microsoft Excel中水平排序的5种方法
自定义排序

您可以按照以下方式使用过滤和排序工具在 Excel 中执行水平排序:

  1. 突出显示您想要按列或从左到右排序的数据集。
  2. 单击“主页”选项卡的“编辑命令”块内的“排序和过滤”命令。
  3. 将会出现一个上下文菜单。
  4. 在那里,单击自定义排序选项。
从左到右对选项进行排序
从左到右对选项进行排序
  1. 您应该会看到“排序”对话框。
  2. 单击“选项” ,然后在“排序选项”对话框的“方向”部分下选择“从左到右排序”
Excel 使用排序和筛选进行水平排序
Excel 使用排序和筛选进行水平排序
  1. 点击“排序依据”下拉菜单,选择要按哪一行对列进行排序。在本教程中,它是第 2 行
  2. 单击“顺序”下拉菜单并选择排序顺序,如“从 A 到 Z”“从 Z 到 A”
  3. 单击“确定”执行水平排序。

使用函数在 Excel 中水平排序

另一种从左到右或水平对数据集进行排序的快速方法是使用内置的 SORT 函数。

创建 SORT 函数
创建 SORT 函数

以下是您必须使用的公式语法和步骤:

  1. 转到您想要数据集排序结果的单元格。
  2. 输入equals sign后跟函数SORT
  3. 然后,在括号中输入公式的以下参数:
    • 输入要排序的数组,例如B2:H5在本教程中。
    • 指示排序索引,即您想要对列进行排序的行号,例如1当前示例中的名称行。
    • 您想按升序还是降序排序?或者,您可能想按 A 到 Z 或 Z 到 A 排序。您可以输入1升序或 A 到 Z,输入-1降序或 Z 到 A。
    • 输入参数TRUE按列排序或水平排序。
  4. 公式如下:
=SORT(B2:H5,1,1,)
Excel 中使用 SORT 函数进行水平排序
Excel 中使用 SORT 函数进行水平排序
  1. 点击Enter在 Excel 中水平排序数据。

排序后生成的结果数据集会产生溢出值。确切的公式保留在您突出显示以输入函数的第一个单元格中。如果您想通过引用结果的单元格范围来执行进一步的数据分析,则行不通。

因此,请按照以下步骤将溢出值转换为真实值,这些值可在 Excel 工作表中参考其他数据分析和可视化任务:

复制并粘贴泄漏结果作为值
复制并粘贴泄漏结果作为值
  1. Ctrl通过突出显示结果并按+来复制结果C
  2. Ctrl现在按+ Alt+将其粘贴到同一位置或其他任何位置V
  3. 在选择性粘贴对话框中选择选项。
  4. 单击“确定”将复制的数据粘贴为值。

推荐:SEO数字营销机构WordPress主题Selo

使用 Power Query 在 Excel 中水平排序

从其他数据库导入数据或需要组织现有工作簿数据时,您还可以使用 Power Query 工具水平对数据集进行排序。操作方法如下:

导入新数据集或添加现有数据集

从外部数据库获取数据
从外部数据库获取数据
  1. 单击Excel 功能区上的数据选项卡。
  2. 转到获取并转换数据部分。
  3. 单击获取数据
  4. 从上下文菜单中选择任何数据集源,例如从数据库>从 Oracle 数据库
创建表
创建表
  1. 如果它是来自同一张工作表的数据集,则只需突出显示整个数据集。
  2. 单击获取和转换数据命令块内的从表/范围命令。
  3. “创建表”对话框中,单击“确定”
将数据集导入 Power Query
将数据集导入 Power Query
  1. 您现在应该在 Power Query 工具中看到导入的或现有的数据集。

您必须导入顶部带有空白行的数据集,以帮助执行 Power Query 中的转置操作。

Power Query 中的转置和排序

在 Power Query 中转置数据
在 Power Query 中转置数据
  1. 选择 Power Query 编辑器工具中的所有列。
  2. 单击Power Query 功能区菜单上的“转换”选项卡。
  3. 表格命令块内,单击转置选项。
  4. 导入的数据将会被转置。
删除顶行
删除顶行
  1. 突出显示包含原始数据集的行标题的第一行。
  2. 转到“主页”选项卡,然后单击“删除行” > “删除顶行”选项。
  3. “删除顶行”对话框中,输入数字1并单击“确定”
清理数据集
清理数据集
  1. 这应该从数据集中删除不必要的行。
按升序排序功率查询
按升序排序功率查询
  1. 现在,选择要对数据集进行排序的列。在此示例中,它是Column1
  2. 单击列下拉箭头并选择排序逻辑,例如“升序排序”
  3. Power Query 应该根据选定的列快速对数据集进行排序。

转调回原始结构

调回到原来的位置
调回到原来的
  1. 选择 Power Query 编辑器画布中的所有列。
  2. 单击“变换”选项卡中的“转置”
  3. Power Query 中的排序数据集现在应该具有您导入时的原始结构。

导入至 Excel 工作表

关闭并加载以排序
关闭并加载以排序
  1. 单击Power Query 编辑器上的“文件”选项卡。
  2. 从显示的上下文菜单中选择“关闭并加载到”选项。
导入数据并突出显示单元格
导入数据并突出显示单元格
  1. 导入数据对话框中,单击现有工作表选项。
  2. 突出显示一个单元格,用于从 Power Query 导入已排序的数据集。
  3. 单击“确定”完成导入过程。
复制行标题
复制行标题
  1. 现在,将原始行标题复制并粘贴到导入的数据集中。

因此,现在您已经使用 Power Query 在 Excel 中获得了水平排序的数据集。

推荐:如何修复Windows 11激活错误代码0xc004c003

使用 Excel VBA 在 Excel 中水平排序

您还可以使用 Excel VBA 在 Excel 中进行水平排序。此方法适用于频繁对大型数据集进行排序。您只需在工作簿的 VBA 编辑器中编写并保存一次脚本,即可将其用于许多数据集。

创建 VBA 脚本排序
创建 VBA 脚本排序

以下是您应该使用的脚本以及简单步骤:

  1. Alt+F11调出Excel VBA 编辑器
  2. 在那里,单击插入菜单并选择模块
  3. 现在,将以下 VBA 脚本复制并粘贴到新模块中:
Sub SortbyLeftRight()

    Range("B7").Select
    ActiveCell.Formula2R1C1 = "=SORT(" & Range("B2").Address(ReferenceStyle:=xlR1C1) & ":" & Range("H5").Address(ReferenceStyle:=xlR1C1) & ", 1, 1, TRUE)"
    Range("B7:H10").Select
    Selection.Copy
    Range("B7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B8:H10").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "$#,##0.00"
    Range("D15").Select
    
End Sub
  1. 单击保存按钮。
  2. 在警告对话框中选择“否” 。
另存为 XLSM
另存为 XLSM
  1. 另存为对话框中,单击保存类型下拉菜单并选择XLSM文件。
  2. 单击“保存”以将现有的XLS文件保存在XLSM中。
  3. 关闭Excel VBA 编辑器
使用 VBA 在 Excel 中水平排序
使用 VBA 在 Excel 中水平排序

要运行脚本,请按照下列步骤操作:

  1. Alt+F8调用对话框。
  2. 选择SortbyLeftRight宏。
  3. 点击运行按钮。

Excel 应立即按照名称行的 A 到 Z 顺序对所选数据集的BH列进行排序。

以下是如何修改脚本以便在您自己的工作表上使用的方法:

  • 将出现的单元格地址全部更改B7为目标单元格地址。
  • 输入单元格区域为,在上述脚本中,用和B2:H5表示。假设工作表中的排序数据区域为,则将其更改为) 并将更改为等等。Range("B2")Range("H5")C5:I100Range("B2")Range("C5"Range("H5")Range("I100")
  • 如果您不想对结果数据集使用货币格式,请从脚本中删除此代码元素:
Range("B8:H10").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "$#,##0.00"

使用 Office 脚本在 Excel 中水平排序

由于基于 Excel VBA 的自动化在 Excel 网页版应用中不可用,因此你可以改用 Office 脚本。它也可以在 Excel Microsoft 365 桌面版应用中使用。

以下是使用 Office 脚本的步骤和必要的脚本:

  1. 单击Excel 功能区中的“自动化”选项卡。
  2. 选择新脚本选项。
  3. 将以下脚本复制并粘贴到代码编辑器面板中:
function main(workbook: ExcelScript.Workbook) {
	let selectedSheet = workbook.getActiveWorksheet();
	// Set range B7 on selectedSheet
	selectedSheet.getRange("B7").setFormulaLocal("=SORT(B2:H5,1,1,TRUE)");
}
  1. 单击“保存脚本”按钮,保存代码以供将来使用。
  2. 点击“运行”按钮来执行代码。

配置脚本的方法如下:

  • B2:H5将函数中的单元格范围替换SORT为工作表的实际数据集单元格范围。
  • 公式中"=SORT(B2:H5,1,1,TRUE)",第一个1表示需要排序的行。因此,请相应地进行更改。
  • 第二个1表示按升序排序,如果需要按降序排序,则输入-1
  • B7是已排序数据集的目标单元格。因此,请根据您的要求进行修改。

注意:如果您拥有或使用 Microsoft 365 商业标准版或更好的订阅包,则可以在 Excel 中访问 Office 脚本编码工具。如果 Excel Web 或桌面应用程序上未显示“自动化”选项卡,则可能是您没有这样的订阅。如果您使用的是雇主管理的 Microsoft 365 订阅,并且无法访问 Office 脚本,请咨询组织的 IT 管理员。

结论

现在,您知道了如何在 Excel 中从左到右水平排序数据,而不是通常的从上到下排序。您学习了一些简单的方法,例如使用“排序和筛选”工具中的“排序选项”SORT函数在 Excel 中对小型数据集进行临时或偶尔的水平排序。

如果您要从第三方数据库将数据导入 Excel 工作表并需要进行水平排序,则可以直接在Power Query中执行此操作,该工具可让您将数据集导入 Excel 并清理它们以进行进一步分析。

最后,您经常在 Excel 中处理大量数据,并希望自动执行水平排序过程。在这种情况下,您可以使用Excel VBAOffice 脚本

推荐:Proton GE如何提高SteamOS和Linux上的游戏兼容性


发表评论