希赛考试网
首页 > 软考 > 网络工程师

mid和midb函数的区别

希赛网 2024-01-09 16:38:48

在Excel中,mid和midb函数都是用于文本处理的函数,它们可以从一个字符串中提取指定长度的子字符串。mid函数是针对单字节字符集编码的(如英文),而midb函数则是针对双字节字符集编码的(如汉字)。它们之间的差异可以从以下几个角度分析。

一、函数语法

mid和midb函数的语法略有不同。

mid函数的语法是:

MID(text,start_num,num_chars)

text:必选参数,要提取子字符串的文本。

start_num:必选参数,提取开始位置(从1开始计数)。

num_chars:可选参数,提取字符数。

midb函数的语法是:

MIDB(text,start_num,num_bytes)

text:必选参数,要提取子字符串的文本。

start_num:必选参数,提取开始位置(从1开始计数)。

num_bytes:可选参数,提取字节数。

可以看到,midb函数的参数有一个字节数,而mid函数的参数则是字符数。

二、字符串长度

由于mid函数是针对单字节字符集编码的,所以在处理中文字符串时会存在问题。因为一个中文字符占两个字节,而mid函数只能处理单字节字符,如果用mid函数提取中文字符串中的子字符串,可能会错位或出现乱码。而midb函数可以正确地提取双字节字符集编码的文本中的子字符串。

三、文本运算符

在Excel中,文本可以与数值或其他文本进行运算。但是,mid函数和midb函数在文本运算符中的结果是不同的。

当mid函数、文本运算符和数值进行运算时,Excel会尝试将文本值转换为数字值。如果文本值无法转换为数字,则会返回#VALUE!错误。例如,假设有以下的公式:=MID("100",2,1)*2,则Excel将提取"100"中的"0"字符并将其转换为数字0,然后将0乘以2得到0。

而当midb函数、文本运算符和数值进行运算时,会返回#VALUE!错误。因为midb函数返回的是二进制数据,不能与数字进行操作。

四、单元格格式

除了文本长度和运算符之外,mid和midb函数还会受到单元格格式的影响。

如果单元格格式为文本格式,则mid和midb函数将返回文本值而不是数字值。但是,如果单元格格式为一般格式,则只有mid函数返回数字值,midb函数返回错误值。

扫码咨询 领取资料


软考.png


网络工程师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
网络工程师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件