En este tutorial, exploraremos la función TEXTBEFORE de Excel y cómo puede ayudarlo a extraer texto rápidamente antes de cualquier carácter o subcadena que especifique.
En versiones anteriores de Excel, extraer texto antes de un espacio, una coma u otro carácter era bastante difícil. Primero, tenía que determinar la posición del delimitador en una cadena usando la función BUSCAR o ENCONTRAR, y luego obtener todos los caracteres anteriores usando IZQUIERDA. ¡En Excel 365 y Excel para la web, ahora tenemos una nueva característica TEXTBEFORE que hace la magia!
Función TEXTO ANTES de Excel
La función TEXTO ANTES en Excel está especialmente diseñada para devolver el texto que aparece antes de un carácter específico o subcadena (delimitador). Si el delimitador aparece en la celda más de una vez, la función puede devolver texto antes de una determinada aparición. Si no se encuentra el delimitador, puede devolver su propio texto o la cadena original.
La sintaxis de la función TEXTBEFORE tiene 6 argumentos, de los cuales solo se requieren los dos primeros.
TEXTO ANTES (texto, delimitador, [instance_num], [match_mode], [match_end], [if_not_found])
texto (obligatorio) – el texto original del que se extrae. Se puede proporcionar como una cadena o una referencia de celda.
encerrado (obligatorio): un carácter o subcadena que delimita el texto.
nombre de instancia (opcional): la instancia del delimitador antes de la cual extraer el texto. El valor predeterminado es 1. Un número negativo inicia la búsqueda desde el final del texto original.
fósforo (opcional): determina la distinción entre mayúsculas y minúsculas del delimitador. Habilitado por defecto.
- 0 (predeterminado) – distingue entre mayúsculas y minúsculas
- 1 – mayúsculas y minúsculas
partido_fin (opcional) – manejar el final texto como encerrado. Deshabilitado por defecto.
- 0 (predeterminado): coincide con el delimitador exactamente como se especifica en la fórmula.
- 1 – unir el delimitador con el final texto. Básicamente, significa que si no se encuentra el delimitador, la función devolverá el texto original.
si_no_encontrado (opcional): el valor que se devolverá si no se encuentra el delimitador. Si no se establece, se devuelve un error #N/A.
TEXTO ANTES de disponibilidad
Actualmente, la función TEXTO ANTES solo está disponible en Excel para Microsoft 365, Excel 365 para Mac y Excel para la web.
Fórmula de Excel para extraer texto antes del carácter
Primero, aprendamos cómo construir una fórmula TEXTO ANTES en su forma más simple.
Suponga que tiene una lista de nombres completos en la columna A y desea extraer el primer nombre que aparece antes de la coma.
Esto se puede hacer con esta fórmula básica:
=TEXTBEFORE(A2, ",")
Donde A2 es la cadena de texto original y una coma («,») es el delimitador.
Extraer texto antes del primer espacio en Excel
Para obtener texto antes de un espacio en una cadena, simplemente use el carácter de espacio para el delimitador (» «).
=TEXTBEFORE(A2, " ")
Desde nombre de instancia El argumento se establece en 1 de forma predeterminada, la fórmula devolverá el texto que aparece antes del primer espacio.
Consejo. Para extraer texto antes del espacio N, defina el recuento de ocurrencias usando 3calle (opcional) nombre de instancia argumento.
Obtener texto antes de la instancia del delimitador Na
Para extraer el texto que aparece antes del delimitador, proporcione el número para nombre de instancia parámetro.
Por ejemplo, para obtener texto antes de la segunda aparición de una coma, la fórmula es:
=TEXTBEFORE(A2, ",", 2)
Consejo. Si no se encuentra la ocurrencia especificada, TEXTBEFORE devuelve un error #N/A. En su lugar, puede configurar si_no_encontrado argumento para devolver el texto especificado o establecido partido_fin a 1 para generar el texto original.
Devuelve el texto anterior a la última aparición del delimitador.
Para devolver texto antes de la última aparición del carácter especificado, introduzca un valor negativo en nombre de instancia argumento.
Por ejemplo, para devolver el texto antes de la última coma en A2, la fórmula es:
=TEXTBEFORE(A2, ",", -1)
Para extraer texto antes de la penúltima coma, configure nombre de instancia a las 2:
=TEXTBEFORE(A2, ",", -2)
Extraer texto antes de la subcadena
El encerrado el argumento TEXTO ANTES puede ser una subcadena, es decir, una secuencia de caracteres, lo que agrega aún más valor a la función.
Suponga que tiene una lista de nombres de empleados y sus puestos en una columna, separados por guiones. El problema es que algunos nombres están separados por guiones. Para evitar dividir dichos nombres, usamos una subcadena que consta de un espacio y un guión («-«) para el delimitador:
=TEXTBEFORE(A2, " -")
Obtener texto antes de múltiples delimitadores
Para manejar diferentes variaciones del delimitador, puede usar una constante de matriz como {«a»,»b»,»c»} en la fórmula TEXTBEFORE, donde A, b y C representan diferentes delimitadores.
Por ejemplo, si el delimitador es una coma o un guión, con o sin el carácter de espacio anterior, puede manejar correctamente las cuatro variaciones proporcionando la constante de matriz {«,»,» ,»,»-«,» -» } para encerrado:
=TEXTBEFORE(A2, {","," ,","-"," -"})
Si no se encuentra el delimitador, devolver texto personalizado
Si no se encuentra el delimitador especificado, la función TEXTO ANTES devuelve un error #N/A de forma predeterminada. Para devolver un valor personalizado, configure si_no_encontrado argumento (último).
Por ejemplo, si no aparece ninguna coma en el texto de origen (A2), esta fórmula básica arroja un error #N/A:
=TEXTBEFORE(A2, ",")
Para evitar errores, escriba el texto que desee en el argumento final, por ejemplo, «No encontrado»:
=TEXTBEFORE(A2, ",", , , , "Not found")
Para devolver nada, es decir, una celda vacía, use una cadena vacía para si_no_encontrado:
=TEXTBEFORE(A2, ",", , , , "")
Si no se encuentra el delimitador, devolver el texto original
En algunas situaciones, tiene sentido devolver el texto original si la función TEXTO ANTES no puede coincidir con el delimitador en la cadena. Para esto, solo necesita configurar partido_fin argumento (el quintoel uno) a 1. Esto le indicará a la fórmula que maneje el final texto como encerrado.
=TEXTBEFORE(A2, ",", , ,1)
Como puede ver en la captura de pantalla a continuación, la fórmula ahora devuelve el nombre de un empleado incluso si el delimitador (que es una coma) no está presente en una celda.
Hacer que el delimitador sea sensible a mayúsculas y minúsculas
De forma predeterminada, la función TEXTBEFORE de Excel distingue entre mayúsculas y minúsculas, lo que significa que trata los delimitadores en minúsculas y mayúsculas como diferentes. Para deshabilitar la distinción entre mayúsculas y minúsculas, configure fósforo el argumento (4el uno) a 1 o VERDADERO.
Por ejemplo, la siguiente fórmula solo acepta «x» minúscula como delimitador:
=TEXTBEFORE(A2, "x")
Dado que una fórmula análoga a fósforo establecido en 1, reconoce tanto «x» como «X» como delimitador:
=TEXTBEFORE(A2, "x", ,1)
La función TEXTO ANTES no funciona
Si la función TEXTO ANTES no funciona como se esperaba o no está disponible en Excel, es probable que sea una de estas razones.
Si TEXTBEFORE no existe en Excel, consulte la lista de versiones compatibles.
Si TEXTO ANTES devuelve un error #N/A, entonces:
- El delimitador no existe en el texto de origen. Para manejar el error, configure si_no_encontrado argumento como se explica en este ejemplo.
- El nombre de instancia valor es mayor que el número de ocurrencias del delimitador en texto.
Si TEXTO ANTES devuelve un #VALOR! error, entonces:
- El nombre de instancia el argumento se establece en 0.
- El nombre de instancia valor es mayor que la longitud total de un texto.
Así es como se extrae texto antes de un carácter en Excel 365 usando la función TEXTO ANTES. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!
Libro de ejercicios para descargar.
Función TEXTO ANTES – fórmulas de ejemplo (archivo .xlsx)