【WPS】【EXCEL】将单元格中字符按照分隔符拆分按行填充到其他单元格

问题:实现如下图的效果


解答:

一、函数

vbscript 复制代码
=IFERROR(TRIM(MID(SUBSTITUTE($A$2,",",REPT(" ",LEN($A$2))),(ROW(A1)-1)*LEN($A$2)+1,LEN($A$2))),"")

二、在单元格C2中填写如下函数

三、全选要填充的单元格并且按CTRL+D

函数解析:

1. SUBSTITUTE函数

  • 语法SUBSTITUTE(text, old_text, new_text, [instance_num])

  • 作用:用于将文本字符串中的部分文本替换为新的文本内容。

  • 在本公式中的应用SUBSTITUTE($A$2,",",REPT(" ",LEN($A$2)))这部分里,$A$2表示要处理的文本所在单元格(这里就是存放"晓妍,宇轩,晨晨,子涵"的单元格),","表示要被替换掉的旧文本,也就是逗号,REPT(" ",LEN($A$2))是用来生成替换内容的。REPT函数会按照指定的次数重复文本,这里REPT(" ",LEN($A$2))的意思是重复空格,重复的次数等于A2单元格文本的长度(通过LEN($A$2)获取长度值)。整体上就是把A2单元格文本里的逗号都替换成和原文本长度一样数量的空格,例如原文本长度为15个字符,就把逗号替换成15个空格,目的是为后续按固定长度提取名字做准备,让每个名字之间间隔足够大,便于区分。

2. MID函数

  • 语法MID(text, start_num, num_chars)

  • 作用:从一个文本字符串中截取出指定起始位置以及指定数量字符的部分文本。

  • 在本公式中的应用MID(SUBSTITUTE($A$2,",",REPT(" ",LEN($A$2))), (ROW(A1)-1)*LEN($A$2)+1, LEN($A$2)),前面SUBSTITUTE函数处理后的结果作为MID函数要截取的文本来源,(ROW(A1)-1)*LEN($A$2)+1用来确定每次截取的起始位置,ROW(A1)返回的是当前行号(当公式在C2单元格时,ROW(A1)返回1 ,随着公式向下拖动到C3、C4等单元格时,ROW函数返回的值会相应变成2、3等),乘以LEN($A$2)(也就是原文本长度)再加1,就可以按原文本长度的间隔依次往后确定起始位置,LEN($A$2)作为第三个参数表示每次截取的字符数量就是原文本长度这么多个,这样就能依次把替换逗号为空格后的每个名字所在部分截取出来了。

3. TRIM函数

  • 语法TRIM(text)

  • 作用:去除文本前后多余的空格,使文本更整洁规范地显示。

  • 在本公式中的应用 :因为前面通过SUBSTITUTEMID函数操作后,截取出来的名字部分前后可能带有多余的空格,所以用TRIM函数对截取到的内容进行处理,去掉那些多余空格,得到干净的名字文本。

4. IFERROR函数

  • 语法IFERROR(value, value_if_error)

  • 作用 :如果表达式value的计算结果为错误(比如公式运算出现错误情况,像原文本不符合预期格式等导致前面函数无法正确提取等情况),则返回value_if_error指定的值,否则返回value本身的值。

  • 在本公式中的应用 :在这里整个公式外面套上IFERROR函数,并且value_if_error设置为""(空文本),就是为了避免前面函数在某些特殊情况下出现错误值而影响最终显示效果,让出现错误时直接显示为空文本,保证填充到单元格里的数据是正常名字或者为空的较规范的状态。

相关推荐
野比带雄17 小时前
対excel时间格式的理解
excel
缺点内向18 小时前
Java:轻松实现 Excel 文档属性添加
java·开发语言·excel
Teable任意门互动20 小时前
从飞书多维表格 简道云到Teable多维表格:企业为何选择Teable作为新一代智能数据协作平台?
数据库·excel·钉钉·飞书·开源软件
AC赳赳老秦1 天前
DeepSeek + Excel 实战:多表联动分析与异常数据自动预警教程
microsoft·rabbitmq·excel·etcd·memcached·memcache·deepseek
2501_930707781 天前
如何使用C#代码将 Excel 文件转换为 SVG
开发语言·c#·excel
Eiceblue1 天前
将 Python 列表导出为 Excel 文件:一维、二维、字典列表
开发语言·python·excel·visual studio code
飞由于度1 天前
WPS中标题自动编号的方法
wps
Shi_haoliu2 天前
inno setup6.6.1实例,制作安装包,创建共享文件夹,写入注册表(提供给excel加载项,此文章解释iss文件)
前端·vue.js·windows·excel
2501_907136822 天前
通用财务账模板【Excel版】
excel·软件需求
CodeCraft Studio2 天前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建折线图
java·c#·excel·aspose.cells·excel图表·excel api库·excel折线图