ad

Excel 教程 - 按特定位置提取文本或数字-英雄云拓展知识分享

匿名投稿 189 2024-02-23

Excel 教程 - 按特定位置提取文本或数字

很多情况下,你可能只需要从一个句子或单元格中的文本字符串中提取有用的内容,例如从地址中提取省分,从句子中提取电子邮件地址,从对话中提取快递单号,等等。 本教程将提取范围缩小到单元格中的特定位置,并搜集了不同的方法来帮助在 Excel 中按特定位置从单元格中提取文本或数字。

目录: [ 隐藏 ]

(单击下面目录中的任何标题或在右边导航到相应的章节。)
按位置提取文本
1.从左或右提取字符数
1.1 用公式提取前N个字符或后N个字符
1.2 用一个奇异的工具提取第一个或最后N个字符

2.提取某个字符/单词之前或以后的文本
2.1 在第一个分隔符(一个字符)之前或以后提取文本

2.1.1 用公式提取第一个分隔符之前的文本
2.1.2 用公式提取第一个分隔符后的文本
2.1.3 使用奇异的工具在第一个分隔符之前或以后提取文本

2.2 在最后一个分隔符(一个字符)之前或以后提取文本

Excel 教程 - 按特定位置提取文本或数字-英雄云拓展知识分享

2.2.1 用公式提取最后一个分隔符之前的文本
2.2.2 用公式提取最后一个分隔符后的文本

2.3 提取第n个字符后的文本

2.4 从文本字符串中提取第n个单词

2.4.1 用公式提取第n个单词
2.4.2 用自定义内涵函数提取第n个单词
2.4.3 用奇异的工具提取第n个单词

2.5 在第 n 次出现分隔符之前或以后提取文本

2.5.1 在第 n 次出现分隔符之条件取文本
2.5.2 在第 n 次出现分隔符后提取文本

2.6 在换行之前或以后提取文本

2.6.1 用公式提取第一个换行符之前的文本
2.6.2 用公式提取最后一个换行符后的文本

2.7 提取单词之前或以后的文本

2.7.1 用公式提取某个单词前的文本
2.7.2 用公式提取某个单词后的文本
2.7.3 使用奇异的工具在某个单词之前或以后提取文本

3.字符/单词之间的提取
3.1 提取两个字符之间的文本

3.1.1 用公式提取两个相同字符之间的文本
3.1.2 用公式提取两个不同字符之间的文本
3.1.3 用一个奇异的工具提取两个字符之间的文本
3.1.4 按规则提取两个字符(包括字符)之间的文本

3.2 提取两个单词之间的文本

3.2.1 用公式提取两个单词之间的文本
3.2.2 用一个奇异的工具提取两个单词之间的文本

按位置提取数字
1.从字符串的左侧提取数字
2. 提取字符串右侧的数字
3. 提取文本字符串任意位置的所有数字
3.1 用公式从字符串中任意位置提取所有数字
3.2 用VBA从字符串中任意位置提取所有数字
3.3 使用奇异的工具从字符串中的任何位置提取所有数字

4.提取特定文本后的数字
4.1 用公式提取特定文本后的数字
4.2 使用自定义内涵函数提取特定文本后的数字


按位置提取文本

本节搜集可以从单元格中提取文本的常见位置,并提供相应的方法来逐渐处理它们。 您可以阅读以了解更多详细信息。

1.从左或右提取字符数

要从字符串的左边或右边提取字符数,您可以尝试以下方法之一。

1.1 用公式提取前N个字符或后N个字符

假定您在 B 列中有一个文本字符串列表,以下面的屏幕截图所示,要从每一个字符串中提取前 2 个字符和后 2 个字符,您可以利用以下公式。

从文本字符串中提取前 N 个字符

LEFT 函数可以帮助轻鬆地从 Excel 中的文本字符串中提取前 N 个字符。

通用公式

=LEFT(text_string,[num_chars])

参数

文字字串:包括要提取的字符的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
字符数:指定要提取的字符数。

Num_chars 必须大于或等于零;
如果指定的 Num_chars 大于文本字符串的长度,则返回全部文本;
如果省略 Num_chars,则假定为 1。

现在您可以利用此公式从 B 列的单元格中提取前 2 个字符。

1.选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得第一个结果的关键。 选择结果单元格并将其自动填充句柄向下拖动以将公式利用于其他单元格。

=LEFT(B5,2)

现在已提取范围 B2:B5 的每一个单元格中的前 10 个字符。

从文本字符串中提取最后 N 个字符

在这里,我们利用 RIGHT 函数从 Excel 中的文本字符串中提取最后 N 个字符。

通用公式

=RIGHT(text_string,[num_chars])

参数

文字字串:包括要提取的字符的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
字符数:指定要提取的字符数。

字符数 必须大于或等于零;
如果指定 字符数 大于文本字符串的长度,则返回全部文本;
如果 字符数 省略,假定为 1。

选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 然后选择此结果单元格并向下拖动其自动填充句柄以获得其他结果。

=RIGHT(B5,2)

1.2 用一个奇异的工具提取第一个或最后N个字符

虽然上面的公式很简单,但要从一长串文本字符串中提取第一个或最后 n 个字符,依然需要从上到下拖动 AutoFill Handle,这可能会有点耗时。 这里推荐 Excel的tools 提取文字 实用程序来帮助从批量文本字符串列表中提取第一个或最后 N 个字符。

1. 预先选择要从中提取文本的文本字符串列表,然后单击 库工具 > 文本 > 提取文字.

2.在弹出 提取文字 对话框,您需要配置以下。

2.1) 确保您留在 按位置提取 标签;
2.2)在 范围 框,里面显示选中的范围,可以针对需要换成其他范围;
2.3)在 选项 部份:

如果要提取前 N 个字符,请选择 前N个字符 单选按钮,然后指定您将在文本框中提取的字符数。 在这类情况下,我输入数字 2;
如果要提取最后 N 个字符,请选择 最后N个字符 单选按钮,然后指定您将在文本框中提取的字符数。 在这类情况下,我想从文本字符串中提取最后 2 个字符,因此我在文本框中输入数字 2。

2.4)点击 OK。 看截图:

备注:要在文本字符串更改时使结果动态,您可以检查 作为公式插入 框。

3.在接下来弹出 提取文字 对话框,选择一个单元格以输出提取的字符,然后单击 OK.

然后从选定的单元格中批量提取指定的第一个或最后 N 个字符。

单击以了解有关此功能的更多信息。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。


2.提取某个字符/单词之前或以后的文本

要提取某个字符或单词之前或以后的文本,本节中的不同场景将满足您的需求。

2.1 在第一个分隔符(一个字符)之前或以后提取文本

以下面的屏幕截图所示,要从 B4:B10 范围内的每一个单元格中提取第一个分隔符之前或以后的文本,您可以利用以下方法之一。

2.1.1 用公式提取第一个分隔符之前的文本

利用基于 LEFT 和 FIND 函数的公式可以帮助从单元格中提取第一个分隔符之前的文本。 您可以依照以下步骤完成。

通用公式

=LEFT(text_string,FIND("delimiter",text_string,1)⑴)

参数

文字字串:要从中提取子字符串的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
分隔符:第一个分隔符,定义内涵将从单元格中提取的文本。

选择一个空白单元格,将下面的公式复制或输入其中,然后按 Enter 取得第一个结果的关键。 选择第一个结果单元格并向下拖动其自动填充句柄以获得其他单元格的第一个分隔符之前的文本。

=LEFT(B5,FIND("-",B5,1)⑴)

2.1.2 用公式提取第一个分隔符后的文本

下面的公式有助于从 Excel 中的单元格中提取第一个分隔符以后的文本。

通用公式

=MID(text_string,FIND("delimiter",text_string)+1,LEN(text_string))

参数

文字字串:要从中提取子字符串的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
分隔符: 定义内涵将从单元格中提取的文本的第一个分隔符。

选择一个空白单元格,将下面的公式复制或输入其中,然后按 Enter 取得第一个结果的关键。 选择第一个结果单元格并向下拖动其自动填充句柄以获得其他结果。

=MID(B5,FIND("-",B5)+1,LEN(B5))

2.1.3 使用奇异的工具在第一个分隔符之前或以后提取文本

这里强烈推荐 提取文字 的功效 tools for Excel。 使用此功能,您可以轻鬆地从一系列单元格中批量提取第一个分隔符之前或以后的文本。

1. 选择要提取文本的单元格范围,然后单击 库工具 > 文本 > 提取文字.

2。 在里面 提取文字 对话框,您需要配置以下。

2.1) 留在 按位置提取 标签;
2.2)在 范围 框,选择的范围显示在里面,可以针对需要更改;
2.3)在 选项 部份:

要在第一个分隔符之条件取文本,请选择 在正文之前 单选按钮,然后在文本框中键入第一个分隔符;
要在第一个分隔符以后提取文本,请选择 在正文以后 单选按钮,然后在文本框中输入第一个分隔符。

2.4)点击 肯定。

注意: 要在文本字符串更改时使结果动态化,您可以选中作为公式插入框。

3.然后另外一个 提取文字 弹出对话框,选择要输出结果的单元格,点击 肯定。

然后立即从选定的单元格中提取第一个分隔符之前或以后的文本。

要了解有关此功能的更多信息,请访问: 从 Excel 中的单元格中快捷提取某些文本.

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。

2.2 在最后一个分隔符(一个字符)之前或以后提取文本

在上面的步骤中,我们学习了从单元格的第一个分隔符之前或以后提取文本的方法。 以下面的屏幕截图所示,本节将向您展现两个公式,用于在单元格的最后一个分隔符之前或以后提取文本。 您可以依照以下步骤完成。

2.2.1 用公式提取最后一个分隔符之前的文本

要从单元格中提取最后一个分隔符之前的文本,可使用 LEFT 函数内部的 SEARCH、LEN 和 SUBSTITUTE 函数。

通用公式

=LEFT(text_string,SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter",""))))⑴)

参数

文字字串:要从中提取子字符串的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
分隔符: 定义内涵将从单元格中提取的文本的最后一个分隔符。

选择一个单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格并向下拖动其自动填充句柄以从同一列中的其他文本字符串中提取文本。

=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))⑴)

2.2.2 用公式提取最后一个分隔符后的文本

从单元格中提取最后一个分隔符之前的文本后,您可以针对需要利用下面的公式来提取最后一个分隔符以后的文本。

通用公式

=RIGHT(text_string,LEN(text_string)-SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter","")))))

参数

文字字串:要从中提取子字符串的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
分隔符: 定义内涵将从单元格中提取的文本的最后一个分隔符。

选择一个单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格并向下拖动其自动填充句柄以从同一列中的其他文本字符串中提取文本。

=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-","")))))

2.3 提取第n个字符后的文本

看下面的例子,在 B4:B10 范围内有一个文本字符串列表,要从每一个单元格中提取第3个字符以后的文本,您可以利用基于 MID 函数和 LEN 函数的公式。

通用公式

=MID(text_string,nth_char+1,LEN(text_string))

参数

文字字串:要从中提取子字符串的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
第 n 个字符: 一个数字代表第n个字符,你将提取它后面的文本。

选择一个空白单元格,将下面的公式复制或输入其中,然后按 Enter 取得结果的关键。 选择此结果单元格并向下拖动其自动填充句柄以取得其他结果。

=MID(B5,3+1,LEN(B5))

2.4 从文本字符串中提取第n个单词

假定您有以下屏幕截图所示的文本字符串列表,并且只想从文本字符串中提取第 n 个单词,本节提供3种方法供您完成。

2.4.1 用公式提取第n个单词

您可以结合 TRIM、MID、SUBSTITUTE、REPT 和 LEN 函数从单元格中的文本字符串中提取第 n 个单词。

通用公式

=TRIM(MID(SUBSTITUTE(text_string," ",REPT(" ",LEN((text_string))), (N⑴)*LEN((text_string)+1, LEN((text_string)))

参数

文字字串:要从中提取第 n 个单词的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
N:一个数字代表您将从文本字符串中提取的第 n 个单词。

在这类情况下,范围 B5:B10 包括文本字符串,D5:D10 包括表示第 n 个单词的数字,让我们利用此公式从文本字符串中提取第 n 个单词。

选择一个空白单元格,将下面的公式复制或输入其中,然后按 Enter 取得第一个结果的关键。 选择此结果单元格并向下拖动其自动填充句柄以获得其他单元格的第 n 个单词。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (D5⑴)*LEN(B5)+1, LEN(B5)))

注意: 您可以直接在公式中键入第 n 个数字,以下所示。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (2⑴)*LEN(B5)+1, LEN(B5)))

2.4.2 用自定义内涵函数提取第n个单词

除上述公式,您还可以利用用户定义内涵的函数从 Excel 中的单元格中提取第 n 个单词。

1。 按 其他 + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2。 在里面 Microsoft Visual Basic for Applications 窗口中,单击 插入 > 模块 然后将下面的 VBA 复制到代码窗口中。

VBA 代码:从单元格中的文本字符串中提取第 n 个单词

Function ExtractTheNthWord(Source As String, Position As Integer)

'Update by 20211202

Dim arr() As String

arr = VBA.Split(Source, " ")

xCount = UBound(arr)

If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then

FindWord = ""

Else

FindWord = arr(Position - 1)

End If

End Function

3。 按 其他 + Q 关闭键 Microsoft Visual Basic for Applications 窗口。

4. 返回包括要从中提取第 n 个单词的文本字符串的工作表。 选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得第 n 个单词的关键。

=FindWord(B5,D5)

Or

=FindWord(B5,2)

注意: 在公式中,D5 是包括代表第 n 个单词的数字的单元格。 或,您可以直接将单元格援用替换为数字。

5. 选择结果单元格并将其自动填充句柄向下拖动以从其他单元格的文本字符串中提取第 n 个单词。

2.4.3 用奇异的工具提取第n个单词

如果您不想手动利用上面提供的公式或用户定义内涵的函数,这里推荐 tools for Excel's 提取单元格中的第n个单词 公用事业。 使用此功能,您只需单击几下便可轻鬆地从单元格中的文本字符串中提取第 n 个单词。

1. 选择要放置结果的单元格,然后单击 库工具 > 公式助手 > 文本 > 提取 单元格中的第 n 个单词。 看截图:

2。 在里面 公式助手 对话框,您需要配置以下。

2.1)在 选择一个公式列表 盒子, 提取单元格中的第n个单词 选项被突出显示;
2.2)在 细胞 框,选择一个包括要从中提取第 n 个单词的文本字符串的单元格;
2.3)在 第N个 框,选择包括第n个数字的单元格或针对需要直接输入数字;
2.4)点击 肯定。

3.然后从B5单元格的文本字符串中提取第n(第2)个单词,可以看到同时创建了一个公式。 选择此结果单元格并向下拖动其自动填充句柄以从其他文本字符串中获得第 n 个单词。

单击以了解有关此功能的更多信息。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。

2.5 在第 n 次出现分隔符之前或以后提取文本

假定您有一个文本字符串列表,以下面的屏幕截图所示。 要在第2次出现空格之前或以后提取文本,本节提供了两个公式来帮助您完成。

2.5.1 在第 n 次出现分隔符之条件取文本

您可使用 LEFT 函数和 SUBSTITUTE 和 FIND 函数从 Excel 中的单元格中提取第 n 次出现分隔符之前的文本。

通用公式

=LEFT(SUBSTITUTE(text_string,"delimiter",CHAR(9),n),FIND(CHAR(9),SUBSTITUTE(text_string,"delimiter",CHAR(9),n),1)⑴)

参数

文字字串:要从中提取文本的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
N:一个数字代表第 n 次出现的分隔符,您将在该分隔符之条件取文本。

选择一个单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格并将其向下拖动 AutoFill Handle 以获得列表中的其他结果。

=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)⑴)

注意: 在公式中,B5 是包括要从中提取文本的文本字符串的单元格; 这里的“ ”代表一个空格,数字 2 代表第2次出现的空格。 您可以针对需要更改它们。

2.5.2 在第 n 次出现分隔符后提取文本

要在第 n 次出现分隔符后提取文本,您可以将 RIGHT 函数与 SUBSTITUTE、LEN 和 FIND 函数一起利用。

通用公式

=RIGHT(SUBSTITUTE(text_string, "delimiter", CHAR(9), n), LEN(text_string)- FIND(CHAR(9), SUBSTITUTE(text_string, "delimiter", CHAR(9), n), 1) + 1)

参数

文字字串:要从中提取文本的文本字符串。 它可以是单元格援用或用双引号括起来的实际文本字符串;
N:一个数字代表第 n 次出现的分隔符,您将在它以后提取文本。

现在,您可以利用此公式从 B5:B10 范围内的每一个单元格中第2次出现空格后提取文本,以下所示。

选择一个单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格并将其向下拖动 AutoFill Handle 以取得其他结果。

=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1)

2.6 在换行之前或以后提取文本

假定您在 B 列中有一个定单列表,并且您只想从每一个单元格中提取日期部份和产品编号部份。 您可使用下面的 Excel 公式来完成它。

2.6.1 用公式提取第一个换行符之前的文本

正如您在上面的屏幕截图中看到的,日期部份位于单元格内的第一个换行符之前。 本节将演示 LEFT 函数和 SEARCH 函数,以帮助您提取单元格内第一个换行符之前的文本。

通用公式

=LEFT(cell, SEARCH(CHAR(10), cell)⑴)

参数

细胞: 要从中提取第一个换行符之前的文本的单元格。

选择一个空白单元格,将下面的公式复制或输入其中,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=LEFT(B5, SEARCH(CHAR(10), B5)⑴)

然后您可以看到提取范围 B5:B8 中每一个单元格中第一个换行符之前的文本,以下面的屏幕截图所示。

注意: 在公式中,CHAR(10) 表示 Windows 上的换行符。

2.6.2 用公式提取最后一个换行符后的文本

在上一步中,我们讨论了如何在单元格中的第一个换行符之条件取文本。 这部份将指点您如何在具有不同公式的单元格中的最后一个换行符以后提取文本。

通用公式

=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(" ",200)),200))

参数

细胞: 要从中提取第一个换行符之前的文本的单元格。

选择一个空白单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将公式利用于其他单元格。

=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200))

然后是产品编号。 提取列表中每一个单元格的一部份,如上面的屏幕截图所示。

注意: 在公式中,CHAR(10) 表示 Windows 上的换行符。

2.7 提取单词之前或以后的文本

在前面的部份中,我们学习了如何在字符或分隔符之前或以后提取文本。 您应当怎幺做才能在全部单词之前或以后提取文本? 本节将介绍3种方法来帮助您完成此任务。

2.7.1 用公式提取某个单词前的文本

以下公式可帮助您在 Excel 中的单元格中提取特订单词之前的文本。

通用公式

=IFERROR(LEFT(cell,FIND(word,cell)⑴),cell)

参数

细胞: 要从中提取特订单词之前的文本的单元格。
字: 您要提取它之前的所有文本的单词。 它可以是单元格援用或用双引号括起来的实际文本字符串;

选择一个空白单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

在此示例中,我们将提取单词“Excel”之前的所有文本,因此我们直接在公式中键入单词并将其括在双引号中。 或您可以援用包括“Excel”一词的单元格。

=IFERROR(LEFT(B5,FIND("Excel",B5)⑴),B5)

笔记:

1) 此公式辨别大小写。
2) 如果您输入的单词在同一个单元格中有重复,则公式仅提取第一次出现后的文本。

2.7.2 用公式提取某个单词后的文本

要在某个单词以后提取文本,您可以利用以下公式来完成它。

通用公式

=TRIM(MID(cell,SEARCH(word,cell)+LEN(word),255))

参数

细胞: 您要从中提取某个单词以后的文本的单元格。
字: 您要提取其后所有文本的单词。 它可以是单元格援用或用双引号括起来的实际文本字符串;

选择一个单元格,输入下面的公式,然后按 Enter 取得结果的关键。 选择结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255))

然后你可以看到每一个单元格中“Excel”这个词被提取出来后的所有文本,以下面的截图所示。

笔记:

1) 此公式不辨别大小写。
2) 如果您输入的单词在同一个单元格中有重复,则公式仅提取第一次出现后的文本。

2.7.3 使用奇异的工具在某个单词之前或以后提取文本

如果您觉得使用公式可能会带来很多不便,这里强烈推荐 提取文字 的功效 Excel的tools. 只需单击几下,此功能有助于在 Excel 中自动履行提取任务。

1。 点击 库工具 > 文本 > 提取文字 启用此功能。

2。 在里面 提取文字 对话框,进行以下设置。

2.1) 确保您在 按位置提取 标签;
2.2)在 范围 框,单击 按钮选择要提取文本的单元格范围;
2.3)在 选项 部份:

要提取单词之前的所有文本,请选择 在正文之前 单选按钮,然后在文本框中输入单词;
要提取单词后的所有文本,请选择 在正文以后 单选按钮,然后在文本框中输入单词。

2.4)点击 OK 按钮。 看截图:

笔记: 如果要创建动态结果,请选中 作为公式插入 盒子。 然后当范围内的数据产生变化时,结果会自动更新。

3.然后 提取文字 弹出对话框,您需要选择一个单元格来输出结果,然后单击 OK 按钮。

然后立即提取所选范围内每一个单元格中某个单词之前或以后的文本。

注意: 此功能辨别大小写。

单击以了解有关此功能的更多信息。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。


3.字符/单词之间的提取

如果要提取某些字符或单词之间的文本,请尝试以下方法。

3.1 提取两个字符之间的文本

提取两个字符之间的文本,这两个字符多是相同或不同的字符。 本节提供了几种方法,您可以针对需要选择其中一种。

3.1.1 用公式提取两个相同字符之间的文本

以下图所示,B 列中有一个文本字符串列表,如果你想从范围内的每一个单元格中提取字符“/”之间的数字部份,下面的公式可以帮到你。

选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 选择结果单元格,然后将其拖动 AutoFill Handle 以获得列表中其他单元格的结果。

=SUBSTITUTE(MID(SUBSTITUTE("/" & B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")

然后从范围内的每一个单元格中提取两个相同字符“/”之间的文本。 看截图:

注意:

1) B5 是您要从中提取两个相同字符之间的文本的单元格;
2)“/” 是您要在它们之间提取文本的两个相同字符。
您需要针对自己的数据更改这些变量。

3.1.2 用公式提取两个不同字符之间的文本

在学习了如何在单元格内的两个相同字符之间提取文本以后,我们将在这里演示一个在两个不同字符之间提取文本的公式。 以下图所示,要从 B 列的每一个单元格中仅提取“<”和“>”之间的电子邮件地址,您可以履行以下操作。

通用公式

=MID(LEFT(cel,FIND("end_char",cell)⑴),FIND("start_char",cell)+1,LEN(cell))

参数

细胞: 要从中提取两个不同字符之间的文本的单元格;
结束字符: 两个不同字符的结束字符;
开始字符: 两个不同字符的起始字符。

选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=MID(LEFT(B5,FIND(">",B5)⑴),FIND("<",B5)+1,LEN(B5))

您可以看到只提取了指定字符之间的文本,如上面的屏幕截图所示。

3.1.3 用一个奇异的工具提取两个字符之间的文本

这里强烈推荐 提取指定文本之间的字符串 的特点 Excel的tools 帮助您轻鬆提取 Excel 单元格中两个相同或不同字符之间的文本。

1.选择一个空白单元格以输出结果,然后单击 库工具 > 公式助手 > 公式助手.

2。 在里面 公式助手 对话框,进行以下设置。

2.1)检查 挑选 框,然后输入单词 “提炼” 进入文本框;
2.2)在 选择一个公式列表 框,单击 提取指定文本之间的字符串 选项;
2.3)在 参数输入 部份:

细胞 框,选择要提取文本的单元格(这里我选择单元格B5);
起始字符 框,输入两个不同字符的起始字符;
结束 char(s) 框中,输入两个不同字符的结束字符。

2.4)点击 肯定。 见截图:

3.然后只提取单元格B5中“<”和“>”之间的文本。 同时,已创建了一个公式,您可以选择此结果单元格,然后将其自动填充句柄向下拖动以从同一列表中的其他单元格中提取文本。

单击以了解有关此功能的更多信息。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。

3.1.4 按规则提取两个字符(包括字符)之间的文本

如果您想在提取后保存这两个字符,请尝试在 tools for Excel 的提取文本功能中利用规则。

1。 点击 库工具 > 文本 > 提取文字.

2。 在里面 提取文字 对话框,进行以下设置。

2.1)点击 依规则提取 标签;
2.2)在 范围 部份,点击 按钮选择要在字符之间提取文本的单元格范围;
2.3)在 文本 框中输入 <*>;
提示:<“和”>” 是要在它们之间提取文本的字符,* 是表示任意数量字符的通配符。 您可以针对需要输入条件。
2.4)点击 加入 按钮将条件添加到 规则说明 列錶框;
2.5)点击 Ok 按钮。 看截图:

3.另外一个 提取文字 弹出对话框,请选择要输出结果的单元格,然后单击 OK 按钮。

然后从选定范围内的每一个单元格中批量提取指定字符(包括字符)之间的文本。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。

3.2 提取两个单词之间的文本

除提取两个字符之间的文本外,您可能仍需要提取两个单词之间的文本。 举例来看,从 B 列的每一个单元格中提取两个单词“KTE”和“feature”之间的所有文本字符串,以下面的屏幕截图所示。 您可以尝试以下方法之一来完成它。

3.2.1 用公式提取两个单词之间的文本

您可使用基于 MID 函数和 SEARCH 函数的公式来提取单元格内两个单词之间的所有文本字符串。

通用公式

=MID(cell,SEARCH("start_word",cell)+3,SEARCH("end_word",cell)-SEARCH("start_word",cell)⑷)

参数

细胞: 要从中提取两个单词之间的所有文本字符串的单元格;
起始字: 您要提取其后所有文本字符串的两个单词的起始词;
长度1: 起始词的字符长度。
结束字: 您要提取其之前的所有文本字符串的两个单词的结束词。
长度2: 起始词的字符长度加 1。

选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)⑷)

备注:公式中,数字3代表单词“KTE”的字符长度; 数字 4 表示单词“KTE”的字符长度加 1。

您可以看到指定两个单词之间的所有文本字符串都是从 B 列中的每一个单元格中提取的。

3.2.2 用一个奇异的工具提取两个单词之间的文本

对许多 Excel 用户来讲,公式可能很难记住和处理。 在这里,与 提取指定文本之间的字符串 的特点 Excel的tools,您只需单击几下便可轻鬆提取两个单词之间的文本。

1. 选择要输出结果的单元格,然后点击 库工具 > 公式助手 > 公式助手。

2。 在里面 公式助手 对话框,您需要配置以下。

2.1)检查 挑选 框,然后输入单词 “提炼” 进入文本框;
2.2)在 选择一个公式列表 框,单击 提取指定文本之间的字符串 选项;
2.3)在 参数输入 部份:

细胞 框,选择要提取文本的单元格(这里我选择单元格B5);
起始字符 框,输入要提取其后所有文本字符串的两个词的起始词;
结束字符 框,输入要提取其前面所有文本字符串的两个词的结束词。

2.4)点击 肯定。 见截图:

3.然后提取单元格B5中两个单词“KTE”和“feature”之间的所有文本字符串。 同时,已创建了一个公式,您可以选择此结果单元格,然后将其自动填充句柄向下拖动以从同一列表中的其他单元格中提取文本。

  如果您想免费试用(30天)此实用程序, 请点击下载,然后依照上述步骤进行操作。


按位置提取数字

对字母数字字符串的列表,可能有3种情况:

  1. 数字在正文的开头;
  2. 数字在文末;
  3. 数字可以在文本中的任何位置.

在本节中,我们将提供可用于在上述每种情况下提取数字的不同方法。

1 从字符串左边提取数字

这部份将介绍一个公式来帮助您仅提取单元格中文本之前出现的数字。

通用公式

=LEFT(cell, MATCH(FALSE, ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell)+1)), 1) *1), 0) ⑴)

参数

细胞: 文本字符串左边要从中提取数字的单元格。

注意:

1) 如果您使用的是 Excel 2019 及更早版本,则需要按 按Ctrl + 转移 + Enter 键来确认这个数组公式。
2) 如果您使用的是 Excel 365 或 Excel 2021,只需使用 Enter 键。

选择一个空白单元格,输入下面的公式,然后按 按Ctrl + 转移 + Enter or Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以获得其他单元格的数量。

=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) ⑴)

笔记:

1) 如果一个单元格只包括数字,则将提取全部数字。
2) 此公式仅提取文本字符串左边的数字。 如果数字存在于文本字符串的中间或末尾,它们将被疏忽。


2 从字符串右边提取数字

以下面的屏幕截图所示,要仅提取单元格中文本以后出现的数字,请尝试以下公式。

通用公式

=RIGHT(cell, LEN(cell) - MAX(IF(ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(cell))), 0)))

参数

细胞: 要从文本字符串的开头提取数字的单元格。

注意:

1) 如果您使用的是 Excel 2019 及更早版本,则需要按 按Ctrl + 转移 + Enter 键来确认这个数组公式。
2) 如果您使用的是 Excel 365 或 Excel 2021,只需按 Enter 键确认此公式。

选择一个空白单元格,输入下面的公式,然后按 按Ctrl + 转移 + Enter or Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以获得其他单元格的数量。

=RIGHT(B5, LEN(B5) - MAX(IF(ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(B5))), 0)))

笔记:

1) 如果一个单元格只包括数字,则将提取全部数字。
2) 此公式仅提取文本字符串右边的数字。 如果数字存在于文本字符串的中间或开头,它们将被疏忽。


3. 提取文本字符串任意位置的所有数字

上述方法有助于仅从文本字符串的左边或右边提取数字。 如果您想从文本字符串中的任何位置提取所有数字,这里我们提供3种方法供您完成。

3.1 用公式从字符串中任意位置提取所有数字

您可以利用以下公式从 Excel 中文本字符串的任何位置提取所有数字。

1.选择一个空白单元格,复制或输入下面的公式,然后按 Enter 键从单元格 B5 中获得所有数字。

=SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1)) * ROW(INDIRECT("1:"&LEN(B5))), 0), ROW(INDIRECT("1:"&LEN(B5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(B5)))/10)

2. 选择结果单元格,然后将其自动填充句柄向下拖动以获得所有其他单元格的数量。

3.2 用VBA从字符串中任意位置提取所有数字

上面的公式对许多 Excel 用户来讲太长太复杂了。 事实上,您可以运行 VBA 脚本来自动履行 Excel 中的任务。 您可以履行以下操作。

1。 按 其他 + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2.在开幕 Microsoft Visual Basic for Applications 窗口中,单击 插入 > 模块。 然后将下面的 VBA 复制到模块代码窗口中。

VBA代码:从文本字符串中的任何位置提取所有数字

Sub ExtrNumbersFromRange()

'Updated by 20220106

Dim xRg As Range

Dim xDRg As Range

Dim xRRg As Range

Dim nCellLength As Integer

Dim xNumber As Integer

Dim strNumber As String

Dim xTitleId As String

Dim xI As Integer

xTitleId = "toolsforExcel"

Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)

If TypeName(xDRg) = "Nothing" Then Exit Sub

Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)

If TypeName(xRRg) = "Nothing" Then Exit Sub

xI = 0

strNumber = ""

For Each xRg In xDRg

xI = xI + 1

nCellLength = Len(xRg)

For xNumber = 1 To nCellLength

If IsNumeric(Mid(xRg, xNumber, 1)) Then

strNumber = strNumber & Mid(xRg, xNumber, 1)

End If

Next xNumber

xRRg.Item(xI) = strNumber

strNumber = ""

Next xRg

End Sub

3。 按 F5 键来运行代码。 在开幕 toolsfor Excel 对话框中,选择要从每一个单元格中提取所有数字的单元格区域,然后单击 OK 按钮。

4.然后另外一个 toolsfor Excel 对话框弹出。 在此对话框中,选择目标单元格并单击 肯定。

然后从选定范围内的每一个单元格中批量提取所有数字。


4.提取特定文本后的数字

以下图所示,要提取特定文本“No.”以后的任何数字,本节提供了两类方法来帮助您完成。

4.1 用公式提取特定文本后的数字

您可以利用以下公式来提取 Excel 单元格中特定文本以后的数字。

通用公式:

=LOOKUP(10^6,1*MID(cell,MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789",FIND("text"," "&cell&" "))),{2,3,4,5,6}))

参数

细胞: 您要从中提取特定文本后数字的单元格;
文本: 您要在其后提取数字的文本。

选择一个空白单元格,复制或输入下面的公式,然后按 Enter 取得结果的关键。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=LOOKUP(10^6,1*MID(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789",FIND("No."," "&B5&" "))),{2,3,4,5,6}))

笔记:

1) 如果单元格不包括特定文本,则公式将返回#N/A。
2) 公式辨别大小写。

4.2 使用自定义内涵函数提取特定文本后的数字

以下用户定义内涵的函数还可以帮助提取单元格中特定文本以后的数字。 请履行以下操作。

1。 按 其他 + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2。 在里面 Microsoft Visual Basic for Applications 窗口中,单击 插入 > 模块 然后将下面的 VBA 代码复制到模块代码窗口中。

VBA代码:在单元格中的特定文本以后提取数字

Function GetNumberAfterTheChar(Rng As Range, Char As String)

'Updated by 20220106

Dim xValue As String

Dim xRntString As String

Dim xStart As Integer

Dim xC

xValue = Rng.Text

xStart = InStr(1, xValue, Char, vbTextCompare)

If IsEmpty(xStart) Then

GetNumberAfterTheChar = ""

Exit Function

End If

If xStart < 1 Then

GetNumberAfterTheChar = ""

Exit Function

End If

xStart = xStart - 1 + Len(Char)

If xStart < 1 Then

GetNumberAfterTheChar = ""

Exit Function

End If

xValue = Mid(xValue, xStart + 1)

xRntString = ""

For xI = 1 To Len(xValue)

xC = Mid(xValue, xI, 1)

Select Case Asc(xC)

Case 48 To 57

xRntString = xRntString & xC

Case Else

Exit For

End Select

Next

GetNumberAfterTheChar = xRntString

End Function

3。 按 其他 + Q 关闭键 Microsoft Visual Basic for Applications 窗口。

4. 选择一个单元格,输入下面的公式,然后按 Enter 钥匙。 选择此结果单元格,然后向下拖动其自动填充句柄以将此公式利用于其他单元格。

=GetNumberAfterTheChar(B5,"No. ")

笔记:

1)在这个公式中,B5是你要提取数字的单元格,“No. ” 是您要提取其后数字的特定文本。 您可以针对需要更改它们。
2) 如果具体文字和数字之间有分隔符,请在文字末尾加上分隔符。 在这类情况下,我在文本“No.”以后添加了一个空格,终究显示为“No.”。 ”。
3) 此方法不辨别大小写;
4) 如果单元格不包括特定文本,则公式将返回空白结果。


相干文章:

Excel 教程:拆分文本、数字和日期单元格(分成多列)
本教程分为3个部份:拆分文本单元格、拆分数字单元格和拆分日期单元格。 每一个部份都提供了不同的示例,以帮助您了解在遇到相同问题时如何处理拆分作业。
点击了解更多...

Excel将文本和数字添加到单元格的指定位置
在 Excel 中,向单元格添加文本或数字是一项非常常见的工作。 例如在名称之间添加空格,在单元格中添加前缀或后缀,在社交号码中添加破折号。 在本教程中,它列出了 Excel 中几近所有的添加场景,并为您提供了相应的方法。
点击了解更多...

Excel从文本字符串中删除字符、单词、数字
假定您有一长串包括字符、数字或其他特定符号的文本字符串。 通常,在某些情况下,您可能需要针对位置删除一些字符,例如从文本字符串中的右边、左边或中间,或从字符串列表中删除一些不需要的字符、数字。 逐一寻觅解决方案会让你头疼,本教程搜集了Excel中去除字符、单词或数字的各种方法。
点击了解更多...


选择英雄云云表单=选择更智能的Excel

>>>>🚀🌟 点击注册 免费试用 更高级的-英雄云企业级云表单 🌟🚀 😃👉🌐>>>>

在现代企业管理中,数据的高效管理和处理至关重要。随着信息技术的不断发展,英雄云云表单已经成为了提高数据录入、管理和分析效率的不可或缺的工具。让我们来深入探讨英雄云-云表单的几大优势。

基础字段:多样性满足业务需求

英雄云云表单中包括了各种基础字段,如单行文本多行文本数字输入框单选框复选框下拉框下拉复选框日期时间分割线等。这些字段的多样性使用户可以根据具体的业务需求,轻松进行文本、数据和时间信息的录入或修改。例如,您可以使用单行文本字段录入员工姓名、产品型号等,或者使用下拉框进行多选,根据不同情况选择更加方便的字段类型。

高级字段:提升工作效率

英雄云云表单还提供了高级字段,如地址图片附件手写签名手机子表关联数据关联查询以及流水号。这些高级字段在基础字段的基础上升级,可帮助用户完成一些琐碎的工作。例如,使用地址字段可以避免逐字打字,而流水号字段可以自动生成规律性的编号,非常适用于合同编号生成等场景。

部门成员字段:精确管理与通讯录的关联

英雄云的部门成员字段允许企业对各个部门的成员进行精确管理。用户可以通过部门成员字段获取通讯录中的部门成员信息,应用于记录报销人、报销部门等场景。这些成员字段还细分为成员单选成员多选,可根据具体需求在通讯录中选择一个或多个成员。

聚合表:数据处理更智能

英雄云聚合表功能用于对已存在的表单数据进行聚合计算,从而得到一张聚合表,后续其他表单可调用聚合表进行数据联动、关联查询和关联数据等操作完成数据处理。这一功能可应用于多种场景,如进销存管理、财务管理和门店零售管理等,帮助企业完成数据处理,提高工作效率。

表单权限设置:灵活管理数据访问

英雄云的表单权限设置允许用户根据企业的具体需求管理表单的访问和操作权限。用户可以根据系统权限或自定义权限对不同成员或团队进行权限设置,以确保数据的安全和合规性。这一功能使企业能够根据变化的业务需求和团队结构,实时调整权限设置。

自定义打印模板:文档输出更便捷

英雄云云表单支持自定义打印模板,可将表单数据转换为可打印的Word文档。用户可以根据自己的需求进行排版和编辑,将产品规格说明书等文档轻松生成。这一功能提供了一种标准化的文档输出方式,简化了信息整理的过程。

综合来看,选择英雄云云表单意味着选择更智能、更灵活、更高效的数据管理工具。无论是提高工作效率,精确管理数据,还是实现数据处理,英雄云云表单都能满足您的多样化需求,助力您的业务发展。

如果您正在寻找一款强大的云表单工具,不妨考虑英雄云,它将为您带来更多的便捷和智能,助您事半功倍。


免责声明:

本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。

上一篇:如何创建动态数据验证并自动扩大下拉列表?-英雄云拓展知识分享
下一篇:如何使用快捷方式删除Excel列或行中的重複项?-英雄云拓展知识分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×