如何在 Excel 中将逗号分隔的文本字符串转换为列表?

在 Excel 中,将逗号分隔的文本字符串转换为列表或行是一项常见任务,尤其在处理从 CSV 文件或其他文本源导入的数据时尤为实用。以下是一份详细指南,带您了解多种实现方法,包括使用 Excel 的内置功能和公式。
在 Excel 中将逗号分隔的文本字符串转换为列表
使用公式将逗号分隔的文本字符串转换为列表(Excel 365)
对于使用 Excel 365 的用户来说,TEXTSPLIT 函数是一种高效且直观的方式,可将逗号分隔的字符串轻松转换为行或列,并能根据输出大小自动调整单元格范围(即支持溢出结果)。
单击您希望结果开始显示的单元格,输入下方公式,然后按 Enter 键。包含逗号分隔文本字符串的单元格将立即转换为列表。参见截图:
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ", TRUE, A1:A4), ", ")) 
- TEXTJOIN(“, “, TRUE, A1:A4):
此公式将 A1 到 A4 单元格中的文本值合并为一个字符串,并以逗号加空格(,)分隔。
TRUE 参数可自动忽略范围中的空单元格。 - TEXTSPLIT(。。。, “, “):随后,TEXTJOIN 生成的组合字符串将以逗号加空格(,)作为分隔符,重新拆分为独立项,
从而生成一个包含原始值的数组。 - TRANSPOSE(。。。):最后,TRANSPOSE 函数可将数组从垂直列转换为水平行(或反之,具体取决于原始方向)。
- 优势:
- 易于使用:操作简单直观,无需额外工具。
- 动态数组:当源单元格中的数据发生变化时,结果将自动更新,确保输出始终为最新内容。
- 劣势:
- 可用性有限:仅适用于 Excel 365,旧版 Excel 用户无法使用。
使用 Kutools for Excel 将逗号分隔的文本字符串转换为列表
如果您无法使用 Excel 365,Kutools for Excel 提供了一种强大而直观的替代方案,轻松简化此任务。借助其“拆分到多行”功能,您可无缝将逗号分隔的字符串转换为多行,让数据管理更高效、更简便。
安装 Kutools for Excel 后,请按以下步骤操作:
- 单击“Kutools” > “合并和拆分” > “拆分到多行”,参见截图:

- 在“拆分到多行”对话框中,指定以下操作:
- 选择要拆分的单元格;
- 在“分隔符”部分,选择“其他”,然后输入您的分隔符(例如逗号加空格),以定义如何拆分单元格内容;
- 最后,单击“确定”按钮。

结果:所选单元格内容已按逗号拆分为列表。
- 优势:
- 多功能性:提供比 Excel 原生函数更丰富的自定义选项。
- 用户友好:提供直观的图形用户界面(GUI),引导您轻松完成操作,即使不熟悉 Excel 函数也能快速上手。
- 兼容所有 Excel 版本:Kutools 支持所有 Excel 版本,轻松畅用无阻!
- 劣势:
- 需要安装。
使用 VBA 代码将逗号分隔的文本字符串转换为列表
以下 VBA 代码可帮助您将多个逗号分隔的单元格值转换为一列,请按以下步骤操作:
1. 在 Excel 中按住“Alt + F11”键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入” > “模块”,然后将以下宏粘贴到模块窗口中。
VBA 代码:将逗号分隔的文本字符串转换为行或列表
Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice
Dim xArr() As String
Dim xAddress As String
Dim Rg As Range
Dim Rg1 As Range
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
If Rg Is Nothing Then Exit Sub
Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
If Rg Is Nothing Then Exit Sub
Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
If Rg1 Is Nothing Then Exit Sub
xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
Rg1.Parent.Activate
Rg1.Resize(UBound(xArr) + 1).Select
End Sub
3. 然后按 F5 键运行此代码,在弹出的对话框中选择要转换的数据区域,参见截图:

4. 然后单击“确定”,在随后弹出的对话框中指定用于输出结果的单元格,参见截图:

5. 单击“确定”按钮后,所选的逗号分隔单元格值将转换为行列表。参见截图:

- 优势:
- 兼容所有 Excel 版本:VBA 适用于 Excel 2007 及更高版本。
- 自动化处理:可批量高效处理大量数据,轻松应对各类重复性任务!
- 劣势:
- 需要编程知识:VBA 代码要求具备一定的编程经验,对初学者可能不够友好。
- 安全风险:启用宏可能存在安全隐患,尤其在处理来源不明的文件时更需谨慎。
无论您偏好无代码解决方案(如 Kutools)、内置 Excel 365 公式的简洁高效,还是 VBA 脚本的强大灵活,Excel 都提供了多种工具,助您高效地将逗号分隔的文本字符串转换为可用的数据格式,大幅提升工作效率,让您更轻松地管理和分析电子表格中的数据。想掌握更多实用技巧?我们的网站提供数千篇教程,助您精通 Excel!
相关文章:
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱

