如何在Excel中按奇数或偶数对行进行排序?
在Excel中按升序或降序对数字进行排序是一项常见任务,但有时您可能需要整理数据,使所有奇数归为一组,所有偶数归为另一组。例如,假设您有一个很大的数字列表,并希望将奇数和偶数值分开以方便分析或生成报表。按奇数或偶数值排序并非Excel的默认功能,但有多种实用方法可以帮助您实现这一目标。下面,您会找到几种解决方案来按奇数或偶数对行进行排序——无论您喜欢使用辅助列、公式、VBA代码还是高级插件都可以选择适合的方法。
![]() | ![]() | ![]() |
通过辅助列按奇数或偶数对行进行排序
在Excel中按奇数或偶数值排序的最快方法之一是添加一个辅助列,该列可帮助Excel区分奇数和偶数以便进行排序操作。这种方法简单易行,适用于熟悉公式和排序功能的用户,且适用于任何Excel版本。此方法灵活,但确实需要临时添加一列。
1. 在您的数字列表旁边,在空白的相邻单元格中输入以下公式(例如,如果您的数字从A2开始,则将其输入到B2中): =ISODD(A2) 然后按Enter键。
请参见截图:
提示:ISODD函数用于检查某个值是否为奇数。如果使用列标题,请确保公式引用的是正确的数据行。
2使用填充柄将公式向下拖动到整个列表旁边。该公式会为奇数填充TRUE,为偶数填充FALSE。这种视觉上的区别将是排序的基础。
请参见截图:
3. 保持公式单元格选中状态,然后点击 数据 > 从小到大排序 或 从大到小排序。
4在 排序警告 对话框中,选择 扩展选定区域 并点击确定。这将确保所有行都正确排序,同时保持相关数据在一起。
请参见截图:
5点击 排序 按钮。如果您选择了“从小到大排序”,您的列表将按偶数在前、奇数在后的顺序分组(因为FALSE被认为小于TRUE)。
请参见截图:
注意:
1. 如果要使奇数出现在偶数之前,请在第3步中选择 从大到小排序 。
2. 排序完成后可以删除辅助列,以保持工作表整洁。
3. 注意不要仅对辅助列进行排序,否则会扰乱原始数据的顺序。
实用提示:此方法通用、离线可用,不需要宏或插件。但是,如果您经常需要按奇/偶排序,您可能希望尝试其他方法以提高自动化程度。
使用Kutools for Excel按奇数或偶数对行进行排序
对于那些管理大型数据集并希望获得更快、更灵活解决方案的用户,Kutools for Excel提供了一个高级排序功能,可以直接对奇数和偶数进行排序,而无需创建辅助列或编写复杂公式。这非常适合经常执行类似排序任务的用户,或者喜欢图形界面的用户。Kutools增强了排序功能,并支持高效的批量操作。
安装Kutools for Excel后,按照以下步骤操作:
1. 选择您希望排序的数据范围。
2导航到 Kutools Plus > 排序 > 高级排序.
请参见截图:
3在 高级排序 对话框中,从 列 下拉菜单中选择您希望排序的列。在 排序依据 部分中,选择 奇偶数;然后选择所需的排序顺序: A到Z 表示偶数优先, Z到A 表示奇数优先。
请参见截图:
4. 点击确定。您的列表将立即根据设置对奇数和偶数进行分组。以下是示例结果:
原始数据 | 从偶数到奇数排序 | 从奇数到偶数排序 | ||
![]() | ![]() | ![]() | ![]() | ![]() |
优点: 无需额外公式或列,界面简单,快速按奇/偶标准排序,非常适合频繁使用的用户。
注意事项: Kutools是一个第三方插件,需要安装,但因其强大的Excel增强功能而受到广泛信赖。
演示:使用Kutools for Excel按奇数或偶数对行进行排序
使用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输出更加透明。
- 您可以通过在升序和降序排序之间切换来更改顺序。
相关文章:
最佳Office办公效率工具
🤖 | Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数…… |
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入…… | |
高级LOOKUP:多条件VLookup|多值VLookup|多表查找|模糊查找…… | |
高级下拉列表:快速创建下拉列表 |依赖下拉列表 | 多选下拉列表…… | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列…… | |
特色功能:网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)…… | |
15大工具集:12项 文本工具(添加文本、删除特定字符等)|50+种 图表 类型(甘特图等)|40+实用 公式(基于生日计算年龄等)|19项 插入工具(插入二维码、从路径插入图片等)|12项 转换工具(小写金额转大写、汇率转换等)|7项 合并与分割工具(高级合并行、分割单元格等)| …… |
通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……
Office Tab为Office带来多标签界面,让您的工作更加轻松
- 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读。
- 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
- 可提升50%的工作效率,每天为您减少数百次鼠标点击!
所有Kutools加载项,一键安装
Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。





- 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠