Guía de Funciones de Texto de Excel
Por Qué las Funciones de Texto Son la Navaja Suiza de tus Datos
Los datos del mundo real son desordenados. Los nombres llegan como "Apellido, Nombre SegundoNombre", las direcciones apiñan calle, ciudad, estado y código postal en una sola celda, y los códigos de producto incrustan significado en las posiciones de sus caracteres. Las funciones de texto son las herramientas que limpian, dividen, combinan y extraen significado de este caos. Sin ellas, estarías editando manualmente miles de celdas. Con ellas, escribes una fórmula y arrastras hacia abajo.
La biblioteca de funciones de texto de Excel es extensa. Esta guía cubre las funciones esenciales que resuelven el 90% de los problemas de texto del mundo real, organizadas de lo simple a lo avanzado.
Paso a Paso: Limpia y Reestructura Datos de Contacto Desordenados
Escenario: Recibes una lista de contactos donde cada celda contiene "Apellido, Nombre | Empresa | Teléfono | Correo" — todo en una sola columna. Necesitas cinco columnas limpias: Apellido, Nombre, Empresa, Teléfono, Correo.
Paso 1 — Comprende el patrón de tus datos
- Revisa de 5 a 10 celdas de muestra. Confirma que el delimitador sea consistente: el símbolo de barra vertical
|separa los campos, y coma-espacio separa apellidos y nombres. - Toma nota de cualquier irregularidad: algunas entradas pueden usar "Company Inc." frente a "Company, Inc.": la coma en los nombres de empresa podría complicar las cosas. Verifica si el delimitador de barra vertical es realmente el separador seguro.
Paso 2 — Divide por el delimitador principal (barra vertical)
- Inserta 5 columnas a la derecha de tus datos. Nómbralas Apellido, Nombre, Empresa, Teléfono, Correo.
- Un enfoque más simple — Texto en columnas: Selecciona tu columna de datos. Datos > Texto en columnas > Delimitados > marca Otro y escribe
|. Haz clic en Finalizar. Excel divide en 5 columnas. - O bien, usa fórmulas para divisiones dinámicas:
- Empresa (C2):
=TRIM(MID(SUBSTITUTE($A2,"|",REPT(" ",100)), 100, 100)) - Este truco de SUSTITUIR+REPETIR reemplaza cada delimitador con 100 espacios, luego EXTRAE extrae cada segmento. ESPACIOS elimina los espacios sobrantes.
- Para el 2º segmento cambia
,100,100por,200,100; para el 3º usa,300,100; etc.
Paso 3 — Divide el campo Nombre en Apellido y Nombre
- Apellido:
=LEFT(B2, FIND(",", B2)-1)— todo lo que está antes de la coma. - Nombre:
=TRIM(RIGHT(B2, LEN(B2)-FIND(",", B2)-1))— todo lo que está después de la coma, con ESPACIOS para eliminar el espacio inicial. - Si tus datos tienen segundos nombres, esto captura todo lo que está después de la coma, manejándolos sin problemas.
Paso 4 — Limpia los números de teléfono
- Tus números de teléfono extraídos pueden verse como " 555-0100 " (espacios extra) o "(555) 0100" (formatos mixtos).
- Elimina caracteres no numéricos (Excel 365):
=TEXTJOIN("", TRUE, IF(ISNUMBER(--MID(D2, SEQUENCE(LEN(D2)), 1)), MID(D2, SEQUENCE(LEN(D2)), 1), "")) - Para Excel anterior, usa SUSTITUIR anidado:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(D2),"(",""),")",""),"-","")," ","") - Reformatea como (XXX) XXX-XXXX:
=TEXT(CLEAN_PHONE,"(000) 000-0000")donde CLEAN_PHONE es el resultado anterior.
Técnicas Clave
- UNIRCADENAS para combinar:
=TEXTJOIN(", ", TRUE, B2:B10)une valores con un delimitador y omite celdas vacías (argumento VERDADERO). Mucho más limpio que=A2&", "&B2&", "&C2. - TEXTO para formato de números en cadenas:
="Ingresos: " & TEXT(B2, "¥#,##0.00")conserva el formato al combinar números con texto. Sin TEXTO, el número pierde su formato. - SUSTITUIR para reemplazo dirigido:
=SUBSTITUTE(A2, "Viejo", "Nuevo")reemplaza todas las ocurrencias. Añade un 4º argumento para reemplazar solo la enésima ocurrencia:=SUBSTITUTE(A2, "-", "|", 2)reemplaza solo el segundo guion. - LARGO para validación:
=IF(LEN(B2)<>10, "Teléfono Inválido", "OK")detecta instantáneamente números de teléfono con formato incorrecto.
Errores Comunes
- Usar ENCONTRAR sin SI.ERROR cuando el texto puede estar ausente.
=FIND("@", A2)devuelve #VALUE! si no hay @. Envuélvelo con SI.ERROR:=IFERROR(FIND("@", A2), 0). - Olvidar que ENCONTRAR empieza a contar desde 1. EXTRAE con posición 0 da error. Resta 1 cuando sea necesario para mantener la posición 1 o superior.
- ESPACIOS solo elimina espacios ASCII (carácter 32). Los datos web a menudo contienen espacios de no separación (carácter 160). Usa
=SUBSTITUTE(A2, CHAR(160), " ")antes de ESPACIOS. - Errores de capitalización con NOMPROPIO. "MCDONALD" se convierte en "Mcdonald", "USA" se convierte en "Usa". Requiere corrección manual o una tabla de búsqueda personalizada para nombres propios.
Consejos Avanzados
- Extrae la enésima palabra:
=TRIM(MID(SUBSTITUTE(A2, " ", REPT(" ", LEN(A2))), (N-1)*LEN(A2)+1, LEN(A2))). Establece N=1 para la primera palabra, N=2 para la segunda, etc. - DIVIDIRTEXTO (Excel 365):
=TEXTSPLIT(A2, "|")divide dinámicamente cadenas delimitadas en columnas. Combínalo con UNIRCADENAS para remodelar datos sin columnas auxiliares. - REPETIR para indicadores visuales en celda:
=REPT("|", B2/10)crea un gráfico de barras dentro de una celda. Combínalo con Formato Condicional de color de fuente para comparaciones visuales instantáneas sin objetos de gráfico.