【发布时间】:2015-01-12 19:22:25
【问题描述】:
我正在尝试根据给定的人的名字和姓氏创建用户名。通常,我们使用第一个名字和姓氏作为用户名。但是,现在我们的许多用户都有 2 个姓氏,有时还包括一个连字符。我正在尝试创建一个代码,它给我第一个首字母,FIRST 姓氏的第一个字母,然后是姓氏。
例如——
艾米·史密斯-琼斯 == 阿斯乔内斯
这是我目前正在使用的,当然,它会产生“asmithjones”。
=LOWER(LEFT(A1,1)&SUBSTITUTE(SUBSTITUTE(A2,"-","")," ",""))
我已经尝试了一些变体,但没有运气。
=LOWER(LEFT(A1,1)&LEFT(A2,1)&SUBSTITUTE(SUBSTITUTE(A2,"-","")," ",""))
有没有办法同时生成第一个字符串的第一个字母和第二个字符串的全文?
编辑
我想出了一些办法,但现在我面临另一个挑战
=IFERROR(LOWER(LEFT(D2,1)&SUBSTITUTE(SUBSTITUTE(RIGHT(F2,LEN(F2)-FIND(" ",F2&" ")),"-","")," ","")),LOWER(LEFT(D2,1)&SUBSTITUTE(SUBSTITUTE(F2,"-","")," ","")))
某些用户有 1 个姓氏,因此如果公式遇到这些姓氏,则适用。但我有一些人有连字符而不是空格。 SUSTITUTE 函数同时考虑了这两种情况,但是我怎样才能让 FIND 函数做同样的事情?
【问题讨论】:
标签: string excel-formula substitution