ZetCode

Excel LEFT、RIGHT 和 MID 函数

最后修改于 2025 年 4 月 4 日

LEFTRIGHTMID 函数是 Excel 中必不可少的文本操作工具。它们根据位置提取文本字符串的特定部分。本教程提供了使用这些函数的全面指南,并附有详细的示例。您将学习基本语法、实际应用和高级技术,以掌握这些文本函数。

函数基础

这些函数从文本值中提取子字符串。LEFT 从开头获取字符,RIGHT 从末尾获取,MID 从任何位置获取。它们对于解析结构化文本数据非常有用。

函数 描述 语法
LEFT 从开头提取字符 =LEFT(text, [num_chars])
RIGHT 从末尾提取字符 =RIGHT(text, [num_chars])
MID 从中间提取字符 =MID(text, start_num, num_chars)

此表总结了三个文本提取函数。所有函数至少需要一个文本参数,并根据位置参数返回一个子字符串。可选参数显示在方括号中。

LEFT 函数基本示例

此示例演示如何使用 LEFT 函数从文本字符串中提取前 3 个字符。

LEFT 公式示例
=LEFT("Excel Functions", 3)

此公式从“Excel Functions”中提取前 3 个字符。结果是“Exc”。当省略 num_chars 时,LEFT 只返回第一个字符。

使用 RIGHT 提取文件扩展名

RIGHT 函数非常适合从文件名中获取文件扩展名。此示例显示如何提取最后 3 个字符(假定为 .txt 扩展名)。

A B
document.txt =RIGHT(A1, 3)
report.pdf =RIGHT(A2, 3)

该表显示 A 列中的文件名和 B 列中的 RIGHT 公式,提取最后 3 个字符。这对于 .txt 等固定扩展名非常有效。

用于文件扩展名的 RIGHT
=RIGHT(A1, 3)

当 A1 包含“document.txt”时,此公式返回“txt”。对于可变长度的扩展名,您需要将其与 FIND 结合使用以定位点的位置。

使用 MID 提取中间名

MID 函数从任何位置提取文本。此示例假定格式固定,从全名中获取中间名。

A B
John Michael Doe =MID(A1, 6, 7)
Jane Ann Smith =MID(A2, 6, 3)

该表通过位置演示了 MID 提取中间名。当姓名遵循带空格的固定“名字-中间名-姓氏”结构时,此方法有效。

用于中间名的 MID
=MID(A1, 6, 7)

此公式从“John Michael Doe”的第 6 个位置开始提取 7 个字符,返回“Michael”。对于实际数据,您需要更灵活的位置查找。

结合 LEFT 和 FIND 提取名字

此高级示例将 LEFT 与 FIND 结合使用,通过定位第一个空格来动态提取名字,而不考虑其长度。

结合 FIND 的 LEFT
=LEFT(A1, FIND(" ", A1)-1)

该公式找到第一个空格的位置,然后提取它之前的所有字符。对于 A1 中的“Sarah Johnson”,FIND 返回 6,因此 LEFT 获取 5 个字符。

结合 MID 和 FIND 提取区号

此示例使用 MID 和 FIND 从电话号码中提取区号,展示了灵活的文本解析。

A B
(555) 123-4567 =MID(A1, 2, 3)
(800) 555-1212 =MID(A2, 2, 3)

该表显示 A 列中的电话号码和 MID 公式,提取 3 位区号。这适用于带括号的固定格式号码。

用于区号的 MID
=MID(A1, 2, 3)

此公式从第 2 个位置(开括号之后)开始,提取 3 个字符。对于“(555) 123-4567”,它返回“555”。该方法假定标准的电话号码格式。

使用 RIGHT 处理可变长度文本

此示例展示了如何使用 RIGHT 和 LEN 从不同长度的句子中提取最后一个单词。

结合 LEN 和 FIND 的 RIGHT
=RIGHT(A1, LEN(A1)-FIND("*", SUBSTITUTE(A1, " ", "*", LEN(A1)-LEN(SUBSTITUTE(A1, " ", "")))))

此复杂公式使用 SUBSTITUTE 查找最后一个空格的位置,然后使用 RIGHT 获取其后的所有文本。对于“The quick brown fox”,它返回“fox”。

LEFTRIGHTMID 函数是 Excel 中强大的文本操作工具。从简单的提取到复杂的解析任务,它们构成了文本处理的基础。将它们与其他函数(如 FIND 和 LEN)结合使用,将显著提高您进行数据清理和准备的能力。

作者

我的名字是 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 Excel 公式