如何从 Excel 文档中的字符串中提取指定的值?

如何从 Excel 文档中的字符串中提取指定的值?

我在 Excel 中有一列链接到 Access 中的表。当值和位置因行而异时,如何从字符串中提取某些值?我有一个链接到此表的查询,所以我希望我可以在 Access 中执行此操作,但我也对 PowerQuery 有一些了解。

现有字符串的示例:

12345_10_abc123.pdf

12345_6789_qqq.pdf

对于第一个字符串,我需要提取 10,对于第二个字符串,我需要 qqq。

答案1

如果你extract strings在某个列表中,你可以使用以下公式:

B2: =INDEX(extrStrings, MATCH(TRUE,ISNUMBER(FIND(extrStrings,A2)),0))

并向下填充。

根据您的 Excel 版本,由于这是一个数组公式,您可能需要按住ctrl+shift并点击 来“确认”它enter。如果您正确执行此操作,Excel 将{...}在公式栏中看到括号。

要提取的字符串列表

在此处输入图片描述

结果

在此处输入图片描述

该公式只会返回目标中的一个关键字。如果您有多个关键字,并且需要返回所有关键字,则需要使用不同的公式。

如果关键字不存在,公式将返回错误。如果您想要其他功能,只需将上述公式包装在函数中即可IFERROR

答案2

好的。

这是一种关键词搜索. 列出列中的短语A以及列中的关键字

在此处输入图片描述

我们的目标是确定短语是否包含关键字。如果是,则将其放入列中。 在B1输入数组公式:

=IFERROR(VLOOKUP(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH($D$1:$D$5,A1)),$D$1:$D$5,"")),$D$1:$E$5,1,FALSE),"")

并向下复制:

在此处输入图片描述

数组公式必须使用 ++Ctrl而不是直接使用键来输入。如果操作正确,公式栏中会出现带有花括号的公式。ShiftEnterEnter

相关内容