Fórmula Excel para extrair texto

Fórmula Excel para extrair texto

Eu tenho o seguinte na célula A1:

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

Gostaria de uma fórmula para colocar na célula B1 "NEW ORLEANS" e na C1 "GREEN BAY.

Responder1

Para obter a primeira equipe:

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

Para obter a segunda equipe:

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

Responder2

Então, se você tinha aquela célula em A1, então esta em B1:

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

E isso em C1:

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

Observe que isso depende muito do exemplo que você forneceu ser representativo do layout do texto nas outras células. Baseia-se em encontrar o parêntese na string. Na verdade, acabei de perceber que provavelmente irá quebrar se os números do segundo (0-0) passarem para dois dígitos. Para explicar isso, você teria que procurar o segundo conjunto de parênteses para determinar o comprimento da chamada Mid(). Para ser honesto, se esse fosse o meu problema para resolver, então acho que escreveria uma macro VBA usando split.

Então, via VBA, eu faria algo assim. Adicione estas duas funções:

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

Então em B1:

=GetFirstTeam()

E em C1:

=GetSecondTeam()

informação relacionada