在某些情况下,您必须在Excel 中拆分单元格。这些可能是您从数据库中获取数据,或者从Internet 复制数据或从同事那里获取数据。
需要在Excel 中拆分单元格的一个简单示例是,当您有全名并且想要将它们拆分为名字和姓氏时。
或者你得到地址'并且你想分割地址,以便你可以分别分析城市或密码。
内容
如何在Excel 中拆分单元格
在本教程中,您将学习如何使用以下技术在Excel 中拆分单元格:
- 使用文本到列功能。
- 使用Excel 文本函数。
- 使用Flash Fill(2013 年和2016 年可用)。
让我们开始!
使用文本到列在Excel 中拆分单元格
下面我列出了一些我最喜欢的虚构人物的名字,我想将这些名字分成单独的单元格。 :
以下是将这些名称拆分为名字和姓氏的步骤:
- 选择要拆分的文本所在的单元格(在本例中为A2:A7)。
- 单击数据选项卡
- 在“数据工具”组中,单击“文本到列”。
- 在将文本转换为列向导中:
这将立即将单元格的文本分成两个不同的列。
笔记:
- 文本到列功能根据分隔符拆分单元格的内容。虽然如果您想分隔名字和姓氏,这很有效,但在名字、中间名和姓氏的情况下,它将把它分成三个部分。
- 使用Text to Column 功能获得的结果是静态的。这意味着如果原始数据有任何变化,您将不得不重复该过程以获得更新的结果。
使用文本函数在Excel 中拆分单元格
当您想要对文本字符串进行切片和切块时,Excel 文本函数非常有用。
虽然Text to Column 功能提供静态结果,但使用函数获得的结果是动态的,并且会在您更改原始数据时自动更新。
拆分具有名字和姓氏的名称
假设您有相同的数据,如下所示:
提取名字
要从此列表中获取名字,请使用以下公式:
=LEFT(A2,SEARCH(" ",A2)-1)
此公式将找出第一个空格字符,然后返回该空格字符之前的所有文本:
此公式使用SEARCH 函数来获取空格字符的位置。在布鲁斯韦恩的例子中,空格字符排在第6 位。然后,它使用LEFT 函数提取其左侧的所有字符。
提取姓氏
同样,要获取姓氏,请使用以下公式:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
此公式使用搜索功能使用SEARCH 功能查找空格键的位置。然后它从名称的总长度(由LEN 函数给出)中减去该数字。这给出了姓氏中的字符数。
然后使用RIGHT 函数提取此姓氏。
注意:如果名称中有前导、尾随或双空格,这些函数可能无法正常工作。单击此处了解如何在Excel 中删除前导/尾随/双空格。
拆分具有名字、中间名和姓氏的名称
在某些情况下,您可能会得到一些名称的组合,其中一些名称也有中间名。
这种情况下的公式有点复杂。
提取名字
要获得名字:
=LEFT(A2,SEARCH(" ",A2)-1)
这与我们在没有中间名时使用的公式相同。它只是查找第一个空格字符并返回空格之前的所有字符。
提取中间名
要获得中间名:
=IFERROR(MID(A2,SEARCH(" ",A2)+1,SEARCH(" ",A2,SEARCH(" ",A2)+1)-SEARCH(" ",A2)),"")
MID 函数从第一个空格字符开始,利用第一个和第二个空格字符的位置差异提取中间名。
如果没有中间名,MID 函数会返回错误。为了避免错误,它被包装在IFERROR 函数中。
提取姓氏
要获取姓氏,请使用以下公式:
=IF(LEN(A2)-LEN(SUBSTITUTE(A2," ",""))=1,RIGHT(A2,LEN(A2)-SEARCH(" ",A2)),RIGHT(A2,LEN(A2) -SEARCH(" ",A2,SEARCH(" ",A2)+1)))
这个公式检查是否有中间名(通过计算空格字符的数量)。如果只有1 个空格字符,它只会返回空格字符右侧的所有文本。
但是如果有2 个,那么它会发现第二个空格字符并返回第二个空格之后的字符数。
注意:当您的名字只有名字和姓氏,或者名字、中间名和姓氏时,这些公式很有效。但是,如果您有后缀或称呼的组合,那么您将不得不进一步修改公式。
使用快速填充在Excel 中拆分单元格
Flash Fill 是Excel 2013 中引入的一项新功能。
当您有一个模式并且想要快速提取其中的一部分时,它可能非常方便。
例如,让我们获取名字和姓氏数据:
快速填充通过识别模式并将其复制到所有其他单元格来工作。
以下是使用Flash Fill 从列表中提取名字的方法:
Flash Fill 如何工作?
Flash Fill 在数据集中查找模式并复制该模式。
Flash Fill 是一个令人惊讶的智能功能,在大多数情况下都能正常工作。但在某些情况下它也会失败。
例如,如果我有一个名称列表,其中包含名称的组合,其中一些具有中间名,而另一些则没有。
如果我在这种情况下提取中间名,Flash Fill 将错误地返回姓氏,以防没有名字。
老实说,这仍然是趋势的一个很好的近似值。然而,这不是我想要的。
但它仍然是一个足够好的工具,可以保留在您的武器库中,并在需要时使用。
这是另一个快速填充效果出色的示例。
我有一组地址,我想从中快速提取城市。
要快速获取城市,请输入第一个地址的城市名称(在此示例中,在单元格B2 中输入London)并使用自动填充功能填充所有单元格。现在使用Flash Fill,它会立即为您提供每个地址的城市名称。
同样,您可以拆分地址并提取地址的任何部分。
请注意,这需要地址是具有相同分隔符(在本例中为逗号)的同质数据集。
如果您在没有图案的情况下尝试使用Flash Fill,它会显示如下错误:
在本教程中,我介绍了将Excel 中的单元格拆分为多列的三种不同方法(使用文本到列、公式和快速填充)
希望您发现此Excel 教程很有用。