Excel中的MID和MIDB函数都根据不同的条件从文本字符串返回特定数量的字符。
注意:本文中的信息适用于Excel 2019,Excel 2016,Excel 2013,Excel 2010,Excel 2019 for Mac,Excel 2016 for Mac,Excel for Mac 2011和Excel Online。
MID还是MIDB?
如果您的好数据中包含不需要的垃圾字符,或者您只需要单元格中的部分文本字符串,则Excel有许多功能可以删除不需要的数据。
您使用的功能取决于良好数据相对于单元格中不需要的字符的位置。
- 如果要保留的好数据或子字符串位于数据的右侧,请使用RIGHT函数将其提取出来。
- 如果子字符串位于数据的左侧,请使用LEFT函数将其提取出来。
- 如果子字符串的两侧都有不需要的字符,请使用MID或MIDB函数将其解压缩。
Excel MID和MIDB函数
MID和MIDB功能仅在它们支持的语言上有所不同。
MID适用于使用单字节字符集的语言。该组包括大多数语言,如英语和所有欧洲语言。
MIDB适用于使用双字节字符集的语言。这包括日语,中文(简体),中文(繁体)和韩语。
MID和MIDB函数语法和参数
在Excel中,函数的语法是指函数的布局,包括函数的名称,括号和参数。
MID函数的语法是:
= MID(文本,START_NUM,NUM_CHARS)
MIDB函数的语法是:
= MIDB(文本,START_NUM,NUM_BYTES)
这些参数告诉Excel:
- 要在函数中使用的数据。
- 要提取的良好数据或子字符串的起始位置。
- 子串的长度。
文本 (MID和MIDB函数需要):包含所需数据的文本字符串。此参数可以是实际字符串或对工作表中数据位置的单元格引用。
START_NUM (MID和MIDB函数需要):指定要保留的子字符串左侧的起始字符。
NUM_CHARS (MID函数需要):指定要保留的Start_num右侧的字符数。
NUM_BYTES (MIDB函数需要):指定要保留的Start_num右侧的字符数(以字节为单位)。
如果Start_num大于文本字符串的长度,MID和MIDB将返回一个空白单元格。在我们的示例中,第4行显示Start_num等于14,文本字符串长度为13个字符。
如果Start_num小于1或Num_chars / Num_bytes为负,则MID / MIDB函数返回#VALUE!错误值。请参见图像的第6行,其中Start_num等于-1。
如果Num_chars / Num_bytes引用空单元格或设置为零,则MID / MIDB返回空白单元格。参见图像的第7行,其中Num_chars引用空单元格B13。
MID函数示例:从Bad中提取好数据
上图中的示例显示了使用MID函数从文本字符串中提取特定数量字符的多种方法,包括直接输入数据作为函数的参数(第2行)和输入所有三个参数的单元格引用(第5行)。
由于通常最好输入参数的单元格引用而不是实际数据,下面的信息列出了用于输入MID函数的步骤及其在单元格C5中的参数。
使用MID功能对话框
将函数及其参数输入单元格C5的选项包括:
- 输入完整的功能 = MID(A3,B11,B12) 进入细胞C5。由于Excel Online没有“公式”选项卡,因此必须使用此方法。
- 使用函数的对话框选择函数和参数。
使用对话框输入函数通常可以简化任务,因为对话框会处理函数的语法(在正确的位置和数量中输入函数的名称,逗号分隔符和括号)。
无论您选择将哪个选项用于将函数输入工作表单元格,最好使用指向并单击以输入用作参数的任何和所有单元格引用,以最大程度地减少因输入错误的单元格引用而导致错误的可能性。
- 选择单元格 C1 使它成为活跃的细胞。这是显示函数结果的位置。
- 选择 公式.
- 选择 文本打开功能下拉列表。
- 选择 中 在列表中打开“函数参数”对话框。
- 在对话框中,将光标放在文本行中。
- 选择单元格 A5 在工作表中输入此单元格引用作为文本论点。
- 将光标放在Start_num中 线。
- 选择单元格 B11在工作表中输入此单元格引用。
- 将光标放在Num_chars中 线。
- 选择单元格 B12 在工作表中输入此单元格引用。
- 选择 好 完成该功能并关闭对话框。
提取的子字符串 档案#6 出现在单元格C5中。
当你选择单元格C5完整的功能 = MID(A3,B11,B12) 出现在工作表上方的公式栏中。
使用MID函数提取数字
如上例中的第8行所示,MID函数使用上面列出的步骤从较长的数字中提取数字数据的子集。
唯一的问题是提取的数据被转换为文本,不能用于涉及某些功能的计算,例如SUM和AVERAGE功能。
解决此问题的一种方法是使用VALUE函数将文本转换为数字,如上面第9行所示:
= VALUE(MID(A8,5,3))
第二种选择是使用paste special将文本转换为数字。