我正在尝试使用 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),"")
如果该用户名与任何以前的用户名重复,则会在用户名右侧附加一个数字。