Excel拆分单元格与用分列与公式把一列内容拆分为两列或三列,在Excel中,拆分单元格有两种方法,一种是使用Excel提供的选项进行拆分,另一种是使用快捷键进行拆分。 Excel拆分单元格只能拆分合并的单元格,而不能拆分尚未合并为两个或多个的独立单元格。

在编辑Excel表格的过程中,除了拆分单元格之外,还经常遇到将一个单元格的内容拆分为两个或多个单元格,或者将一列拆分为两列、三列甚至更多列。无论是拆分单元格内容还是列,都可以使用列拆分方法和公式方法;如果数据有明显分隔符或者分布均匀,可以使用分列法;如果字母、数字和汉字混合,则不能使用分列方法。可以用公式的方法。

一、Excel中拆分单元格(一)方法一:选择法

选择需要拆分的单元格,如A1和B1,选择“开始”选项卡,合并后点击右中心的黑色小倒三角,在弹出的菜单中选择“取消合并单元格”,则A1和B1将被重新合并。分成两个Cell;操作流程步骤,如图1所示:

excel将一列单元格拆分

图1

提示: 与Word 不同,Excel 可以将单元格拆分为多个单元。它只会根据合并单元格的数量进行拆分。例如,合并单元格时,两个单元格合并为一个单元格,然后拆分拆分时自动拆分为两个;将三个单元格合并为一个单元格,拆分时自动拆分为三个单元格,其他单元格依此类推。

(2)方法二:快捷键法

Excel中拆分单元格的快捷键是Alt+H+M+U。操作方法为:选中单元格A1:C1,按住Alt键,按一次H,按一次M,再按一次U,则A1:C1将被重新拆分。 -分割成三个cell,操作流程步骤,如图2所示:

excel将一列单元格拆分

图2

提示:由于分割后的单元格没有边框,所以看起来三个单元格仍然是一个单元格,但文本已移至单元格A1;如果要给分割后的单元格添加边框,可以按Ctrl + 1 组合键,选择“边框”选项卡,单击外边框上的图标,然后单击“确定”。

2、Excel中拆分单元格内容(1)使用列分隔符拆分

1、如果要将服装表的号码列拆分为两列。右键单击第二列顶部的B,在弹出菜单中选择插入,即可在第一列和第二列之间插入一列;单击A选择A列,选择数据选项卡,单击拆分列,然后打开文本拆分。在Column Wizard窗口中,请选择最合适的文件类型,选择分隔符,点击Next,勾选Others,在右侧输入-,点击Next,点击Finish,第一列将从短水平位置开始分割有两种列;操作流程步骤如图3所示:

excel将一列单元格拆分

图3

2、从分割结果可以看出,分割后分割符(-)消失了。如果使用单词作为分割字符也是如此。另外,文本拆分向导提供了四种拆分字符,分别是Tab键、分号、逗号和空格。如果要拆分的内容以某一符号为主,则可以选择该符号作为拆分字符。

(2) 以固定宽度的列进行分割,可以分割成两列或多列。

1、右键单击F列中的字母F,在弹出的菜单中选择插入,在E列的右侧插入一列;选择E列,选择数据选项卡,单击列,然后打开文本列向导窗口。请选择最合适的文件。选择固定宽度作为类型,单击“下一步”,将鼠标移动到要分割的点对应的标尺上,单击一次,会出现一个指向标尺的箭头。向右拖动一点,使箭头恰好位于要分割的点处。点击下一步。黑色背景将添加到要分割的两个部分的左侧。您可以根据需要确认是否拆分。如果满足要求,则单击“完成”。如果不符合要求,可以单击“上一步”继续调整。这里已经拆分了,点击Finish,一栏就会拆分成两栏;操作步骤如图4所示:

excel将一列单元格拆分

图4

2. 如果要将其拆分为三列,请在文本拆分向导窗口的标尺上再单击一次,将出现另一个箭头,以此类推。固定宽度分割适用于数据分布均匀的列。

(3)用公式分割,适合数据分布不均匀的列

1. 具有明显特征的分列示例

(1) 如果要将价格列拆分为数字列和单位列。选中G2单元格,将公式=LEFT(E2,FIND(元,E2)-1)复制到G2中,回车,返回86.9,则E2价格数字将被拆分到G2中,鼠标移至右下角G2 的单元格填充手柄上,按住左键并向下拖动,则价格列中其他单元格中的数字也会被分割到G 列中相应的单元格中;输入公式=MID(E2,FIND(元,E2), 3) 复制到单元格H2 并按Enter,价格单位E2 将拆分到H2。用同样的拖动方法,将价格列中其他单元格的单位拆分到H列对应的单元格中;操作流程步骤如图5所示:

excel将一列单元格拆分

图5

(2) 公式说明:

A、Left函数的表达式为:=LEFT(Text, [Num_Chars]),Text为源文本,Num_Chars为要截取的字符数,可以省略;

Find函数的表达式为:=FIND(Find_Text, Within_Text, [Start_Num]),Find_Text为要查找的文本,Within_Text为源文本,Start_Num为搜索的起始位置,可以省略。

Mid函数的表达式为:=MID(Text, Start_Num, Num_Chars),Text为源文本,Start_Num为起始截取位置,Num_Chars为截取字符数。

B、公式=LEFT(E2,FIND(元,E2)-1) 使用FIND(元,E2)-1 查找元素在文本中的位置。既然要截取数字,就需要减1;然后使用Left 函数截取数字。

C、公式=MID(E2,FIND(元,E2),3) 使用FIND(元,E2) 查找要截取的起始位置,然后使用Mid 函数从找到的起始位置截取3 个字符。

2. 拆分混合字符串实例

(1)如果要将一个由字母数字+汉字+数字组成的字符串分成三列。选择单元格B1 并输入公式:=LEFT(A1,LOOKUP(1,0/((LENB(MID(A1,ROW($1:$15),1)))=1)*(LENB(MID(A1,ROW( $2: $16),1))=2)),ROW($1:$15))) 复制到B1 并按Enter。 A1中内容左侧的字母和数字将被拆分到B1单元格中;将鼠标移动到B1单元格右下角的单元格填充手柄上,按住左键向下拖动到B3单元格,则A2和A3中的字母数字内容将分别拆分到B2和B3单元格中;操作流程步骤如图6所示:

excel将一列单元格拆分

图6

(2) 分割以下数字部分。选择单元格D1 并将公式:=MID(A1,LOOKUP(1,0/(LENB(MID(A1,ROW($1:$15),1))=2),ROW($2:$16)),15) 复制到D1 ,按回车键,则A1中内容右侧的数字将被拆分到D1单元格中;同样使用拖动的方法将A2和A3中的内容拆分为D2和D3;操作流程步骤如图7所示:

excel将一列单元格拆分

图7

(3)分割中间汉字部分。选中C1单元格,将公式=SUBSTITUTE(SUBSTITUTE(A1,B1,),D1,)复制到C1,回车,将A1内容中间的汉字部分拆分到C1;还用拖动的方法将A2和A3内容的中间汉字部分分别拆分为C2和C3;操作步骤如图8所示:

excel将一列单元格拆分

图8

(4) 公式说明:

A、左边字母和数字的拆分公式:=LEFT(A1,LOOKUP(1,0/((LENB(MID(A1,ROW($1:$15),1)))=1)*(LENB(中(A1,行) ($2:$16),1))=2)),行($1:$15)))

首先使用MID(A1,ROW($1:$15),1) 分割A1 中的每个文本。结果是:

{W;S;-;560;Long;Sleeve;White;Shirt;8;6;9},如何返回这个数组? ROW($1:$15)返回一个从1到15的数组(15代表A1中的字符总数),即{1,2,3,4,5,6,7,8,9,10,11, 12,13,14,15}、Mid每次从数组中取出一个元素作为开始拦截参数,每次拦截一个字符;例如:第一次从数组中取出1,即从第一个位置开始截取,截取一个字符,返回W;第二次从数组中取出2,即从第二个位置开始截取,截取1个字符,返回S;依此类推,直到数组中的所有元素都被取出。

那么LENB(MID(A1,ROW($1:$15),1)=1 变为LENB({W;S;-;560;Long;Sleeve;White;Shirt;8;6;9})=1, LenB 依次从数组中取出每个元素并返回它们的字节数,结果变为{1,1,1,1,1,1,2,2,2,2,2,1,1 ,1,1 }=1,因为每个字母数字的字节数为1,每个汉字的字节数为2。然后取出数组中的每个元素与1比较,如果等于1则返回True ,否则返回它返回False,最后返回{True,True,True,True,True,True,False,False,False,False,False,True,True,True,True}。

LENB(MID(A1,ROW($2:$16),1))=2 与LENB(MID(A1,ROW($1:$15),1))=1 相同。不同的是,它是从第二个位置开始的。开始分割A1中的每个文本,即丢弃第一个字符。为什么需要这样分割呢? LENB(MID(A1,ROW($2:$16),1))=2 返回结果为{1,1,1,1,1,2,2,2,2,2,1,1,1,1, 0}=2,然后取出数组中的每个元素与2比较,如果相等则返回True,否则返回False,最后返回结果{False, False, False, False, False, True, True ,真,真,真,假,假,假,假,假}。

此时,(LENB(MID(A1,ROW($1:$15),1))=1)*(LENB(MID(A1,ROW($2:$16),1))=2) 变为:{True,True , 真,真,真,真,假,假,假,假,假,真,真,真,真}*{假,假,假,假,假,真,真,真,真,真,假, False, False, False, False} 然后将两个数组的相应元素相乘。 True转为1,False转为0,返回结果为:{0,0,0,0,0,1,0, 0,0,0,0,0,0,0,0},即第六个为1,正是A1中的数字0与汉字长度相交的结果。

公式变为=LEFT(A1,LOOKUP(1,0/({0,0,0,0,0,1,0,0,0,0,0,0,0,0,0}),ROW ($1:$15))),然后将数组中的每个元素除以0,公式变为:=LEFT(A1,LOOKUP(1,{#DIV/0!#DIV/0!#DIV/0! #DIV/0!#DIV/0!0,#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0! #DIV/0!#DIV/0!#DIV/0!},ROW($1:$15)))只有0/1=0,其他的会返回分母为0的错误(即#DIV/0!);进一步计算ROW($1:$15),返回{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}。

公式变为:=LEFT(A1,LOOKUP(1,{#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!0,#DIV/0 !#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0! } ,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15})) 然后使用LookUp在包含#DIV/0的数组中查找1!由于找不到1,所以LookUp返回小于等于1的最大值,所以返回第6个0,然后根据0在数组中的位置,查找有0的位置(即数组中从1到15的第6个位置。对应的元素,因此返回6。

公式变为:=LEFT(A1,6),最后用Left截取A1中文本的左边6个字符,即WS-560。

B、右侧分割公式:=MID(A1,LOOKUP(1,0/(LENB(MID(A1,ROW($1:$15),1))=2),ROW($2:$16)),15)

LENB(MID(A1,ROW($1:$15),1))=2 返回值上面已经分析过,结果为{False,False,False,False,False,False,True,True,True,True ,True ,False,False,False,False},然后将数组中的每个元素除以0。返回结果为{#DIV/0!#DIV/0!#DIV/0!#DIV/0 ! #DIV/0!#DIV/0!0,0,0,0,0,#DIV/0!#DIV/0!#DIV/0!#DIV/0!}。

ROW($2:$16) 返回从2到16的数组,即{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},则公式变为:=MID(A1,LOOKUP(1,{#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0!#DIV/0! 0,0 ,0,0,0,#DIV/0!#DIV/0!#DIV/0!#DIV/0!},{2,3,4,5,6,7,8, 9,10 ,11,12,13,14,15,16}),15) 然后使用LookUp 在包含#DIV/0! 的数组中搜索1。由于找不到1,所以返回小于等于1的最大值,又因为有5个0,所以返回最后一个0,然后根据返回的0在数组中的位置,找到对应的值到2到16数组中0的位置,即第11位的值,即12。

公式变为:=MID(A1,12,15)。最后用Mid截取A1中从第12个位置开始的文本。总共会截取15个字符,返回A1中文本后的数字86.9。提示:如果Mid函数指定的截取字符数大于文本长度,则只会截取到末尾。

C、将公式中间部分拆分:=SUBSTITUTE(SUBSTITUTE(A1,B1,),D1,)

该公式由两个嵌套的SubStitute 函数组成。里面的SUBSTITUTE(A1,B1,)用于替换B1的内容,即A1中的B1什么都没有替换(WS-560长袖白衬衫86.9 -560中的WS-560替换为WS-560);外层SubStitute用于替换D1的内容。用SUBSTITUTE(A1,B1,)替换后,公式变为:=SUBSTITUTE(长袖白衬衫86.9,D1,),然后将D1的文字替换为空白(86.9),最后返回长袖白衬衫白衬衫。

提示:公式=SUBSTITUTE(SUBSTITUTE(A1,B1,),D1,) 可以省略,可以写成这样:=SUBSTITUTE(SUBSTITUTE(A1,B1,),D1,)。

Excel拆分单元格与用分列与公式把一列内容拆分为两列或三列,以上就是本文为您收集整理的Excel拆分单元格与用分列与公式把一列内容拆分为两列或三列最新内容,希望能帮到您!更多相关内容欢迎关注。