首页 > 解决方案 > 如何在Excel单元格中转换多个值

问题描述

我正在寻找一个重新排列 excel 单元格中的值的公式。单元格包含“姓氏+姓名”格式的全名(至少一个,最多20个),但这必须转换为以下格式:

1.- 名字的第一个字母,后跟一个空格。
2.- 姓氏

可以在下面找到一个示例。

我知道我可以简单地使用替换功能,但如果这可以通过 excel 公式实现,那就太好了。

提前致谢。

在此处输入图像描述

标签: excelregexvbaexcel-formula

解决方案


由于字符串可能很长,如果您拥有最新版本的 Excel,我会使用FILTERXML并且LET不必重复诸如LEFTLENFIND.

例如,如果数据总是用“|”分隔 并且仅以“Last_Name First_Name (possible Mid_Initial)|”的形式出现,然后您可以使用以下内容:

=LET(x, FILTERXML("<t><s>"&SUBSTITUTE(I1, "|", "</s><s>")&"</s></t>", "//s"),
y, TRIM(LEFT(RIGHT(x, LEN(x)-SEARCH(" ",x)),1)),
z, TRIM(LEFT(x, SEARCH(" ",x))),
LEFT(CONCAT(y&" "&z&", "), LEN(CONCAT(y&" "&z&", "))-2))

在此处输入图像描述


推荐阅读