KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中按行号的奇偶性对数据进行排序?

作者晓阳修改日期

在 Excel 中按升序或降序对数字排序是常见操作,但有时您可能希望将数据重新组织为所有奇数集中在一起、所有偶数集中在一起的形式。例如,面对庞大的数字列表时,将奇数与偶数值分开有助于更轻松地分析数据或生成报告。虽然 Excel 本身并未内置按奇偶性排序的功能,但您仍可通过多种实用方法实现这一目标。以下介绍了几种按奇数或偶数对行进行排序的解决方案——无论您偏好使用辅助列、公式、VBA 代码,还是高级插件。

显示 Excel 中数字列表的截图箭头应用按奇偶数排序后,Excel 中已排序列表的截图

使用辅助列按奇数或偶数对行进行排序

使用 Kutools for Excel 按奇数或偶数对行进行排序

使用 VBA 代码按奇数或偶数对行进行排序

使用 MOD 公式识别奇数或偶数


使用辅助列按奇数或偶数对行进行排序

在 Excel 中,按奇偶值对数字排序的最快方法之一是添加一个辅助列,让 Excel 在排序时能轻松区分奇数和偶数。此方法简单直接,适用于所有 Excel 版本,尤其适合熟悉公式与排序功能的用户。虽然操作灵活,但需临时插入一个新列。

1. 在数字列表旁的空白相邻单元格中(例如,若数字从 A2 开始,则在 B2 中)输入以下公式:=ISODD(A2),然后按 Enter。
参见截图:

展示如何在 Excel 中应用 ISODD 公式以识别奇数的截图

提示:ISODD 函数用于判断数值是否为奇数。若使用了列标题,请确保公式引用的是正确的数据行。

2. 使用填充柄将公式向下拖动,覆盖整个列表。公式会为奇数行返回 TRUE,偶数行返回 FALSE。这种视觉区分将作为排序的依据。
参见截图:

展示 ISODD 公式在 Excel 中标识奇数和偶数结果的截图

3. 保持公式单元格处于选中状态,然后单击数据> 排序小到大排序大到小

展示 Excel 中排序选项的截图

4. 排序警告对话框中,选择扩展选定区域,然后单击“确定”。这可确保所有行正确排序,同时保持相关数据完整关联。
参见截图:

排序警告对话框的截图

5. 单击排序按钮。若选择“排序小到大”,您的列表将按偶数在前、奇数在后的顺序分组(因为 FALSE 被视为小于 TRUE)。
参见截图:

展示 Excel 中偶数排在一起、随后是奇数的排序结果截图

注意事项:

1. 要让奇数排在偶数前面,请在步骤 3 中选择排序大到小
2. 排序完成后,可删除辅助列,让工作表更整洁。
3. 注意:切勿仅对辅助列排序,否则会打乱原始数据的顺序。

实用提示:此方法通用、无需联网,也无需宏或插件。但如果您经常需要按奇偶排序,不妨尝试其他方法,进一步提升自动化效率。


使用 Kutools for Excel 按奇数或偶数对行进行排序

Kutools for Excel 为管理大型数据集并追求更快、更灵活解决方案的用户,提供了高级排序功能,可直接按奇偶数排序——无需创建辅助列或编写复杂公式。此方法特别适合经常执行此类排序任务或偏好图形界面的用户。Kutools 不仅强化了排序功能,更高效支持批量操作,助您轻松提升效率!

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装 Kutools for Excel 后,请按以下步骤操作:

1. 选择需要排序的数据范围。

2. 转到 KUTOOLS PLUS > 排序 > 高级排序
参见截图:

功能区 Kutools 选项卡上高级排序功能的截图

3. 高级排序对话框中,从下拉菜单中选择要排序的列;在排序依据部分,选择奇偶数,然后根据需要选择排序顺序:A 到 Z表示偶数在前,Z 到 A表示奇数在前。
参见截图:

高级排序对话框的截图

4. 单击确定,您的列表将立即按设置对奇偶数进行分组。以下是示例结果:

原始数据 从偶数到奇数排序 从奇数到偶数排序
原始未排序数据的截图箭头展示 Excel 中数据从偶数到奇数排序的截图箭头展示 Excel 中数据从奇数到偶数排序的截图

单击了解更多关于此高级排序功能的信息。

立即下载并免费试用 Kutools for Excel!

优势:无需额外公式或辅助列,界面简洁直观,可快速按奇偶行条件排序,非常适合高频用户。
注意事项:Kutools 是一款需安装的第三方插件,凭借强大的 Excel 增强功能,广受用户信赖。


演示:使用 Kutools for Excel 按奇数或偶数对行进行排序

 
Kutools for Excel:超过 300 款实用工具触手可及!畅享 AI 驱动的功能,让工作更智能、更高效!立即下载!

使用 VBA 代码按奇数或偶数对行进行排序

如果您希望自动化按奇偶值对数字进行排序的过程,使用 VBA 宏是一种高效之选。此方法特别适合具备基础宏知识的用户,尤其适用于需要频繁重复排序、希望避免添加辅助列或不愿依赖第三方插件的场景。VBA 能为您提供一种快速、简洁的原位排序方案。

1. 单击开发工具 > Visual Basic,打开 Microsoft Visual Basic for Applications 窗口。若未显示“开发工具”选项卡,可通过 Excel 选项启用。在 VBA 窗口中,单击插入 > 模块,并将以下代码粘贴到模块中:

Sub SortByOddEven()
    Dim ws As Worksheet
    Dim rng As Range, cell As Range
    Dim arr As Variant
    Dim HelperArr() As Integer
    Dim i As Long
    
    On Error Resume Next
    Set ws = Application.ActiveSheet
    Set rng = Application.InputBox("Select the range to sort (single column):", "KutoolsforExcel", Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    arr = rng.Value
    ReDim HelperArr(1 To UBound(arr, 1))
    
    For i = 1 To UBound(arr, 1)
        If IsNumeric(arr(i, 1)) Then
            HelperArr(i) = arr(i, 1) Mod 2
        Else
            HelperArr(i) = 2 ' Non-numeric entries go last
        End If
    Next i
    
    ' Add helper column
    rng.Offset(0, 1).Resize(UBound(arr, 1), 1).Value = Application.Transpose(HelperArr)
    
    ' Sort by helper column
    ws.Sort.SortFields.Clear
    ws.Sort.SortFields.Add Key:=rng.Offset(0, 1), SortOn:=xlSortOnValues, Order:=xlAscending
    
    With ws.Sort
        .SetRange rng.Resize(, 2)
        .Header = xlNo
        .Apply
    End With
    
    ' Remove helper column
    rng.Offset(0, 1).Resize(UBound(arr, 1), 1).Clear
    
    MsgBox "Rows are sorted by odd (1) or even (0) numbers.", vbInformation, "KutoolsforExcel"
End Sub

2. F5 或单击运行按钮按钮运行宏。在弹出的输入框中选择数据列,宏将自动对数据进行排序,使偶数在前、奇数在后(或根据排序顺序反之亦然)。

注意事项与故障排除:

  • 如果将此宏应用于多列区域,仅所选列及其相邻列会参与排序。为获得最佳效果,请仅选择需要排序的列;若需在高级使用场景中实现多列排序,可相应调整代码。
  • 运行宏前,请务必保存工作表,以防数据意外丢失。
  • 非数值条目将自动排至底部,以避免出错。

优势:完全自动化,无需保留辅助列,轻松应对重复任务。
局限性:需启用宏并具备一定 VBA 经验;处理敏感数据时请谨慎使用。


使用 MOD 公式识别奇数或偶数

除了 ISODD 函数外,您还可以使用 MOD 函数来轻松区分奇偶数。这种方法特别适合熟悉标准数学运算的用户,或正在使用缺少某些函数或本地化支持的旧版 Excel 的用户。MOD 方法会返回清晰的数值标识:0 代表偶数,1 代表奇数,助您精准掌控排序顺序,并无缝集成到其他排序工作流中。

1. 在数字旁边的空白单元格中(例如 B2)输入以下公式:

=MOD(A2,2)

此公式将 A2 中的值除以 2 并返回余数:偶数结果为 0,奇数结果为 1.
2. 将此公式向下填充,以应用到其余数字列表。
3. 按照前述辅助列方法,根据此辅助列对数据进行排序(数据 > 排序)。选择“从小到大”排序,即可将所有偶数(0)排在所有奇数(1)之前。

提示:

  • 如果您的数据包含非整数值,MOD 函数仍可正常运行,但只有整数部分会按预期返回 0 或 1.
  • 此方法不受语言和地区限制,且比 TRUE/FALSE 输出更直观。
  • 您可通过切换升序与降序排序,轻松调整顺序。

相关文章:

如何在 Excel 中按邮箱地址的域名进行排序?

如何在 Excel 中按值出现频率的高低对数据进行排序?

如何在 Excel 中根据删除线对数据进行排序或筛选?

如何在 Excel 中对行进行排序,使空白单元格显示在顶部?


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱