“杂牌”数据 去留任我行

张江南2015-07-22 09:01应用 标签:数据

在表格中记录金额或数量时,一般会将数值与事项分列来记录,但也有时以叙述的方式来描述一个金额或数量发生的过程。在这种情况下,要汇总其中的数据,由于文字和数字夹杂在一起,无法实现计算。WPS文字与WPS表格结合使用可解决这个问题。

实例描述:如图所示的表中各行数据为多来源摘录到WPS表格中的各组完成任务的情况记录(图1)。由于是不同人在现场记录的数据,格式不够统一和规范,数字在单元格中所在的位置不统一且没有规律。现在要将其中的数字提取出来,让A列中只保留文字内容而不包含数字,单纯的数字出现在B列中,可以汇总。

1512A-SJQL-1

1. 保留文字 剔除所有数字

首要任务是将A列中的所有数字剔除掉。但由于数字还要在后续转移到B列中且参与汇总,因此先要对A列数据留存备份。复制A列所有数据,点击Sheet2表,将其复制到Sheet2表的A列中。

全选Sheet1表中A列内容,打开一个WPS文字空白文档,将刚才复制的内容粘贴到空白文档中(图2)。

1512A-SJQL-2

(图2 将A列所有内容复制到WPS空白页中)

用Ctrl+H热键启动“替换”窗口,在“查找内容”对话框中输入“[0-9]”(图3),而“替换为”对话框中不输入任何内容(注意连一个空格也不能有)。点击“高级搜索”按钮,选中“使用通配符”前面的复选框(图4)。点击“全部替换”按钮,这时WPS会提示完成多处替换操作(图5),表明表中的所有数字被“空”字符所替换。

1512A-SJQL-3

(图3 在WPS文字中以特殊符号[0-9]“查找”)

1512A-SJQL-4

(图4 特殊查找替换时需“通配符”选项发生作用)

1512A-SJQL-5

(图5 用特殊替换法将A列的所有数字剔除掉)

小提示:

“[0-9]”是WPS中的特有统配表达式,用半角方括号将一个数字区间0-9括起来,表示凡是出现0-9这10个数字的地方都能是满足要求的字符,都将被选择。

这时,关闭替换窗口,回到WPS文字页面中,可以看到其中的所有数字已经被剔除掉了(图6)。将全部文字选中,复制回WPS表格Sheet1表的A列中。

1512A-SJQL-6

(图6 WPS文字中已经剔除了所有数字)

2. 提取数字 参与数据汇总

接下来,我们要从刚才备份的Sheet2中,将所有的数字都提取出来,复制到Sheet1的B列中。那么,如何实现从不规则的数据中提取纯数字呢?

依旧将原始的数字与文字混排的A列数据复制到一个WPS文字空白页面中,用Ctrl+H启动替换窗口,这次要注意,在“查找内容”文本框中要输入“![0-9]”,注意其中的符号(包括叹号)均为半角字符,切不可输入全角的中文字符(图7)。同样使用“通配符”选项,进行全部替换。

1512A-SJQL-7

(图7 用添加了叹号的“[!0-9]”串进行替换)

替换之后,我们发现在WPS文字页面中,所有的汉字都消失,只留下了数字列表(图8)。随后,将此列数字复制并粘贴回WPS表格Sheet1表的B列中。

1512A-SJQL-8

(图8 用特殊替换过滤掉所有的汉字)

最后是B列数字的求和。非常简单,不需要借助于函数,只需将B列中的所有数据选中,查看窗口底部状态栏的显示,就可以看到“求和”结果了(图9)。

1512A-SJQL-9

(图9 在状态栏上获得求和结果)

小技巧:

以上特殊替换操作不但可以在WPS文字中完成,还可以在Word或EmEditor文字处理软件中完成。只不过在EmEditor中,“通配符”选项对应于“正则表达式”,其余替换符号不变(图10)。

1512A-SJQL-10

(图10 在EmEditor也能实现同样的替换)