Excel中如何按长度排序
Excel 允许您根据单元格中的数值、文本值、日期以及颜色对数据集进行排序。
但是,Excel 中没有内置功能可以根据单元格中文本的长度对单元格进行排序。
在我的一次 Excel 培训课程中,有人问我是否可以“按 Excel 单元格中的文本长度进行排序”。
我可以想出两种简单的方法来做到这一点(我确信可能还有更多)。
在本教程中,我将分享这两种简单的方法,您可以使用它们快速 Excel中按长度排序。
推荐:下载Microsoft Word模板的8个站点
使用 LEN 函数 + 排序功能按长度排序
下面我有一个数据集,其中 A 列中有一些人的姓名,我想根据单元格中姓名的长度对该数据集进行排序。
因此,我希望最短的名称位于顶部,最长的名称位于底部。
在此方法中,我将向您展示如何使用辅助列以及 Excel 中的内置排序功能来执行此操作。
这里的逻辑很简单,首先找出辅助列中每个单元格中名称的长度,然后使用该辅助列对数据进行排序。
以下是执行此操作的步骤:
- 在单元格 B1 中输入文本“助手”。 这将成为辅助列的列标题
- 在单元格 B2 中,输入以下公式:
=LEN(A2)
- 将公式应用于 B 列中的所有其他单元格。您可以通过选择已有公式 (B2) 的单元格,将光标放在填充手柄上,当它变成加号图标时,双击它。 或者您可以简单地复制粘贴具有公式的单元格来填充其他剩余单元格
- 选择整个数据集 – 包括辅助列和标题
- 单击功能区中的“数据”选项卡
- 单击“排序”图标。 这将打开“排序”对话框
- 在“排序”对话框中,选中“我的数据有标题”选项
- 单击“排序依据”下拉列表并选择“帮助程序”选项。 这样做将确保使用辅助列对数据进行排序
- 选择排序顺序(这里我将选择从小到大)
- 单击“确定”
上述步骤将立即根据 A 列中每个单元格中的名称长度对数据进行排序。
完成排序后,您可以删除辅助列。
专家提示:如果您还需要保留原始数据,最好创建数据集的备份副本
笔记:我使用 LEN 函数来找出每个单元格中的字符总数。 如果单元格的名称之间有前导、尾随或双空格,这些也会被计算在内。 这可能会给您带来意想不到的排序结果,因此请确保删除所有多余的空格。
使用 SORTBY 公式按长度排序(Office 365 中的新功能)
如果您使用的是新版本的 Excel(随 Microsoft 365 订阅一起提供),您将可以使用其他排序功能,从而可以轻松根据文本长度进行排序。
下面我有相同的数据集,其中 A 列中有名称,我想根据名称的长度对此数据进行排序。
这是为我做到这一点的公式:
=SORTBY(A2:A11,LEN(A2:A11),1)
在您想要结果的单元格中输入以上公式。 由于这是一个数组公式,因此结果会溢出并在输入公式的单元格下方显示结果。
在此示例中,我在单元格 B2 中输入了此公式。
现在,让我快速解释一下这个公式是如何工作的。
在上面的 SORTBY 函数中,我使用了三个参数:
- 需要排序的数组 – 这将是 A 列中的名称,需要根据名称的长度进行排序
- 您需要对第一个数组进行排序的数组 – 这是我们需要对名称数据集进行排序的标准。 由于我想根据名称的长度对其进行排序,因此我使用 LEN 函数首先计算每个单元格中名称的长度,然后使用它作为对名称数据进行排序的标准
- 排序 – 我在这里使用了 1,因为我希望按升序进行排序
另外,在使用此公式根据文本长度进行排序时,您需要了解以下一些重要事项:
- 由于这是数组公式的结果,因此您将无法更改或删除具有该公式结果的任何一个单元格。 您可以删除整个结果,但无法编辑或删除结果数组的特定元素
- 当您输入 SORTBY 公式并按 Enter 键时,公式的结果将溢出到您输入公式的单元格下方的单元格中。 如果任何单元格(应该填充结果数组)中已经有任何内容,则该公式将给出 SPILL 错误。 要纠正此错误,您必须确保单元格为空,以便它们可以被 SORTBY 公式的结果占据
因此,您可以使用这两种简单的方法来快速 根据 Excel 单元格中的文本长度进行排序。
如果您使用的是较旧版本的 Excel,则可以将 LEN 函数与排序功能一起使用;如果您使用的是较新版本的 Excel 并可以访问 SORTBY 函数,则可以通过单个函数来完成此操作公式。
我确信您也可以使用 VBA 或 Power Query 来完成此操作,但我想保持简单并向您展示我能想到的两种最简单的方法。