按分隔符拆分数据,请用一个公式解决

懒人办公
懒人办公

创作者俱乐部成员

【案例】

如下图,B列每一行都有多个姓名,姓名之间用顿号(、)隔开,需要将数据拆分为右边的形式,即每行数据只有一个姓名。

【操作效果】

【JSA代码】

按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。

function 按换行符拆分(){

j = 2 //此处表示F列的第2行,赋值给变量j

n = Range("a"+Rows.Count).End(3).Row //获取A列最后一行数据行号

for(i = 2;i<=n;i++){ //从第2行循环到最后一行

ar = Cells.Item(i, 'b').Value2.split('、') //按换行符对B列进行拆分,存入数组ar

for(xm of ar){ //遍历数组ar

Range("a" + i + ":d" + i).Copy(Cells.Item(j, "f")) //将数据复制到F列

Cells.Item(j, "g").Value2 = xm //将拆分后的姓名写入G列

j = j + 1 //对J列行号累加,使得下次循环从下一行开始写入

}

}

}

【问题】

请用一个数组公式解决此问题,并将结果写在评论区。

【素材下载】

https://kdocs.cn/l/cdh1nAUEnv4g

贵州省
浏览 1937
1
18
分享
18 +1
20
1 +1
全部评论 20
 
WPS_1691747235
谢谢大神
· 广东省
回复
 
天
谢谢老师分享
· 四川省
回复
 
〆 濤ゾ
感谢大老,学习中,
· 陕西省
回复
 
Luo
很实用的东西,值得学习
· 安徽省
回复
 
夏日麽麽茶
非常有用
· 湖北省
回复
 
可以不可
感谢大神分享👍
· 广东省
回复
 
企业用户_1123708301
有用
· 湖南省
回复
 
啊湫~
有用!!666
· 云南省
回复
 
WPS_1680964117
学习
· 广东省
回复
 
悠扬的旋律
复制
· 浙江省
回复
 
悠扬的旋律
Split
· 浙江省
回复
 
解学振
学习
· 江苏省
回复
 
孤芳。
66666
· 重庆
回复
 
任舟
任舟

创作者俱乐部成员

牛牛牛
· 山西省
回复
懒人办公
懒人办公

创作者俱乐部成员

感谢大佬支持
· 贵州省
回复
 
懒人办公
懒人办公

创作者俱乐部成员

请在文末下载素材,写出你的数组公式
· 贵州省
回复
 
孙璐阳
孙璐阳

创作者俱乐部成员

大佬一出手,就知有没有
· 广东省
1
回复
张俊
张俊

WPS函数专家

洋子老师也学会了!
· 上海
回复