Excel: 连接 space 分隔的 Firstinitial Middleinitial LastName @email.address.com

Excel: Concatenate space separated Firstinitial Middleinitial LastName @email.address.com

我想弄清楚如何将用户的名字首字母、中间名首字母和姓氏与“@emailaddress.com”连接起来。用户的全名将在一个单元格中,仅以空格分隔。我需要将第一个和中间名的首字母与姓氏一起拉出来,将它们连接起来并添加电子邮件地址扩展名,所有这些都在另一个单元格中。

示例:

单元格 1:John P Smith

单元格 2(必须是):jpsmith@emailaddress.com

谢谢大家!

假设中间名首字母总是一个字母,使用这个

=CONCATENATE(LEFT(A1,1),MID(A1,FIND(" ",A1)+1,1),MID(A1, FIND(" ", A1, FIND(" ", A1)+1)+1,256),"@emailaddress.com")

它的工作原理基本上是从左边开始获取第一个字母,第一个 space 之后的第一个字母,以及第二个 space 之后的任何字母,然后添加 @emailaddress.com。将 A1 更改为您姓名所在的任何单元格,并将 @emailaddress.com 更改为电子邮件地址。

尝试以下 UDF:

Public Function MailMe(s As String) As String
    ary = Split(s, " ")
    MailMe = LCase(Left(ary(0), 1) & Left(ary(1), 1) & ary(2) & "@mailaddress.com")
End Function

但是,要"click-able"在工作表单元格中使用它:

=HYPERLINK("mailto:" & mailme(A1),mailme(A1))

另一种假设中间名只有一个字母的方法。

=SUBSTITUTE(
    LEFT(A1,1) & RIGHT(A1,LEN(A1)-FIND(" ",A1))
  ," ","")&"@emailaddress.com"

工作原理

  • LEFT
  • 抓取第一个字母
  • 找到名字的末尾并从那里获取文本的 RIGHT
  • 使用 SUBSTITUTE
  • 将空格替换为空
  • @emailaddress 部分的补充

范围和结果图片