Excel一个单元格内容拆分成多个?这4种方法总有一种适合你


方法一:使用Excel的“数据”选项卡中的“文本分列”功能

1. 打开Excel,选中包含需要拆分内容的单元格。

2. 点击“数据”选项卡,在“数据工具”组中找到“文本分列”按钮。

3. 在弹出的对话框中,选择“分隔符”或“固定宽度”作为拆分方式。

4. 如果选择“分隔符”,则需要在下一步中选择分隔符(如逗号、空格等),然后按照提示完成拆分。

5. 如果选择“固定宽度”,则需要在预览区域设置拆分位置,然后点击“下一步”完成拆分。

方法二:使用“MID”、“FIND”和“LEN”函数

1. 假设单元格A1的内容为“张三123456789”,需要在B1、C1和D1单元格中分别显示“张三”、“123456”和“789”。

2. 在B1单元格中输入公式“=MID(A1,1,FIND(" ",A1)-1)”,该公式用于提取A1单元格中第一个空格之前的内容。

3. 在C1单元格中输入公式“=MID(A1,FIND(" ",A1)+1,FIND(" ",SUBSTITUTE(A1," ",""))-FIND(" ",A1)-1)”,该公式用于提取第一个和第二个空格之间的内容。

4. 在D1单元格中输入公式“=MID(A1,FIND(" ",SUBSTITUTE(A1," ",""))+1,LEN(A1)-FIND(" ",SUBSTITUTE(A1," ","")))”,该公式用于提取最后一个空格之后的内容。

方法三:使用“VBA”宏

1. 打开Excel,按下“Alt + F11”打开VBA编辑器。

2. 在VBA编辑器中,插入一个新的模块,并输入以下代码:

vba

Sub SplitCell()

Dim OriginStr As String

Dim ResultStr1 As String

Dim ResultStr2 As String

Dim ResultStr3 As String

Dim i As Integer

Dim Flag As Boolean

'设置需要拆分的单元格

OriginStr = ThisWorkbook.Sheets("Sheet1").Range("A1").Value

'拆分单元格内容

i = 1

Flag = False

ResultStr1 = ""

ResultStr2 = ""

ResultStr3 = ""

For Each Ch In OriginStr

If Ch = " " Then

Flag = Not Flag

Else

If Flag Then

ResultStr1 = ResultStr1 & Ch

Else

If i = 1 Then

ResultStr2 = ResultStr2 & Ch

Else

ResultStr3 = ResultStr3 & Ch

End If

End If

End If

i = i + 1

Next

'将拆分后的内容放入相应单元格

ThisWorkbook.Sheets("Sheet1").Range("B1").Value = ResultStr1

ThisWorkbook.Sheets("Sheet1").Range("C1").Value = ResultStr2

ThisWorkbook.Sheets("Sheet1").Range("D1").Value = ResultStr3

End Sub

3. 关闭VBA编辑器,返回Excel。

4. 选择需要运行宏的单元格,按下“Alt + F8”,选择刚才创建的宏并点击“运行”按钮。

方法四:使用“Power Query”

1. 打开Excel,点击“数据”选项卡,找到“获取数据”组,点击“从其他来源”->“从Excel”。

2. 在弹出的对话框中,选择包含需要拆分的单元格的工作表,点击“编辑”。

3. 在Power Query编辑器中,选择需要拆分的列,点击“转换”选项卡,找到“分列”->“按分隔符”。

4. 在弹出的对话框中,选择分隔符(如空格),然后点击“确定”。

5. 在弹出的对话框中,选择拆分后的列数据类型,然后点击“确定”。

6. 点击“关闭并加载”按钮,将拆分后的数据加载回Excel工作表。

以上四种方法都可以将Excel一个单元格的内容拆分成多个部分,你可以根据自己的需求和熟练程度选择适合的方法。