在Excel中文本数据是工作表数据的重要组成元素之一,每一张Excel工作表中的数据既有文本又有数值,因此了解和掌握Excel文本数据的处理方法和技巧是非常重要的。
在Excel中文本数据是工作表数据的重要组成元素之一,每一张Excel工作表中的数据既有文本又有数值,因此了解和掌握Excel文本数据的处理方法和技巧是非常重要的。
Excel提供了27个文本函数。在这些文本函数中。最常用的是从字符串中取字符的几个文本函数:LEN函数、LEFT函数、RIGHT函数、MID函数以及FIND函数。
LEN函数用于获取文本字符串中的字符数。
LEFT函数用于获取字符串左边指定个数的字符数。
RlGHT函数用于获取字符串右边指定个数的字符数。
MlD函数用于获取字符串从指定位置开始指定个数的字符数。
FIND函数用于在区分大小写的情况下。查找某字符在字符串中第一次出现的位置。
下面举倒说明这几个函数的使用方法。
图1所示是从数据库导入的员工联系地址信息,员工姓名、邮政编码和地址之间用符号“|”分隔。现在要求把这3项数据分开呈3列保存。
图1
这个问题最简单的解决方法是使用“分列”工具。不过。这里使用相关的文本函投进行分列。
首先设计表格。如图2所示。
图2
在单元格B2中输入公式“=LEFT(A2.FlND("|",A2)-1)”。并向下复制。得到员工姓名。
在单元格C2中输入公式“=MID(A2.LEN(B2)+2.6)”。并向下复制。得到邮政编码。
在单元格D2中输入公式“=MlD(A2.LEN(B2)+9.99)”。并向下复制,得到地址。
注意,这里要先用FlND函数确定符号“|”第一次出现的位置,然后利用LEFT函数把该符号左边的字符取出来,就是姓名。
邮政编码的开始位置是姓名字符个数加上2(因为符号“|”占用一个位置)。因此提取邮政编码要使用MID函数。其起始位置是表达式LEN(B2)+2的结果。而字符长度是6。
地址的开始位置是姓名字符数加上9(因为邮政编码宇符数是6.还有两个符号“|”)。因此提取地址也要使用MID函数,其起始位置是表达式LEN(B2)+9的结果。而字符长度是后面所有的字符,这里设置了一个充分大的数字99.因为很少有地址的字符数超过99位的。如果仍不放心。也可以把这个数改为999甚至更大的数宇。
可以利用有关的文本函数。从身份证号码提取信息。图3所示是根据员工身份证号码提取有关信息的表格。在这个表格中。把出生日期分成3列分别保存年、月、日3个数字。这样做一方面可以简化公式。另一方面也便于数据分析,例如可以筛选某年、某月、某日出生的员工。
图3
在单元格E3中输入公式“=1*IF(LEN(D3)=15.19&M1D(D3.7.2).MID(、"D3.7.4))”,并向下复制。得到出生年份数字。
在单元格F3中输入公式“=1*IF(LEN(D3)=15.MID(D3.9.2).MID(D3.11.2))”。并向下复制。得到出生月份数字。
在单元格G3中输入公式“=1*IF(LEN(D3)=15.MlD(D3.11.2).MID(D3.13.2))”。并向下复制。得到出生日数宇。
在单元格H3中输入公式“=DATE(E3,F3.G3)”,并向下复制。将出生年、月、日3个数字合并为一个真正的出生日期。
在单元格13中输八公式“=lF(ISEVEN(IF(LEN(D3)=15.RIGHT(D3)。MID(D3.17.1))),“女”。“男”)”。并向下复制,以判断性别。注意,判断性别时。对于15位身份证号码。是根据量后一位数字判断的;而对于18位身份证号码。则是根据倒数第二位数字(也就是第17位数字)判断的。
图4所示是一个会计科目分录表。要计算净利润。一般会使用下面的公式:
=C2+C7+C8+C9+C10+C11+C22+C23+C24+C70+C110+C116+C117+C118
图4
这个公式最大的缺点是要一个单元格一个单元格地相加。很容易加错单元格。造成计算结果错误。
考虑到计算净利润时。仅仅计算总账科目。而总账科目的科目编码只有4位数。这样就可以利用LEN函数进行判断。并构建相应的高效计算公式了。计算公式如下:
=SUMPRODUCT((LEN(A2:All8)=4)*C2:Cll8)
了解和掌握了Excel文本数据的处理方法和技巧以后,我们就再也不用担心加错单元格的问题了。今天我们学习了5个文本处理函数和列举了2个例子,大家应该好好熟悉一下。