MID函数用于返回文本字符串中从指定位置开始的特定数目的字符,该数目由参数指定。
用法剖析
=MID(①在哪里提取,②指定提取位置,③提取的字符数量)
如果要实现更加灵活地提取数据,②这个参数可以使用函数来自动判断从哪个位置开始提取。经常会嵌套LEN、FIND函数使用,下面会介绍到相关范例。
实例:从规格数据中提取部分数据
表格的规格数据包含产品的厚度信息(见图3-1),现在需要将厚度数据批量地提取出来。
在原B列前插入一个新列用于显示提取的“厚度”数据,选中B2单元格,在公式编辑栏中输入公式:
=MID(A2,9,3)
按Enter健得出结果。
选中B2单元格,拖动右下角的填充柄向下复制公式,即可从A列数据中批量得出产品的厚度数据,如图所示。
公式解析
=MID(A2,9,3)
A2为目标单元格,即从A2单元格中的字符串提取,从第9位开始提取,并提取3位字符。
实例:根据身份证号码快速计算年龄
表格中显示了员工的身份证号码,要求根据身份证号码快速算出员工的年龄。要完成这项计算,需要先从身份证号码中提取出生年份,然后计算当前年份与出生年份的差值即为年龄。
选中C2单元格,在公式编辑栏中输入公式:
=YEAR(TODAY())-MID(B2,7, 4)
按 Enter 键计算出第一位员工的年龄。
选中C2单元格,拖动右下角的填充柄向下复制公式,即可根据B列中的身份证号码快速计算各自的年龄,如图所示。
公式解析
①先使用TODAY函数返回当前日期,再使用YEAR函数返回当前日期中的年份值。
②从B2单元格的第7位开始共提取4个字符,即提取的是出生年份。
③用当前的年份减去出生年份即为年龄。
实例:从身份证号码中提取性别
身份证号码中包含有持证人的性别信息,即第17位如果是奇数,性别为“男",如果是偶数,性别为"女"。可以使用MID函数实现提取然后再配合MOD函数与IF函数实现判断。
选中C2单元格,在公式编辑栏中输入公式:
=IF(MOD(MID(B2,17,1)2)=1,“男”,“女”)
按Enter键即可从身份证号码中获取第一位员工的性别信息。
将鼠标指针指向C2单元格的右下角,待光标变成十字形状后,按住鼠标左键向下拖动进行公式填充,即可从员工身份证号码中获取所有员工的性别信息,如图所示。
嵌套函数
MOD函数属于数学函数类型,用于求两个数值相除后的余数。
公式解析
①提取B2单元格字符串的第17位。
②计算步骤①中提取的值与2相除的余数。
③如果②步结果等于“1”(表示不能整除),则返回性别“男”否则返回性别“女”。
实例:提取产品的货号
表格中提供了产品的完整编码,完整编码中间部分为产品的货号(见图B列所示),现在要将货号单独提取出来。
选中D2单元格,在公式编辑栏中输入公式:
=MID(B2,FIND("-",B2)+1,5)
按Enter键得出提取结果。
选中D2单元格,拖动右下角的填充柄向下复制公式,即可批量提取袋号,如图所示。
嵌套函数
FIND函数属于文本函数类型。它用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值。
公式解析
①在B2单元格中找“-”符号所在位置。
②在B2单元格中提取字符,提取的起始位置为①步返回值加1,提取的总位数为5。
提示
与MID用法类似的还有MIDB。MIDB函数根据指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。因此MID是接字符数计算的,而MIDB是按字节数计算的。一个字符等于两个字节。