乐于分享
好东西不私藏

Excel中MID函数应用详解

Excel中MID函数应用详解

在 Excel 中,MID 函数是一个专门从文本字符串的“中间”任意位置提取字符的强大工具。它的语法非常直观:

=MID(text, start_num, num_chars)

  • text(文本):包含要提取字符的原始文本字符串(也可以直接引用单元格)。
  • start_num(开始位置):要提取的第一个字符的位置(注意:Excel 中第一个字符的位置是 1,而不是 0)。
  • num_chars(字符个数):希望从文本中返回的字符总数。

为了让你更直观地理解,我们可以看一个简单的例子:
假设单元格 A1 中的文本是 "ABCDEFG",使用公式 =MID(A1, 2, 3),意思是从第 2 个字符(B)开始,往后提取 3 个字符,最终结果就是 "BCD"。

⚠️ 使用 MID 函数必须注意的 4 个细节

  1. 如果开始位置大于文本的总长度,函数会返回空文本(即什么都不显示)。
  2. 如果开始位置小于 1,函数会返回 #VALUE! 错误。
  3. 如果字符个数是负数,函数同样会返回 #VALUE! 错误。
  4. 如果开始位置 + 字符个数超过了文本的总长度,MID 函数不会报错,而是会直接返回从开始位置到文本末尾的所有剩余字符。

🚀 MID 函数的高级实战应用

MID 函数单独使用时,适合提取固定位置的字符;但在实际工作中,它经常与其他函数(如 FIND、LEN、TEXT 等)结合,解决更复杂的动态提取问题。

1. 提取身份证中的出生日期和性别(最经典用法)

假设 A2 单元格是 18 位的身份证号。

  • 提取出生日期:身份证的第 7 到 14 位是出生年月日(YYYYMMDD)。
    • 公式:=MID(A2, 7, 8)
    • 进阶技巧:如果想直接变成标准的日期格式(如 1990-01-01),可以套用 TEXT 函数:=TEXT(MID(A2, 7, 8), "0000-00-00")。
  • 判断性别:身份证的第 17 位代表性别,奇数为男,偶数为女。
    • 公式:=IF(ISEVEN(MID(A2, 17, 1)), "女", "男")

2. 提取两个特定符号之间的内容

假设 A2 单元格的内容是 "KTE-A1002-James",你想提取两个短横线中间的 "A1002"。

  • 公式:=MID(A2, FIND("-", A2) + 1, FIND("-", A2, FIND("-", A2) + 1) - FIND("-", A2) - 1)
  • 原理解析:
    • FIND("-", A2) + 1:找到第一个短横线的位置,并加 1,作为提取的开始位置。
    • 后面的一长串 FIND 组合:目的是算出第二个短横线的位置,减去第一个短横线的位置,再减 1,从而精准算出中间这段文本的字符个数。

3. 提取固定前缀后的所有内容

假设 A2 单元格是 "订单号123456789",你想把“订单号”三个字后面的所有数字提取出来,但数字的长度不固定。

  • 公式:=MID(A2, 4, LEN(A2) - 3)
  • 原理解析:
    • 4:因为前缀“订单号”占了 3 个字,所以从第 4 位开始提取。
    • LEN(A2) - 3:用文本的总长度减去前缀的 3 个字,剩下的就是后面所有数字的长度。这样无论后面数字有多长,都能一次性全部提取出来。

4. 提取日期中的年、月、日

如果 A2 单元格是文本格式的日期 "2024-07-01"。

  • 提取年份:=MID(A2, 1, 4)
  • 提取月份:=MID(A2, 6, 2)
  • 提取日期:=MID(A2, 9, 2)

相关学习资料