Mid函数与Left和Right函数均不同,此函数既不从第一位开始截取,也不从最后一位开始截取,而是由用户自行指定开始的位置和字符的长度。因此,若用户指定从第一位开始,便和Left函数一样。 使用语法 MID(text,start_num,num_chars) Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。 Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。 Num_chars 指定希望 MID 从文本中返回字符的个数。 注意: 如果 start_num 大于文本长度,则 MID 返回空文本 ("")。 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。 如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。 应用示例: 详细解释 公式“=MID(A2,7,8)”中A2表示要截取的数据为A2单元格的内容“******19851221****”,“7”表示从第7位开始,共截取8个字符,因此系统返回用户想截取的生日时间“19851221”。 OK,我们己经学了三招,但读者可能己经发现,实际工作中,原始资料并不会如此整齐地出现,让我们很容易的用上面的三招去截取。比如说,第三招示例中,我用的都是18位的身份证号码,但实际上,很多人仍在使用15位的身份号码,这样一来,因原始数据长度不一致,导致在截取时,便会截错。再如我们的第一个例子,我们截的是3位,但实际中,有的省份名称本身就有3位,因此对这种情况,简单的套用就无法取得正确的内容。 如我在第一篇中所说,在实际的工作使用中,单一公式常常都是不够的,而需要使用组合招数。例如刚才的身份证号码不同长度问题,我们可以在招式中,加入对位数的判断,如果长度是18位,则取8位,如果是15位的,则取6位。还记得前面我们学过左右逢源吗?这一招可是相当的实用哦,我们经常会用到。另外,下面我再介绍两招,用来对单元格的内容进行判断。一个是“瞎子摸象”(Find函数),让用户对单元格内容中指定的字符进行定位,以确认其位置。当位置被确认后,截取就是轻而易举的一件事情了。另一招是“鲁班神尺” (Len函数),让用户对单元格内容的长度进行测量,得出其长度后,再做相应的截取处理。 |