一天朋友向我请教一个问题:有一个如图1所示的工作表,如何将其中B列的英文和中文分开成两列?
图1
我给他提供了下面三种方法,供其选择使用。文章末尾提供.xls文件供大家下载参考。
方法一、直接分列法
1、启动Excel2003(其他版本请仿照操作),打开相应的工作表,在B列右侧插入一个空白列,用于保存分列的结果。
2、选中B列,执行“数据→分列”命令,打开“文本分列向导-3步骤之1”对话框(如图2),选中其中的“分隔符号-……”选项(通常是默认选项)。
图2
3、按“下一步”按钮,进入“文本分列向导-3步骤之2”对话框(如图3),
图3
选中“其他”选项,并在后面的方框中输入间隔“-”号(因为B列数据中都有一个间隔“-”号,参见图1),单击“完成”按钮,分列完成(参见图4)。
图4
注意:大家可以通过图3中的“数据预览”窗口查看分列后的效果。
方法二、查找提取法
1、在B列右侧插入两列空白列,用于保存提出的字符。
2、选中C2单元格,输入公式:=LEFT(B2,FIND('-',B2)-1)。
注意:上述公式的含义是:先用“FIND”函数查找间隔“-”号在字符串中的位置,然后用“LEFT”函数从字符串左侧开始,提取至间隔“-”号的字符串(即英文字符串,其中“-1”,是为了去掉间隔“-”号)。
3、选中D2单元格,输入公式:=RIGHT(B2,LEN(B2)-FIND('-',B2))。
注意:也可以在D2中输入公式:=REPLACE(B14,1,FIND('-',B14),'')。本公式的含义是,用空字符('')替换到原字符串中的英文字符。
4、同时选中C2和D2单元格,然后将鼠标移至D2单元格右下角,成“细十字线”状时(通常称之为“填充柄”),按住鼠标左键向下拖拉,将上述公式复制到C列和D列下面的单元格中,完成B列其他单元格中字符的分列(分列后的效果如图4)。
方法三、统计提取法
上面两种方法,利用了原有字符串中的间隔“-”号。如果原有字符串中没有那个间隔“-”号,我们可以采取下面的方法来分列。
1、在B列右侧插入两列空白列,用于保存提出的字符。
2、选中C2单元格,输入公式:=LEFT(B2,2*LEN(B2)-LENB(B2)-1)。
注意:上述公式的含义是:先用LEN、LENB函数统计出字符串的字符数的(对于双字节字符,如“汉字”,LENB按数值“2”进行统计,LEN按数值“1”进行统计),然后用LEFT函数进行提取(“-1”同样是为了去掉间隔“-”号,如果没有间隔号,就不需要“-1”了)。
3、选中D2单元格,输入公式:=RIGHT(B2,LENB(B2)-LEN(B2))。
4、同时选中C2和D2单元格,用“填充柄”将上述公式复制到C列和D列下面的单元格中即可(参见图4)。
注意:采取方法二和方法三分列数据后,如果打印时不需要打印原数据列(即B列),可以根据实际需要,选择下面两种方法中的一种来解决:
①选中B列,右击鼠标,在随后弹出的快捷菜单中,选“隐藏”选项,将B列隐藏起来,再进行打印就行了。
②同时选中C列和D列,执行复制操作,然后选中C列,执行“编辑→选择性粘贴”命令,打开“选择性粘贴”对话框(如图5),选中“粘贴”下面的“数值”选项,确定返回。再删除B列,进行打印就可以了。
图5