在Microsoft Excel中水平排序的5种方法
您是否想知道如何在 Excel 中水平排序?这是一项方便的技能,可用于重组数据集,其中列标题位于行中,而这些标题的数据位于列中。在本 Excel 教程中,我们将指导您完成该过程。
Excel 内置的“排序和筛选”命令按钮非常适合按行对数据进行排序,同时保持列标题完整。但是,有些情况下,您需要重新组织列,而不仅仅是行。这时水平排序就派上用场了。
Excel 提供了多种水平排序方法,包括公式、用户界面选项、数据透视表和 Excel VBA。无论您是 Excel 数据分析新手还是经验丰富的专业人士,掌握不同的水平排序方法都至关重要。坚持阅读本文直到最后,以发现您应该知道的最有效的技术。
推荐:WordPress在线商店或市场的终极主题Olam
什么是 Excel 水平排序?
Excel 水平排序是一种按列而不是按行重新排列列标题或数据的方法,而不是按垂直排序按行而不是按列重新排列数据。
Excel 的水平排序工具并不方便使用。排序和筛选工具提供的排序功能包括从 A 到 Z 排序和从 Z 到 A 排序(按行而不是列对数据进行排序),这是垂直排序。这也称为从上到下的排序。
但是,如果您进入“排序选项”并将排序方向更改为左右,则可以激活水平排序功能。当您想按列而不是默认的垂直排序来组织信息时,此功能很有用。
这意味着在列内移动数据,同时保持行标题固定不变。Excel 中的水平排序对于以适合您特定需求的方式管理数据非常有用,可以更轻松地高效分析和处理数据集。
在 Excel 中水平排序的原因
以下是在 Excel 中准备和分析数据时可能需要使用 Excel 水平排序技能的原因和时间:
- 当您有长列表或宽表时,水平排序可以使阅读和比较数据变得更容易,因为它减少了过度滚动的需要。
- 如果您需要在 Excel 和其他软件(如 Word 或 PowerPoint)之间复制和粘贴数据,水平排序可以帮助保持数据的对齐。
- 当您想要将相关信息组合在一起时,水平排序会很有帮助,例如按月组织销售数据或按行而不是列组织产品。
- 某些数据导入或导出可能会水平对齐数据,按相同方向排序可以节省时间并防止数据处理过程中出现错误。
- 某些报告或演示文稿可能需要水平布局来呈现数据,因此需要水平排序来满足这些格式需求。
现在探索在 Excel 工作表中水平排序数据集的各种直观且简单的方法:
使用排序选项在 Excel 中水平排序
您可以按照以下方式使用过滤和排序工具在 Excel 中执行水平排序:
- 突出显示您想要按列或从左到右排序的数据集。
- 单击“主页”选项卡的“编辑命令”块内的“排序和过滤”命令。
- 将会出现一个上下文菜单。
- 在那里,单击自定义排序选项。
- 您应该会看到“排序”对话框。
- 单击“选项” ,然后在“排序选项”对话框的“方向”部分下选择“从左到右排序”。
- 点击“排序依据”下拉菜单,选择要按哪一行对列进行排序。在本教程中,它是第 2 行。
- 单击“顺序”下拉菜单并选择排序顺序,如“从 A 到 Z”或“从 Z 到 A”。
- 单击“确定”执行水平排序。
使用函数在 Excel 中水平排序
另一种从左到右或水平对数据集进行排序的快速方法是使用内置的 SORT 函数。
以下是您必须使用的公式语法和步骤:
- 转到您想要数据集排序结果的单元格。
- 输入
equals sign
后跟函数SORT
。 - 然后,在括号中输入公式的以下参数:
- 输入要排序的数组,例如
B2:H5
在本教程中。 - 指示排序索引,即您想要对列进行排序的行号,例如
1
当前示例中的名称行。 - 您想按升序还是降序排序?或者,您可能想按 A 到 Z 或 Z 到 A 排序。您可以输入
1
升序或 A 到 Z,输入-1
降序或 Z 到 A。 - 输入参数
TRUE
按列排序或水平排序。
- 输入要排序的数组,例如
- 公式如下:
=SORT(B2:H5,1,1,)
- 点击Enter在 Excel 中水平排序数据。
排序后生成的结果数据集会产生溢出值。确切的公式保留在您突出显示以输入函数的第一个单元格中。如果您想通过引用结果的单元格范围来执行进一步的数据分析,则行不通。
因此,请按照以下步骤将溢出值转换为真实值,这些值可在 Excel 工作表中参考其他数据分析和可视化任务:
- Ctrl通过突出显示结果并按+来复制结果C。
- Ctrl现在按+ Alt+将其粘贴到同一位置或其他任何位置V。
- 在选择性粘贴对话框中选择值选项。
- 单击“确定”将复制的数据粘贴为值。
推荐:SEO数字营销机构WordPress主题Selo
使用 Power Query 在 Excel 中水平排序
从其他数据库导入数据或需要组织现有工作簿数据时,您还可以使用 Power Query 工具水平对数据集进行排序。操作方法如下:
导入新数据集或添加现有数据集
- 单击Excel 功能区上的数据选项卡。
- 转到获取并转换数据部分。
- 单击获取数据。
- 从上下文菜单中选择任何数据集源,例如从数据库>从 Oracle 数据库。
- 如果它是来自同一张工作表的数据集,则只需突出显示整个数据集。
- 单击获取和转换数据命令块内的从表/范围命令。
- 在“创建表”对话框中,单击“确定”。
- 您现在应该在 Power Query 工具中看到导入的或现有的数据集。
您必须导入顶部带有空白行的数据集,以帮助执行 Power Query 中的转置操作。
Power Query 中的转置和排序
- 选择 Power Query 编辑器工具中的所有列。
- 单击Power Query 功能区菜单上的“转换”选项卡。
- 在表格命令块内,单击转置选项。
- 导入的数据将会被转置。
- 突出显示包含原始数据集的行标题的第一行。
- 转到“主页”选项卡,然后单击“删除行” > “删除顶行”选项。
- 在“删除顶行”对话框中,输入数字1并单击“确定”。
- 这应该从数据集中删除不必要的行。
- 现在,选择要对数据集进行排序的列。在此示例中,它是Column1。
- 单击列下拉箭头并选择排序逻辑,例如“升序排序”。
- Power Query 应该根据选定的列快速对数据集进行排序。
转调回原始结构
- 选择 Power Query 编辑器画布中的所有列。
- 单击“变换”选项卡中的“转置”。
- Power Query 中的排序数据集现在应该具有您导入时的原始结构。
导入至 Excel 工作表
- 单击Power Query 编辑器上的“文件”选项卡。
- 从显示的上下文菜单中选择“关闭并加载到”选项。
- 在导入数据对话框中,单击现有工作表选项。
- 突出显示一个单元格,用于从 Power Query 导入已排序的数据集。
- 单击“确定”完成导入过程。
- 现在,将原始行标题复制并粘贴到导入的数据集中。
因此,现在您已经使用 Power Query 在 Excel 中获得了水平排序的数据集。
推荐:如何修复Windows 11激活错误代码0xc004c003
使用 Excel VBA 在 Excel 中水平排序
您还可以使用 Excel VBA 在 Excel 中进行水平排序。此方法适用于频繁对大型数据集进行排序。您只需在工作簿的 VBA 编辑器中编写并保存一次脚本,即可将其用于许多数据集。
以下是您应该使用的脚本以及简单步骤:
- 按Alt+F11调出Excel VBA 编辑器。
- 在那里,单击插入菜单并选择模块。
- 现在,将以下 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
- 单击保存按钮。
- 在警告对话框中选择“否” 。
- 在另存为对话框中,单击保存类型下拉菜单并选择XLSM文件。
- 单击“保存”以将现有的XLS文件保存在XLSM中。
- 关闭Excel VBA 编辑器。
要运行脚本,请按照下列步骤操作:
- 按Alt+F8调用宏对话框。
- 选择SortbyLeftRight宏。
- 点击运行按钮。
Excel 应立即按照名称行的 A 到 Z 顺序对所选数据集的B到H列进行排序。
以下是如何修改脚本以便在您自己的工作表上使用的方法:
- 将出现的单元格地址全部更改
B7
为目标单元格地址。 - 输入单元格区域为,在上述脚本中,用和
B2:H5
表示。假设工作表中的排序数据区域为,则将其更改为) 并将更改为等等。Range("B2")
Range("H5")
C5:I100
Range("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 脚本的步骤和必要的脚本:
- 单击Excel 功能区中的“自动化”选项卡。
- 选择新脚本选项。
- 将以下脚本复制并粘贴到代码编辑器面板中:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range B7 on selectedSheet
selectedSheet.getRange("B7").setFormulaLocal("=SORT(B2:H5,1,1,TRUE)");
}
- 单击“保存脚本”按钮,保存代码以供将来使用。
- 点击“运行”按钮来执行代码。
配置脚本的方法如下:
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 VBA和Office 脚本。