Excel LEFT函数与公式实例

  • Share This
Michael Brown

本教程展示了如何使用Excel中的LEFT函数从文本串的开头获取子串,提取某个字符之前的文本,强制Left公式返回一个数字,以及更多。

在Microsoft Excel为处理文本数据提供的许多不同函数中,LEFT是使用最广泛的函数之一。 顾名思义,该函数允许你从文本字符串的左边开始提取一定数量的字符。 然而,Excel LEFT的功能远远超过其纯粹的本质。 在本教程中,你会发现几个基本的Left公式,以在了解了语法之后,我将向你展示一些方法,让你可以将Excel LEFT函数远远超出其基本用途。

    Excel LEFT函数--语法

    Excel中的LEFT函数返回从一个字符串开始的指定数量的字符(子串)。

    LEFT函数的语法如下。

    LEFT(text, [num_chars])

    在哪里?

    • 文本 (必填)是你想从中提取子串的文本字符串。 通常它是对包含该文本的单元格的引用。
    • Num_chars (可选) - 要提取的字符数,从字符串的左边开始。
      • 如果 num_chars 如果省略,它默认为1,这意味着Left公式将返回1个字符。
      • 如果 num_chars 的总长度大于 文本 ,一个Left公式将返回所有的 案文 .

    例如,要从A2单元格的文本中提取前3个字符,使用这个公式。

    =LEFT(A2, 3)

    下面的屏幕截图显示了结果。

    重要提示!LEFT属于文本函数的范畴,因此Left公式的结果总是一个 文字串 如果您正在处理一个数字数据集,并希望 LEFT 函数返回一个数字,请将其与 VALUE 函数结合使用,如本例所示。

    如何在Excel中使用LEFT函数--公式实例

    除了从字符串的左边提取文本外,LEFT函数还能做什么呢? 下面的例子显示了你如何将LEFT与其他Excel函数结合起来使用,以解决更复杂的任务。

    如何提取某个字符之前的子串

    在某些情况下,你可能需要提取文本字符串中某个特定字符之前的部分。 例如,你可能想从一列全名中提取名字,或从一列电话号码中获取国家代码。 问题是,每个名字和每个代码都包含不同数量的字符,因此你不能简单地提供一个预定义的数字给 num_chars 的参数,就像我们在上面的例子中所做的那样,你的左侧公式的参数。

    如果姓和名之间用空格隔开,问题就归结为找出空格字符在字符串中的位置,这可以通过使用SEARCH或FIND功能轻松完成。

    假设全名在A2单元格中,空格的位置由这个简单的公式返回:SEARCH(" ",A2))。 现在,你把这个公式嵌入在 num_chars 的参数。

    =left(a2, search(" ", a2))

    为了进一步改进公式,通过从搜索公式结果中减去1来摆脱尾部空格(在单元格中不可见,尾部空格可能导致许多问题,特别是如果你打算在其他公式中使用提取的名称)。

    =left(a2, search(" ", a2)-1)

    以同样的方式,你可以从一列电话号码中提取国家代码。 唯一不同的是,你使用搜索功能来找出第一个连字符("-")的位置,而不是空格。

    =left(a2, search("-", a2)-1)

    总结一下,你可以使用这个通用公式来获得一个在任何其他字符之前的子串。

    LEFT( 绳子 , 搜索( 特征 , 绳子 ) - 1)

    如何从一个字符串中删除最后N个字符

    你已经知道如何使用Excel LEFT函数从文本串的开始处获得一个子串。 但有时你可能想做一些不同的事情--从字符串的结尾处删除一定数量的字符,并将字符串的其余部分拉到另一个单元格。 为此,将LEFT函数与LEN结合使用,像这样。

    LEFT( 字符串。 LEN( 绳子 ) - 要删除的字符数 )

    这个公式的工作原理是这样的:LEN函数得到一个字符串的总字符数,然后你从总长度中减去不需要的字符数,并让LEFT函数返回剩余的字符。

    例如,要删除A2中文本的最后7个字符,使用这个公式。

    =left(a2, len(a2)-7)

    如下面的截图所示,该公式成功地切断了" - 要做的事" 后缀(4个字母,一个连字符和2个空格)从A列的文本字符串中选出。

    如何强制LEFT函数返回一个数字

    正如你已经知道的,Excel的LEFT函数总是返回文本,即使你从一个数字中抽出几个头位。 对你来说,这意味着你将不能在计算或其他对数字进行操作的Excel函数中使用Left公式的结果。

    那么,如何让Excel LEFT输出数字而不是文本字符串呢? 只需将其包裹在VALUE函数中即可,该函数旨在将代表数字的字符串转换为数字,如图所示。 价值(LEFT())

    例如,要从A2的字符串中提取前2个字符,并将输出转换为数字,请使用此公式。

    =value(left(a2,2))

    其结果将类似于这样。

    正如你在上面的截图中看到的,B列中用Value Left公式得到的数字在单元格中是右对齐的,而A列中的文本是左对齐的。

    这些只是LEFT在Excel中许多可能的用途中的一小部分。 要想仔细看看本教程中讨论的公式,欢迎下载Excel LEFT函数样本工作表。

    关于更多的左派公式例子,请查看以下资源。

    • 用逗号、冒号、斜线、破折号或其他分隔符分割字符串
    • 如何通过换行来分割字符串
    • 如何将8位数转换为日期
    • 计算一个给定字符之前或之后的字符数量
    • 阵列公式对不同范围内的数字进行不同的计算

    Excel LEFT函数不工作--原因及解决方案

    如果Excel LEFT函数在你的工作表中不能正常工作,很可能是因为以下原因之一。

    1.Num_chars参数小于0

    如果你的Excel Left公式返回#VALUE!错误,你要检查的第一件事是在 num_chars 如果是负数,只要去掉减号,错误就会消失(当然,不太可能有人故意在那里放一个负数,但犯错是人之常情 :)

    大多数情况下,VALUE错误发生在 num_chars 在这种情况下,将该函数复制到另一个单元格,或在公式栏中选择该函数,然后按F9键,看看它相当于什么。 如果该值小于0,则检查该函数是否有错误。

    为了更好地说明这一点,让我们来看看我们在第一个例子中用来提取国家电话代码的Left公式:LEFT(A2, SEARCH("-", A2)-1)。 正如你可能记得的那样,搜索函数在 num_chars 参数计算原始字符串中第一个连字符的位置,我们从中减去1,以从最终结果中去除连字符。 如果我不小心将-1替换成-11,该公式将通过#VALUE错误,因为 num_chars 参数等同于一个负数。

    2.原始文本中的领先空格

    如果你的Excel Left公式在没有明显原因的情况下失败了,请检查原始值是否有领先的空格。 如果你从网上复制了你的数据或从其他外部来源导出,许多这样的空格可能潜伏在文本条目之前而不被注意,你永远不会知道它们的存在,直到出现问题。 以下图片说明了这个问题。

    要消除工作表中的前导空格,可以使用Excel的TRIM函数或Text Toolkit插件。

    3.Excel中的LEFT不能与日期一起使用

    如果你试图使用Excel的LEFT函数来获取一个日期的个别部分(如日、月或年),在大多数情况下,你将只检索到代表该日期的数字的前几位。 重点是,在Microsoft Excel中,所有的日期都存储为整数,代表自1900年1月1日以来的天数,这被存储为数字1(更多信息,请参见你在单元格中看到的只是日期的视觉表现,它的显示可以通过应用不同的日期格式轻松改变。

    例如,如果你在A1单元格中有日期11-Jan-2017,你试图通过使用公式LEFT(A1,2)来提取日期,结果将是42,这是数字42746的前2位,在Excel内部系统中代表2017年1月11日。

    要提取一个日期的特定部分,请使用以下函数之一:日、月或年。

    如果你的日期是以文本字符串的形式输入的,LEFT功能将顺利工作,如截图的右边部分所示。

    这就是你在Excel中使用LEFT函数的方法。 感谢你的阅读,希望下周再见到你。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.