如何在Excel中将全名分为名字和姓氏

通常,您会收到一个名字和姓氏列表,合并为一个全名,需要将它们分开。这是轻松完成此操作的快速方法。
内容:
公式
要提取名字,可以使用以下公式:
= LEFT(A1, (FIND(" ", A1, 1) - 1))
要提取姓氏,可以使用以下公式:
= RIGHT(A1 , LEN(A1) - SEARCH(" ", A1))
这两个公式将作为独立公式使用,但它们也可以使用 HSTACK 组合使用。
= LET( range, B3:B8, first_name, LEFT( range, (FIND(" ", range, 1) - 1)), last_name, RIGHT(range, LEN(range) - SEARCH(" ",range)), HSTACK(first_name,last_name))
在此示例中,您只需更改范围“B3:B8”以匹配您的全名范围,公式将完成其余工作。
解释
这个问题有两个部分。我们如何提取名字,以及如何提取姓氏。
由于名字和姓氏通常用空格分隔,因此使用空格将名字与正确名称分开通常是最简单的方法。
如何使用公式提取单元格的名字

为了提取名字,我们将在单元格中搜索空格,并将所有内容返回到该空格的左侧。
= LEFT(A1, (FIND(" ", A1, 1) - 1))
在此公式中,FIND 函数在单元格 A1 的文本中查找“ ”的位置,并返回文本中“ ”的位置,假设它是 5。
然后使用 LEFT 函数从该特定字符的左侧提取文本。在这种情况下,公式使用单元格 A1 中的文本和左侧的字符数,这是 FIND 函数返回的值 – 1(因为我们不想包含字符本身)。
如何使用公式从单元格中提取姓氏

同样,为了提取姓氏,我们正在搜索同一个单元格并将所有内容返回到空格的右侧。
= RIGHT(A1, LEN(A1) - SEARCH(" ", A1))
在此公式中,SEARCH 函数返回单元格中“ ”字符的位置,LEN 函数返回单元格中的字符总数。
然后,RIGHT 函数通过从单元格中的字符总数中减去“”字符的位置来提取“”字符右侧的所有字符。
如何将两个公式组合在一起

为了将这两个公式组合在一起,我们将使用 HSTACK 函数。此函数允许我们水平堆叠两个不同的数组公式。
开头的 LET 函数仅用于创建清理后的公式,因为此函数允许您命名计算。例如,“范围”只需要定义为“B3:B8”一次,并且可以在整个公式中多次使用。
LET 还允许我们将整个名字提取公式称为“first_name”,将姓氏公式称为“last_name”。在 HSTACK 函数中使用那些,而不是完整的、更复杂的公式。
= LET( range, B3:B8, first_name, LEFT( range, (FIND(" ", range, 1) - 1)), last_name, RIGHT(range, LEN(range) - SEARCH(" ",range)), HSTACK(first_name,last_name))