图4.120是公司采购记录表的一部分,由于采购人员不太懂Excel,表格的前期设计不太合理,以至于后期的数据运算相当困难。现要求将B列的数据按文本与数字形式分别存放在不同单元格中,有没有办法批量完成?

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.120 采购记录表

解题步骤

Excel自身的功能要实现以上需求相当困难,但是先借助Word的替换功能改造数据,然后配合分列工具,可以轻松地完成需求,具体操作步骤如下。

1.选择B2:B5区域,并按下组合键<Ctrl+C>复制区域。

2.打开Word软件,在Word中单击右键,从“粘贴选项”中选择“只保留文本”,菜单界面如图4.121所示。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.121 将采购记录表粘贴到Word

请在封面中缝指定的QQ群下载文件和视频教材,从而方便练习,同时验证本案例中的技巧与操作结果。

3.按组合键<Ctrl+H>,弹出“查找和替换”对话框,然后按图 4.122 所示的方式设置替换内容。其中查找内容设置为“[0-9.]{1,}”,表示0到9的数字及小数点若干位;替换内容设置为“元^㊣”,表示在被查找内容前面添加字符“元”,“^㊣”代表被查找的内容本身;选择“使用通配符”复选框。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.122 设置替换内容

4.单击“全部替换”按钮,Word会提示替换成功多少处,效果如图4.123所示。图4.124则是替换后的数据,可以看到相对于替换前的变化——每段数字之前都多了一个“元”字,而所有数字右方的“元”是数据源中本身就存在的。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.123 提示替换了多少处

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.124 替换后的字符串

5.全选Word中的字符,然后按组合键<Ctrl+C>复制。

6.回到Excel中,选择B2单元格,然后按下组合键<Ctrl+V>粘贴数据。

7.选择B2:B5区域,单击功能区的“数据”→“分列”,从而打开“文本分列向导”的第1步,保持默认选项,然后单击“下一步”按钮,操作界面如图4.125所示。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.125 选择分列的类型

8.在“文本分列向导”的第2步中单击“其他”,然后在右方输入字符“元”,表示以“元”为条件执行分列,操作界面如图4.126所示。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.126 设置分列的条件

9.单击“完成”按钮执行分列,图4.127是分列的结果。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.127 分列结果

10.对分列后的数据添加边框和标题,最终效果如图4.128所示。

Excel 能否将采购记录表中的文本与数值分开显示?-Excel22

图4.128 添加边框和标题

知识扩展

1.Excel的“查找和替换”对话框只支持通配符,不支持正则表达式的语法,而Word的“查找和替换”则支持正则表达式,因此使用Word来处理字符串的查找或替换相比Excel强大得多。本例中查找所有数字就需要使用正则表达式,因此只能借助Word完成。

2.在Word中输入的正则表达式代码“[0-9.]{1,}”可以分两段来理解,第一段“[0-9.]”的含义是从0到9的数字及小数点,第二段“{1,}”代表数量:至少一个,没有上限。也可以修改为“{1,15}”,表示下限1位、上限15位。要注意“[]”表示范围,“{}”表示数量,两者不能弄反。

3.在替换框中输入的“元^&”表示字符“元”和原来的字符,因此替换的最终结果就是在数字前面添加字符“元”。

由于所有数字右方都有“元”,因此不需要在右方添加“元”,替换完成后数字的前后都有“元”,此时以“元”为单位执行分列就可以将数字和文本区分开来,分别存放在不同的单元格中。

4.假设数据中没有“元”,那么替换时要采用代码“元^&元”,表示在数值前后都插入一个“元”。