在Microsoft Excel中按颜色排序的5种方法

在Microsoft Excel中按颜色排序的5种方法

您是否需要根据单元格颜色来组织 Excel 工作表?

您经常在表格中使用颜色来表示相关数据。一个很好的例子是一张表格,其中每个消费者都有自己喜欢的蔬菜。

您可能希望将单元格的颜色与蔬菜的颜色相匹配。然后,您可以按颜色对表格进行排序,以便所有相同颜色的蔬菜都出现在一起!

这篇文章将向您展示在 Excel 中按颜色排序的不同方法。

推荐:Microsoft Excel中扩展表格的6种方法

从“数据”选项卡按颜色排序

任何排序的一般步骤是选择需要排序的数据,然后指定排序详细信息。

在Microsoft Excel中按颜色排序的5种方法
在Microsoft Excel中按颜色排序的5种方法

按照以下步骤使用 数据 标签。

  1. 选择需要排序的单元格。

您可以选择表格中的单个单元格或范围。如果您选择的内容少于整个表格,Excel 将尝试猜测您想要排序的单元格。

  1. 前往 数据 标签。
  2. 选择 种类 命令。

选择 扩大选择范围 并点击 种类… 对整个表格进行排序。只有当 Excel 认为您选择了部分表格区域时,您才会收到此提示。

默认情况下,Excel 假设最上面的表格行是标题。此示例表格有一个标题,因此请确保 我的数据有标题 已选中。Excel 将从排序中排除该行。

  1. 排序方式 落下。
  2. 选择 单元格颜色 在里面 排序依据 落下。
  3. 命令 下拉并确保 在上面 被选中,这样绿色单元格就会首先出现。
  1. 点击 添加级别 并在新的 排序方式 落下。
  2. 选择 单元格颜色 再次在新的 排序依据 落下。
  3. 这次选择黄色 命令 下拉菜单使得黄色单元格出现在绿色单元格之后。
  1. 重复该过程以添加您想要排序的任何其他颜色。
  2. 点击 好的 完成后。

💡 提示:规则出现的顺序 种类 菜单将是颜色排序的顺序。您可以使用菜单顶部的向上和向下箭头根据需要重新排列颜色。

观察整个表格如何按绿色、黄色和红色的顺序排列!

通过过滤器切换按颜色排序

您可能已经在表格中使用了筛选切换按钮,原因并非排序。这些切换按钮上也有一个排序选项。

按照以下步骤从过滤器切换中应用按颜色排序选项。

首先选择表头,确保过滤器切换开关已打开。

在下面 数据 标签确保 筛选 选项已打开。

选择彩色单元格列标题的过滤器切换。

选择 按颜色排序 选项,然后选择要排序的颜色。所选颜色将显示在排序数据的顶部。

自定义排序 如果您想按多种颜色排序,则可以进行选择。

看看现在整个表格是如何排序的,绿色单元格在最上面!还请注意,这种基本排序不会对其他颜色进行排序。

推荐:如何使用INDEX MATCH在Excel中执行高级查找

通过右键菜单按颜色排序

右键菜单提供了一种快捷方法来访问常见的 Excel 功能,例如排序。

这些步骤将允许您使用右键单击菜单按颜色排序。

  1. 右键单击要按其颜色排序的单元格。
  1. 选择 种类 选项。
  1. 选择 将选定单元格颜色置于最上 子菜单中的选项。

注意,可以使用更复杂的排序 自定义排序 选项。

您的表格现在已重新排序,所有绿色单元格均显示在顶部!请注意,这种排序方式会使其他颜色的单元格保持未排序状态。

使用 VBA 按颜色排序

VBA 可在 Excel 桌面版中使用,可用于自动执行排序等任务。您可以编写 VBA 代码,按颜色对任何当前选定的范围进行排序!

按照以下步骤开始使用 VBA。

选择 开发人员 选项卡并选择 Visual Basic 命令或按 Alt + F11。你可能需要 如果“开发人员”选项卡被隐藏,则显示该选项卡 从功能区中。

选择 插入 菜单,然后 模块 选项。

Sub SortByColor()

Dim ws As Worksheet
Dim tbl As Range
Dim col As Range

Set ws = ActiveSheet
Set tbl = ws.UsedRange
Set col = Intersect(Selection.EntireColumn, tbl)

With ws.Sort
    .SortFields.Clear
    
    .SortFields.Add(col, _
        xlSortOnCellColor).SortOnValue.Color = vbGreen
    .SortFields.Add(col, _
        xlSortOnCellColor).SortOnValue.Color = vbYellow
    .SortFields.Add(col, _
        xlSortOnCellColor).SortOnValue.Color = vbRed
    
    .SetRange tbl
    .Header = xlYes
    .Apply
End With

End Sub

双击新模块并将上述代码粘贴到该模块中。

代码将活动工作表的所有内容作为表格。活动单元格表示要排序的颜色列。

代码首先清除所有先前的排序。从上到下的排序优先级指定为绿色、黄色和红色。代码告诉 Excel 将顶部表格行视为标题,然后应用排序。

要运行代码,您可以选择彩色列内的单元格。

前往 看法 选项卡并选择

这将打开宏菜单,您可以在其中查看所有可用的宏。选择您的 按颜色排序 宏并单击 跑步 按钮。

您的桌子现在已按颜色排序!

使用 Office 脚本按颜色排序

Office Scripts 是一种脚本语言,以前仅在 Microsoft 365 商业计划下的 Excel 在线版本中可用。它最近也扩展到了桌面 Excel 的测试版渠道。

您可以按照以下步骤使用 Office 脚本按颜色排序。

打开表格数据的 Excel 工作簿。

前往 自动化 选项卡并选择 新脚本

如果你没有看到 自动化 选项卡,那么您的 Excel 版本可能不支持 Office 脚本,或者您可能需要从 Microsoft 365 帐户的管理面板启用此功能。

function main(workbook: ExcelScript.Workbook) {

let ws = workbook.getActiveWorksheet();
let tbl = ws.getUsedRange();

let green: ExcelScript.SortField = {ascending: true, color: "00ff00", key: 1, sortOn: ExcelScript.SortOn.cellColor};

let yellow: ExcelScript.SortField = {ascending: true, color: "ffff00", key: 1, sortOn: ExcelScript.SortOn.cellColor};

let red: ExcelScript.SortField = { ascending: true, color: "ff0000", key: 1, sortOn: ExcelScript.SortOn.cellColor};

let hasHeaders = true;

tbl.getSort().apply([green, yellow, red], false, hasHeaders);

}

将上述脚本粘贴到 代码编辑器 窗格。

该脚本假定您的表格是活动工作表上的唯一内容。

greenyellow, 和 red 通过指定 key 作为 1

00ff00ffff00, 和 ff0000 值是每种颜色的十六进制代码表示。设置 hasHeaderstrue 将表格标题排除在排序之外。

线路 tbl.getSort().apply 按绿色、黄色和红色的顺序进行排序。

通过选择工作表中的任意位置并单击来尝试您的代码 跑步 代码编辑器上的按钮。

您可以立即看到颜色分类的结果!

结论

这篇文章向您介绍了如何通过几种不同的方式按颜色排序。

传统的 数据 tab 方法允许你使用 种类 菜单选项。

您可以通过过滤器切换或右键菜单快速进行单色排序。请注意,多色排序只能通过 自定义排序 选项。

如果您需要反复对数据进行重新排序,您可以随时实施 VBA 代码。这也适用于具有受支持许可的 Office 脚本。Office 脚本在 Excel 中不断扩展,是实现自动排序的良好途径!

您是否曾经需要在 Excel 中按单元格颜色排序?您是如何做到的?请在下方评论中告诉我!

推荐:修复WhatsApp呼叫在Windows 11上不起作用的方法


发表评论