Excel 子字符串公式
Excel中没有特定的公式可以从其他字符串中提取子字符串。子字符串是从完整字符串中提取出来的字符串。Excel没有提供任何直接的函数用于此操作。但它提供了几个其他函数,如LEFT,RIGHT,MID,TRIM,LEN,FIND,SUBSTITUTE,REPT和MAX。它们帮助用户以不同的方式提取子字符串。
其中一些函数是直接使用的,而另一些函数是在另一个函数中使用以获取目标子字符串。
在本章中,我们将讨论查找子字符串的方法及其示例。然后,您可以根据自己的数据相应地使用它们。您会发现这些函数非常简单易用。
本章涵盖的主题:
- 从左侧提取子字符串 – LEFT()
- 从右侧提取子字符串 – RIGHT()
- 从中间提取子字符串 – MID()
- 通过删除前导和尾随空格提取子字符串 – TRIM()
- 在特定字符之前提取子字符串
- 在特定字符之后提取子字符串
我们将在本章中详细解释这些方法。
LEFT()函数
Left()函数从字符串的左侧提取字符。用户需要提供字符串单元格引用(或以双引号括起来的字符串本身)以及要从中提取的字符数。
语法
=LEFT(text, [numberOfchar])
看下面的一个例子:
例子
我们有一个字符串在B4单元格上,我们将应用left()函数从中提取前五个最左边的字符。按照下面给出的公式进行书写:
=LEFT(B4, 5)
按下 Enter 键,并注意到左边成功删除了五个字符,我们得到了一个新的子字符串 Kavya from Kavyansh。
注意:字符串可以包含文本、数字和特殊字符。它适用于所有类型的字符串。
RIGHT()函数
right() 函数可帮助提取原始字符串右侧的字符。该函数接受两个参数:一个是文本字符串(字符串单元格引用),另一个是要从右侧提取的字符数。
语法
语法与 Excel 的 Left() 函数几乎相同。只是函数的名称不同。
=RIGHT(text, [numberOfchar])
看下面的例子:
例子
我们在B4单元格中有一个字符串,我们将使用right()公式从中提取最右边的四个字符。写出如下的公式:
=RIGHT(B4, 4)
按下 Enter 键,并查看从右边成功删除了四个字符,并得到了一个新的子字符串 Nita from Anita。
注意:LEFT、RIGHT和MID函数在提取子字符串时也包括空格字符。
MID()函数
现在,这个函数有点不同。它从字符串的中间提取子字符串,而不是从左边或右边。
这个函数有三个参数,即文本字符串、开始提取的位置和从字符串中提取的字符数。
语法
=MID(text, start-num, numberOfchar)
看以下示例:
示例
我们在B4单元格中有一个字符串,我们将使用MID()函数从字符串中间提取子字符串。将公式写为如下所示:
=MID(B4, 2,4)
看到从字符串中提取的子字符串 Avika Gaur ,返回的字符串是 Vika Ga.
TRIM()函数
TRIM()函数从字符串中删除前导和尾随空格,并返回剩余的提取子字符串。此函数只接受一个参数,即文本字符串(字符串的单元格引用)。
语法
=TRIM(text)
在下面的示例中看一下:
示例:
我们在B4单元格中有一个字符串( Hello World!),我们将应用TRIM()公式来去除前导和尾部空格,并获取提取的子字符串。
为此,将公式写成如下所示:
=TRIM(B4)
查看从字符串 Hello world! 中提取的子字符串,该字符串最初包含开头和结束的空格。
要详细学习TRIM()函数,请点击此处(https://www.javatpoint.com/remove-spaces-in-excel#:~:text=Remove%20spaces%20using%20TRIM()%20function,-Extra%20space%20in&text=TRIM()%20function%20is%20a,between%20space%3B%20it%20removes%20all.)并按照我们的完整教程进行示例说明。
提取特定字符之前的子字符串
有时我们需要在特定字符之前提取一个字符串。这通常在从电子邮件ID中提取用户名时需要。例如,从stash电子邮件ID中提取用户名javatpoint2011。
此方法将帮助您实现此类结果。它需要两个函数:LEFT()和SEARCH()。
它们一起使用,其中SEARCH()函数在LEFT()函数内部用作第二个参数。因此,SEARCH()函数返回的结果是一个整数,用于替代字符数的位置。
语法
以下是提取特定字符之前的子字符串的语法。
=LEFT(textString, SEARCH("char", textString) -1)
这里,
- textString将包含从中提取子字符串的字符串。
- Char参数接受在其之前提取子字符串的字符。
例子,
我们在B4单元格中有一个邮件地址stash。现在,从中提取@字符之前可用的子字符串(用户名),请使用以下公式:
=LEFT(B4, SEARCH(“@”, B4) -1)
按下 Enter 键并从电子邮件ID中获取提取的用户名(即@符号之前的子字符串)。
这个公式是如何工作的
=LEFT(B4, SEARCH("@", B4) -1)
用于字符串 名称 。
首先需要了解的是-这个公式是从右到左执行的。它只需要几个简单的语句就可以理解它是如何工作的。请仔细阅读它们。
- 首先,SEARCH()函数将返回原始字符串中@符号的位置,即11个字符。
- 现在,将搜索函数返回的位置值(11)减去1。
- 这个结果值(10)将作为所需字符数的参数被传递给LEFT()函数。
最后,LEFT()函数将执行并返回原始字符串中左侧的10个字符,即javatpoint。
提取特定字符后的子字符串
类似于上述方法,您还可以提取特定字符后的子字符串。例如,您可以从字符串中提取特定字符后的域名,即microsoft.com (域),从 名称 (电子邮件地址)。该方法将帮助您实现这个结果。
它需要三个函数:RIGHT()、LEN()和SEARCH()函数。这里,LEN()和SEARCH()函数在RIGHT()函数内部使用,它们的返回值将作为第二个参数使用。因此,它们返回的结果值将作为要提取的字符数。
语法
提取特定字符后的子字符串的语法如下。
=RIGHT(textString, LEN(textString)-SEARCH("char", textString))
这里,
- textString将包含从中提取子字符串的字符串。
- char参数接受在其后将提取子字符串的特定字符。
示例,
我们在单元格B4中有一个电子邮件地址 stash。 现在,从中提取@之后可用的子字符串(域名),使用以下公式:
=RIGHT(B4,LEN(B4)-SEARCH("@", B4))
按下 Enter 键并从电子邮件地址中提取域名(@符号之前的子字符串)。
这个公式是如何工作的
=RIGHT(B4, LEN(B4)-SEARCH("@", B4))
用于字符串 地址
首先要知道的是-这个公式将会“从右到左”执行。理解这个公式的工作原理需要最多五个语句。请仔细阅读它们。
- 首先,SEARCH()函数将返回原始字符串中“@”符号的位置(从左边开始计数,为1),即8。
- 然后,LEN函数将计算给定字符串的总长度,即21。
- 现在,SEARCH函数返回的位置将从字符串的长度中减去,即21-8=13。
- 这个结果值(13)将作为第二个参数传入RIGHT()函数,用于指定要提取的字符数。
- 最后,RIGHT()函数将从字符串中提取最右边的13个字符,并返回子字符串,即microsoft.com。