跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在Excel中对逗号分隔的数字列表进行排序?

Author Sun Last modified

在Excel中,按升序或降序对值列表进行排序是一项非常常见的任务。然而,当这些数字被组合在一个单元格中并用逗号分隔时(如下图所示),事情就变得不那么简单了。许多用户不知道如何在单个单元格内对数字进行排序,因为Excel的默认排序工具是针对行或列操作的,而不是单元格内容内部。本文将探讨几种实用的解决方案,帮助您高效地对单元格内逗号分隔的数字进行排序,节省时间并减少Excel任务中的手动操作。

A screenshot of3 cells of comma-separated values in Excel for sorting, and their sorting results

使用“文本分列”功能对逗号分隔的值进行排序

使用Kutools for Excel对逗号分隔的值进行排序good idea3

使用VBA代码对逗号分隔的值进行排序


使用“文本分列”功能对逗号分隔的值进行排序

要对单个单元格内逗号分隔的数字进行排序,首先需要暂时将这些数字拆分为单独的单元格,排序后再(如有必要)重新组合它们。Excel的“文本分列”功能可以快速将逗号分隔的数据分离到各个列中,之后您可以转置、排序并进一步处理数据。如果您熟悉单元格转换和手动步骤,这种方法非常有效。

适用范围:此方法最适合处理小到中型列表且不需要频繁重复操作的用户,因为它确实需要多个手动步骤,并且对于动态或经常更新的数据可能并不理想。

注意事项:确保所选列右侧有足够的空白单元格,以避免在使用“文本分列”功能拆分时覆盖现有数据。请记住检查数据中逗号后是否有空格,因为空格会影响拆分结果并需要修剪。在此方法中,重新组合排序后的值到单个单元格不是自动的,可能需要进一步操作。

1. 选择要按逗号拆分的单元格,然后点击 数据 > 文本分列。在 转换文本到列向导的第1步中,选择 分隔符 选项,指定使用逗号来拆分文本。见截图:

2. 点击 下一步 继续进入 向导的第2步。勾选 逗号 分隔符框,然后点击 下一步 再次进入 向导的第3步。在这里,选择一个输出分离值的目标单元格,确保输出区域右侧有足够的空间。见截图:
A screenshot of the Text to Columns Wizard in Excel with Comma delimiter selected

3. 点击 完成,数值将被拆分到相邻的列中。检查数字是否按预期拆分;如果没有,请检查原始数据中是否存在首尾空格。见截图:
A screenshot showing separated values after using Text to Columns in Excel

4. 准备排序时,选择所有拆分后的单元格,按下 Ctrl + C 复制,然后右键单击空白区域,选择 选择性粘贴 > 转置。这将把数字垂直排列到单列中。见截图:
A screenshot of Paste Special with Transpose option in Excel context menu

转置后,您的数字应如下所示:
A screenshot of transposed data after Paste Special in Excel

5. 现在,选择包含转置值的列。前往 数据 选项卡,点击 排序与筛选 组中的首选排序选项(升序或降序)。如果出现 排序警告 对话框,请选择 继续当前选择 并确认 确定.
A screenshot of Sort & Filter options on Excel Data tab for sorting columns A screenshot of Sort Warning dialog in Excel with Continue with current selection

所选列现在已按您选择的顺序排序。如果有多个单元格需要处理,请对每个单元格重复此操作。
A screenshot of sorted values in Excel after using Text to Columns and Sort

6. 对每组转置值重复上述过程。请注意,此方法是手动操作,最适合较短的列表。
A screenshot of3 cells of comma-separated values in Excel for sorting, and their sorting results

提示:排序后,如果您想通过逗号重新将数字合并到单个单元格中,可以使用TEXTJOIN函数(适用于Excel 2016及更高版本)或手动使用CONCATENATE运算符连接项目。注意常见错误,例如缺少值或分隔符位置不正确。


使用Kutools for Excel对逗号分隔的值进行排序

在处理较大数据集或定期执行此类任务时,像Kutools for Excel这样的工具提供了一种快速且用户友好的方式来拆分和排序单元格中的逗号分隔值。通过使用Split Cells工具分解数字,可以大幅减少手动工作量。此方法特别适合希望优化工作流程并尽量减少重复操作的用户。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

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

1. 选择包含要处理的逗号分隔值的区域。点击 Kutools > 合并与拆分 > 拆分单元格。在 拆分单元格 对话框中,勾选 分割至多行类型 部分,并在 其他分隔依据 部分中输入逗号(, )作为分隔符。见截图:
 A screenshot of Kutools Split Cells dialog

2. 点击 确定。将弹出一个对话框,提示您选择放置拆分值的目标单元格。选择下方有足够空白行的单元格,然后点击 确定确认。您的逗号分隔数字现在应拆分为单独的行。见截图:
A screenshot showing Kutools dialog to specify where to place split values
A screenshot showing comma-separated values split to rows in Excel using Kutools

3. 选择要排序的拆分列或行之一,然后前往 数据 > 从小到大排序从大到小排序。在 排序警告 对话框中,再次选择 继续当前选择 并点击 确定。见截图:
A screenshot of Sort & Filter options on Excel Data tab for sorting columns A screenshot of Sort Warning dialog in Excel with Continue with current selection

4. 如有需要,重复第3步以对其他列进行排序。排序后,您可以根据需要进一步处理或重新组合数据,例如使用TEXTJOIN等公式工具。
A screenshot of3 cells of comma-separated values in Excel for sorting, and their sorting results

提示:此方法对于重复性任务特别有用,因为Kutools自动化了许多手动拆分步骤。如果您有长列表或需要同时处理多个单元格,此解决方案可以大大提高效率。

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

演示:使用Kutools for Excel对逗号分隔的值进行排序

 

使用VBA代码对逗号分隔的值进行排序

对于那些希望完全自动化该过程的人来说——无论Excel版本如何——一个简单的VBA宏都可以用来拆分、排序并重新组合任何单元格内的逗号分隔数字。此解决方案非常适合处理重复性任务或大量数据的用户,手动选项在这种情况下不切实际。

优点:VBA使您能够处理大型数据集,一次处理多个单元格,并根据需要重复操作。但是,运行宏需要在工作簿中启用宏,并对VBA编辑器有一定的基本了解。对于多用户或高度自动化的环境,这是最具扩展性的方法。

注意:在运行新宏之前始终保存您的工作,并尽可能在数据副本上测试宏,以防止意外丢失。

1. 点击开发工具 > Visual Basic 打开Microsoft Visual Basic for Applications编辑器。在编辑器中,点击插入 > 模块,然后将以下代码粘贴到模块中:

Sub SortCommaSeparatedNumbers()
    Dim rng As Range
    Dim cell As Range
    Dim arr As Variant
    Dim sortedArr As Variant
    Dim temp As String
    Dim i As Long, j As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to sort comma-separated numbers", xTitleId, rng.Address, Type:=8)
    
    Application.ScreenUpdating = False
    
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            arr = Split(cell.Value, ",")
            
            ' Bubble Sort
            For i = LBound(arr) To UBound(arr) - 1
                For j = i + 1 To UBound(arr)
                    If Val(arr(i)) > Val(arr(j)) Then
                        temp = arr(i)
                        arr(i) = arr(j)
                        arr(j) = temp
                    End If
                Next j
            Next i
            
            cell.Value = Join(arr, ",")
        End If
    Next cell
    
    Application.ScreenUpdating = True
    MsgBox "Sorting done!", vbInformation, xTitleId
End Sub

2. 关闭VBA编辑器。返回Excel并按下Alt + F8,选择SortCommaSeparatedNumbers,然后点击运行。将弹出一个对话框,提示您选择要处理的单元格范围。在选择范围并确认后,脚本将处理每个单元格,自动对其中的数字进行排序并用逗号重新组合。

故障排除和提示:即使逗号后面有空格,此宏也会将值作为数字进行排序。如果单元格包含非数字条目,宏也会对其进行排序,但可能会产生意外结果。如需降序排序,请将代码中的比较运算符从If Val(arr(i)) > Val(arr(j)) Then调整为If Val(arr(i)) < Val(arr(j)) Then。如果您的列表包含文本或混合数据,请考虑添加类型检查。在运行批量操作前务必备份数据。

总之,在单元格内对逗号分隔的数字进行排序可以通过多种方式在Excel中实现,每种方式适用于不同的场景和Excel版本。“文本分列”或Kutools适用于手动或工具辅助解决方案,而VBA则提供了高效、自动化的处理——特别是针对频繁更新或大数据集。根据您的实际需求、数据大小和Excel版本选择合适的解决方案。如果出现错误或意外行为,请仔细检查分隔符、单元格格式,并确保在运行上述方法前清除多余的空格。定期保存您的工作并在数据副本上操作有助于避免重要信息的意外丢失或覆盖。

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件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中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

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