Excel教程:字符提取很简单

日常工作中,经常碰到需要提取字符的情况,2013及以上版本的Excel中,可以通过“快速填充“功能快速提取字符<快捷键 Ctrl+E>。

但“快速填充“不一定都能识别到我们希望提取的字符,而且当原数据变化时,提取的数据无法跟着一起变化,故此次介绍以下字符提取函数。

这些函数可能不是最便利的方法,希望通过这些函数的介绍,提供一些提取字符的思路。

LEFT函数:

从一个文本字符串的第一个字符开始返回指定个数的字符。

函数结构:

=LEFT(字符串,[提取几个字符])

第二参数如果忽略,则默认为1。

示例:根据表1信息提取部门,C3单元格输入以下公式再向下填充。

=LEFT(A3,3)

RIGHT函数:

从一个文本字符串的最后一个字符开始返回指定个数的字符。

函数结构:

=RIGHT(字符串,[提取几个字符])

同样,第二参数如果忽略,则默认为1。

示例:根据表1信息提取获奖人数,E3单元格输入以下公式再向下填充。

=RIGHT(A3,2)

MID函数:

从文本字符串中指定的起始位置起,返回指定长度的字符。

函数结构:

=MID(字符串,开始提取的位置,提取几个字符)

示例:根据表1信息提取获奖名,D3单元格输入以下公式再向下填充。

=MID(A3,5,3)

注意:LEFT/RIGHT/MID均为文本处理函数,提取的结果亦为文本,若需参与计算,需转化为数值。

BASE函数:

将字符串转换成具有给定基数的文本表示形式。

函数结构:

=BASE(数字,基数,[字符长度])

如果省略第三参数,则不添加前导零。

示例:以下公式将数字678按十进制修正为4位,即显示0678。

=BASE(678,10,4)

FIND函数:

返回一个字符串在另一个字符串中出现的起始位置(区分大小写)

函数结构:

=FIND(要查找的字符,被查找的字符,[从第几个字符开始查找])

如果第三参数忽略,则默认为1,即从第一个字符开始查找。

示例:查找表1中第二个“-”所有的位置,B3单元格输入以下公式再向下填充。

=FIND(“-“,A3,5)

综合应用:

1:根据表2身份证号码提取出生年月并生成称呼(性别为女,称女士;性别为男,称先生)。

1)出生日期,C3单元格自定义单元格格式为:####”年”##”月”##”日”,然后输入公式向下填充,

=–MID(B3,7,8)

2)称呼:D3单元格输入以下公式并向下填充:

=LEFT(A3)&IF(-1^MID(B3,17,1)+1,”女士”,”先生”)

思路:身份证第17位为奇数是男性;偶数则为女性。

2、根据表3产品信息提取尺码。

B3单元格输入公式,再向下填充。

=MID(A3,FIND(“-“,A3,FIND(“-“,A3)+1)+1,4)

思路:从第二个“-” 后的位置开始提取字符,MID的第三参数只需要大于等于所有尺码的长度即可。

3、提取表4中的数字。

方法一:

B3单元格输入公式,Ctrl+Shift+Enter三键回车,再向下填充。

=MAX(IFERROR(–LEFT(A3,ROW($1:$10)),))

思路:创建数组依次提取字符,通过“负负得正”转换为数值,并将错误值通过IFERROR转为0再求最大值。

方法二:

B3单元格输入公式,Ctrl+Shift+Enter三键回车,再向下填充。

=MAX(IFERROR(–MID(A3,ROW($1:$9),{1,2,3,4}),))

4、根据表5中A列编号修正为统一格式。

B3单元格输入以下公式,再向下填充。

方法一:

=”编号”&BASE(A3,10,6)

方法二:

=”编号”&RIGHT(“00000″&A3,6)

5、计算表6中各部门的人数。

C3单元格输入公式,Ctrl+Shift+Enter三键回车。

=SUM(N(MID(B3,ROW($1:$50),1)=”、”))+1

思路:构建数组,每次提取一个字符,计算等于”、”的个数,加1即为人数。

6、提取表7中的姓名及手机号。

提取姓名,B4单元格输入公式,向下填充。

=LEFT(A4,LENB(A4)-LEN(A4))

提取手机号,C4单元格输入公式,向下填充。

=RIGHT(A4,LEN(A4)*2-LENB(A4))

今天的练习文件在此,你也试试吧~~

https://pan.baidu.com/s/1diDYm9aqLl52haR-SAZ6eA

提取码: 5e9s

AI助手