Fórmula de Excel para extraer texto.

Fórmula de Excel para extraer texto.

Tengo lo siguiente dentro de la celda A1:

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

Me gustaría una fórmula para colocar en la celda B1 "NUEVA ORLEANS" y en C1 "GREEN BAY.

Respuesta1

Para conseguir el primer equipo:

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

Para conseguir el segundo equipo:

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

Respuesta2

Entonces, si tenías esa celda en A1, entonces esta en B1:

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

Y esto en C1:

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

Tenga en cuenta que esto depende en gran medida de que la muestra que proporcionó sea representativa del diseño del texto en las otras celdas. Se basa en encontrar el paréntesis en la cadena. En realidad, me acabo de dar cuenta de que probablemente se romperá si los números en el segundo (0-0) llegan a dos dígitos. Para tener en cuenta eso, tendría que buscar el segundo conjunto de padres para determinar la duración de la llamada Mid(). Para ser honesto, si este fuera mi problema a resolver, entonces creo que simplemente escribiría una macro VBA usando split.

Entonces, a través de VBA, haría algo como esto. Añade estas dos funciones:

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

Luego en B1:

=GetFirstTeam()

Y en C1:

=GetSecondTeam()

información relacionada