Excel 提取文本的公式

Excel 提取文本的公式

我在单元格 A1 中有以下内容:

NEW ORLEANS (0-0) at GREEN BAY (0-0)

我想要一个公式,将其放置在单元格 B1 中“NEW ORLEANS”,并将其放置在单元格 C1 中“GREEN BAY”。

答案1

获得第一队:

=LEFT(A1,FIND("(",A1)-2)

获得第二支球队:

=MID(A1,FIND(" at ",A1)+4,FIND("(",A1,FIND(")",A1))-FIND(" at ",A1)-5)

答案2

因此,如果您在 A1 中有该单元格,则在 B1 中有以下内容:

=LEFT(A1, FIND("(", A1)-2)

在 C1 中:

=MID(A1, FIND(")", A1) + 4, LEN(A1)-FIND(")", A1)-9)

请注意,这在很大程度上取决于您给出的样本是否代表了其他单元格中文本的布局。它基于在字符串中查找括号。实际上,我刚刚意识到,如果第二个 (0-0) 中的数字变为两位数,它可能会中断。为了解决这个问题,您必须查找第二组括号来确定 Mid() 调用的长度。说实话,如果这是我要解决的问题,那么我想我只需使用 split 编写一个 VBA 宏即可。

因此,通过 VBA,我可以执行如下操作。添加以下两个函数:

Function GetFirstTeam()
    Application.Volatile
    GetFirstTeam = Trim(Split(ActiveCell.Offset(0, -1), "(")(0))
End Function

Function GetSecondTeam()
    Application.Volatile
    GetSecondTeam = Trim(Split(Split(ActiveCell.Offset(0, -2), " at ")(1), "(")(0))
End Function

然后在 B1 中:

=GetFirstTeam()

在 C1 中:

=GetSecondTeam()

相关内容