工作中有没有遇到过,希望将一列数据通过某种规则组合在一起,比如一列名字按照邮箱规则生成列表形式?就像将下图转化为形式:
针对该问题,可以想办法将数据放入一个单元格,就可以直接copy。本文提供两种解决方法:
1. 使用VBA函数,这也是大多数同学优先想到的方法,代码很简单,就是循环,字符串迭代组合,直接上代码,如下图:
直接运行该宏,就会得到下面的结果
由于邮箱的名字一般都是以Firstname.Lastname组成,所以,对于本例以空格隔开姓名的方式,可以使用excel自带的substitute函数来将” ”替换为“.”,公式写法如下:
=SUBSTITUTE(B1," ",".")
简单明了,第一个参数:B1就是指的要操作的数据,第二个参数:空格就是需要替换到的字符,第三个参数:点就是需要替换成的字符。
通过上面的操作,就得到了所需要的结果,如图中B2单元格内容。
2. 还有一种方法,直接使用Excel自带的函数就能实现:PHONETIC。
具体操作非常简单,只要在A列紧邻的B列(一定要相邻区域,否则就无法得到正确结果)对应的加入需要拼接的字串,比如“@666.com;”
然后在某个单元格输入函数PHONETIC(A1:B8),回车,就完成了,如下图所示:
当然,对于本例同样存在第1种方法提到的姓名中空格与点转换的问题,处理方法与上面完全一样,不多赘述。
这样就可以快速得到所需结果,是不是很简单?
另外,PHONETIC这个函数比较特别,从帮助文档中所能看到的信息是:
明确写的是该函数只适用于日文,但是该函数在类似本例的单元格内容组合上却非常好用,不知道是否正好与某种日文的特性匹配,如有懂日文的朋友还望不吝赐教。
希望本文对大家有帮助,谢谢阅读!
领取专属 10元无门槛券
私享最新 技术干货