可用PHONETIC函数实现。
示例如下:
假定合并如图所示的“一班”的同学名字到D列,名字之间以逗号分隔。
D2的公式:
=SUBSTITUTE(SUBSTITUTE(PHONETIC(OFFSET(A$1,MATCH(C2,A:A,)-1,,COUNTIF(A:A,C2),2)),C2,","),",",,1)
其中:OFFSET(A$1,MATCH(C2,A:A,)-1,,COUNTIF(A:A,C2),2) 得到所有一班的班级与姓名区域,然后用PHONETIC函数合并,得到依次由“一班”和姓名组成的字符串,最后用SUBSTITUTE函数将“一班”替换为逗号,并将第一个逗号去掉,得到如图中D2单元格的结果。
一个简单的 循环语句就搞定了
运行只需秒秒钟解决
如果要用Substitute+ PHONETIC,
先转换成文本就可以了
=(SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(E2,$A$1:$A$1000,0)-1,0,COUNTIF($A$1:$A$1000,E2),3)),E2,","))
函数可以实现,不过有点长,做好了的,要的话可以发邮箱
用VBA实现