Excel 提取不同字母后的文本

Excel 提取不同字母后的文本

所以我尝试从 Excel 单元格中提取一些文本,但遇到了问题。我尝试搜索,但并没有找到太多结果,而且我无法编辑任何当前公式来使其正常工作。

所以我有一个比赛列表,我想从中提取一些信息来填充到其他单元格中。下面的 : 后面是比赛长度,然后是比赛类型,我想提取比赛类型并将其填充到另一个单元格中。

Carlisle 17th Aug : 1m Nov Stks
Leicester 17th Aug : 6f Nursery
Leicester 17th Aug : 6f Hcap
Carlisle 17th Aug : 1m Hcap
Sligo 17th Aug : 2m4f Hcap Hrd
Leicester 17th Aug : 1m Hcap

我以为我已经用下面的方法破解了它,但后来意识到有些我需要搜索“f”,而有些我需要搜索“m”。您将如何在文本中搜索两种不同的模式?

=MID(B2,FIND("f ",B2)+2,256)

提前致谢。

答案1

考虑到文本的布局,我认为您需要将搜索锚定在冒号字符上。需要三个部分才能找到距离后的所有内容,这应该适用于几乎所有版本的 Excel。

假设第一个比赛在 A2 中,您可以在 C2、D2、E2 中输入以下公式。第一个公式查找字符串中“:”的偏移量(在本例中为 21),并添加 2 以越过后续空格。第二个公式查找剩余文本中下一个空格的偏移量(例如从 23 到结尾)。最后一个公式然后获取从最后一个偏移量到最后一个字符的所有文本。

FIND(":",A3,1)+2
FIND(" ",A2,C2)
RIGHT(A2,LEN(A2)-D2)

每个公式的结果是:

21  
23  
Nov Stks

为了将其合并为一个公式,请将以下内容放在第 3 行的某处。

RIGHT(A3,LEN(A3)-FIND(" ",A3,FIND(":",A3,1)+2))

A3 的结果是:

Nursery

对于所有细胞来说,

Nov Stks
Nursery
Hcap
Hcap
Hcap Hrd
Hcap

答案2

在 中B1,公式抄下来:

=MID(A1,MIN(FIND({"f ","m "},A1&"f m "))+2,99)

在此处输入图片描述

答案3

尝试这个公式: =RIGHT(A1,LEN(A1)-SEARCH(" ",A1,SEARCH(": ",A1)+2))

在此处输入图片描述

答案4

使用 Power Query 可以轻松完成此操作:首先用分号拆分,然后在第一个空格处拆分。

或者,您可以复制该列,使用分号按分隔符分隔,然后对第一个空格左侧的文本使用一个公式,对第一个空格右侧的文本使用另一个公式。

用一个丑陋的嵌套公式就可以达到这个目的。使用 Excel 365,您可以使用 LET() 来使公式不那么复杂。

如果您没有说明您的 Excel 版本,那么很难为您的场景提供最佳公式。

使用 LET()

=LET(TheRace,RIGHT(A1,LEN(A1)-FIND(":",A1&":")-1),RIGHT(TheRace,LEN(TheRace)-FIND(" ",TheRace&" ")))

在此处输入图片描述

相关内容