You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel公式技术求助:依据S/K代码提取姓名的名或姓

解决Excel中根据代码提取名字或姓氏的需求

Hey,我来帮你搞定这个需求!假设你的代码列是A列(比如A2是第一条数据的S/K标识),NAME列是B列(存着完整姓名,比如"张三"或者"John Doe"这种空格分隔的格式),要在C列生成USERNAME的结果,你可以根据自己的Excel版本选对应的公式:

适合Excel 365/2021及以上版本(支持动态数组函数)

这个版本有更简洁的函数可用,直接用IF搭配TEXTBEFORETEXTAFTER就行:

=IF(A2="S", TEXTBEFORE(B2, " "), TEXTAFTER(B2, " "))
  • 简单说:如果A2是S,就提取NAME列里第一个空格之前的内容(也就是名字);如果是K,就提取第一个空格之后的内容(姓氏)。

适合Excel 2019及更早版本(无动态数组函数)

老版本得用经典函数组合来实现,效果一样:

=IF(A2="S", LEFT(B2, FIND(" ", B2)-1), RIGHT(B2, LEN(B2)-FIND(" ", B2)))
  • 拆解一下逻辑:
    • LEFT(B2, FIND(" ", B2)-1):先找到姓名里第一个空格的位置,再截取空格前面的所有字符(名字)
    • RIGHT(B2, LEN(B2)-FIND(" ", B2)):先算出姓名的总长度,减去空格的位置,就能截取空格后面的所有字符(姓氏)

小Tips

  • 要是你的姓名分隔符不是空格(比如中文里的顿号、英文里的逗号),直接把公式里的" "替换成对应的分隔符就行,比如改成"、"或者", "
  • 如果姓名里有多个空格(比如"Mary Ann Smith"),默认会取第一个空格的前后内容;要是你需要取最后一个空格的后面(也就是姓氏Smith),可以把TEXTAFTER改成TEXTAFTER(B2, " ", -1),这样就能定位到最后一个空格啦

内容的提问来源于stack exchange,提问作者Ucup Rahmat

火山引擎 最新活动