excel - 从全名字段生成用户名

excel - 从全名字段生成用户名

我正在尝试使用 Excel 中的单个姓名字段生成用户名,该字段包含人员的名字和姓氏。我对用户名没有任何要求,只要它对用户来说直观即可。姓名字段可能比较棘手,因为数据如下所示:

Albert Abongo (2 names)
Stephen Michael Essuah Ackah (4 names)
Alhaji Iddrisu Abdul-KArim (3 names)

我想,我为这些人设计的理想用户名应该是

aabongo
sackah
aabdul-karim

答案1

尝试使用以下内容(使用 A1 中的输入数据):

=LOWER(LEFT(A1,1)&TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),LEN(A1))))

  • LOWER:使所有输出都小写
  • LEFT(A1,1):从左侧开始提取 1 个字符长度的数据。
  • &将两部分连接在一起
  • TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),(LEN(A1)))
    • SUBSTITUTE(A1," ",REPT(" ",LEN(A1)))函数计算原始字符串的长度,并在每个空格存在的位置放置相同数量的空格
    • 然后(RIGHT(text,LEN(A1))从右边开始拉,拉的长度与原来的绳子一样长
    • TRIM删除前导空格

答案2

只是为了补充@CameronAziz 的巧妙回答,如果您想避免重复的用户名,您可以在这些用户名的右侧添加另一列(在此示例中为 B 列),并填写以下公式:

=B1&IF(COUNTIF($B$1:B1,B1)>1,COUNTIF($B$1:B1,B1),"")

如果该用户名与任何以前的用户名重复,则会在用户名右侧附加一个数字。

在此处输入图片描述

相关内容