La idea
Las exportaciones nunca llegan con la forma que necesita un informe. El correo contiene la empresa, pero pegada a un nombre. La fecha del pedido contiene el mes, pero como una marca de tiempo completa. Este capítulo tiene dos ideas que arreglan casi todo.
Primero, el texto es una fila de caracteres con posiciones. Funciones como LEFT, MID, RIGHT, LEN, FIND y SUBSTITUTE cortan y miden esa fila. Segundo, una fecha no es texto en absoluto: es un número, y todo lo que haces con fechas es aritmética con ese número.
Figura 1
Dividir owen.hudson@icloud.com en la @
-
FIND("@",D2)posición de la @ : 12 -
LEFT(D2, 12-1)los 11 caracteres anteriores -
RIGHT(D2, LEN(D2)-12)los 10 caracteres posteriores
- En
D2hay un correo de cliente de 22 caracteres:owen.hudson@icloud.com. Cada carácter tiene una posición, contada desde 1. FIND("@", D2)devuelve la posición de la primera @: 12. La dirección tiene una longitud distinta para cada cliente, así que encuentras el corte en lugar de escribirlo.LEFTconserva caracteres desde el principio. Pide uno menos que la posición de la @: 11 caracteres,owen.hudson.RIGHTconserva caracteres desde el final.LEN(D2)es 22, menos 12 quedan 10:icloud.com.
Por qué existe
Una persona lee owen.hudson@icloud.com como un nombre y una empresa y ve el límite de un vistazo. Una fórmula no tiene ojos. Necesita una regla que pueda repetir en diez mil filas, y la regla es posicional: "encuentra la @, conserva lo que va antes". Cuando describes el corte como una posición, la misma fórmula sirve para una dirección corta y para una larga.
Las fechas tienen el problema contrario. La gente ve "28 Nov 2025" y piensa en texto. Si las fechas fueran texto, "30 días después" requeriría consultar un calendario. Como son números, un plazo es un signo más, y los días entre un pedido y una devolución son un signo menos. Un truco sencillo por debajo hace que los calendarios se puedan calcular.
Cómo funciona por dentro
En el texto, la posición lo es todo
Las posiciones empiezan en 1. LEFT(texto, n) y RIGHT(texto, n) conservan n caracteres de uno u otro extremo. MID(texto, inicio, n) conserva n caracteres a partir de una posición. LEN cuenta todos los caracteres, espacios incluidos. FIND(texto_buscado, dentro_del_texto) devuelve la posición de la primera coincidencia y distingue mayúsculas de minúsculas; SEARCH es igual pero no las distingue y admite comodines. Si no se encuentra el texto, ambas devuelven #VALUE!, que es como se delata una fila sin @.
El patrón para cualquier trabajo de "dividir en un marcador" son siempre tres pasos: localiza el marcador con FIND, calcula cuántos caracteres quieres (uno menos que la posición para "antes", LEN menos la posición para "después") y pasa ese número a LEFT, RIGHT o MID. Escribir a mano un número como 11 funciona en una fila y falla en la siguiente.
Cuando los datos tienen un delimitador limpio y solo necesitas dividirlos una vez, Texto en columnas (menú Datos) es más rápido y no necesita fórmula. Usa fórmulas cuando la división deba seguir funcionando con filas nuevas.
Volver a pegar el texto
El operador & une piezas: =A2&" | "&UPPER(B2). Convierte los números a texto por el camino, con el formato por defecto. Para controlar el formato, envuelve el valor en TEXT(valor, "patrón"), por ejemplo TEXT(date,"yyyy-mm-dd") para la parte de fecha de una etiqueta o TEXT(price,"0.00") para dos decimales. Patrones como yyyy, mm, dd y 0.00 son códigos de formato, y deben escribirse entre comillas.
Las funciones anidadas se evalúan de dentro hacia fuera
Una fórmula como =SUBSTITUTE(LOWER(D2)," ","-") es una cadena de pasos escrita al revés. La llamada más interior se ejecuta primero y su resultado se pasa hacia fuera como argumento.
Figura 2
Las funciones anidadas se evalúan de dentro hacia fuera
-
D2Pine Cast Iron Carafe -
LOWER(D2)pine cast iron carafe -
SUBSTITUTE(…, " ", "-")pine-cast-iron-carafe
- Un slug de URL para el producto 143:
=SUBSTITUTE(LOWER(D2), " ", "-"). Excel empieza por la llamada más interior, la que no tiene ninguna función dentro. LOWER(D2)se ejecuta primero y devuelvepine cast iron carafe.- Ese resultado pasa a ser el primer argumento de
SUBSTITUTE, que cambia cada espacio por un guion:pine-cast-iron-carafe.
Para leer una fórmula anidada, empieza por el paréntesis más profundo y sal hacia fuera. Para escribirla, construye el primer paso en su propia celda, compruébalo y luego envuélvelo con la siguiente función. Los paréntesis de colores de la barra de fórmulas te ayudan a emparejarlos.
Una fecha es un número con formato
El número de serie cuenta días desde el 1 de enero de 1900, y las horas son la fracción de un día. El formato de la celda decide si muestra 45989 o 28/11/2025. Esa es la respuesta al clásico "¿por qué mi fecha aparece como 45672?": el formato es General, así que ves el número de debajo. Pon la celda en formato de fecha y el mismo valor se muestra como fecha.
Figura 3
Una fecha es un número: aritmética con la fecha del pedido 12059
| cell | formula | stored_value | displayed_as |
|---|---|---|---|
| A2 | 2025-11-28 | 45989 | 2025-11-28 |
| B2 | =A2+30 | 46019 | 2025-12-28 |
| C2 | =B2-A2 | 30 | 30 |
| D2 | =TEXT(A2,"yyyy-mm") | 2025-11 | 2025-11 |
- Excel guarda una fecha como el número de días desde el 1 de enero de 1900. El 28 de noviembre de 2025 es 45989. La fecha que ves es ese número con formato de fecha.
- Sumar 30 a una fecha es solo sumar 30 a un número: 46019, que el formato muestra como 28 de diciembre de 2025. Así se construye un plazo de devolución.
- Resta una fecha de otra y la respuesta es el número de días entre ambas: 30. Da a la celda formato de número, no de fecha, o verás 30 de enero de 1900.
TEXTconvierte el número en una cadena con el patrón que le des.D2ahora es texto,2025-11, útil como clave de mes y no para hacer cálculos.
Como una fecha es un número, un plazo es fecha + días, el intervalo entre dos fechas es una resta, y el primer día del mes siguiente es un cálculo que puedes escribir. EDATE(fecha, meses) suma meses completos de forma correcta, así que un aniversario cae el mismo día del mes. WEEKNUM convierte una fecha en número de semana, útil para comprobar si dos fechas caen en la misma semana. DATEDIF(inicio, fin, "d") devuelve los días, meses o años completos entre dos fechas; Excel no la muestra en el asistente de funciones, pero funciona.
Dónde fallan las fechas
Una "fecha" importada de un CSV a veces es texto. Se ve bien, alineada a la izquierda, pero no se le puede sumar nada. Si ISNUMBER devuelve FALSE, conviértela primero (el capítulo de limpieza explica cómo). Además, las fechas escritas como 03/04/2025 son ambiguas: si va primero el día o el mes depende de la configuración regional del equipo que abre el archivo. Guarda las fechas como fechas reales y dales formato solo para mostrarlas.
Errores comunes
"Una fecha en una celda es texto que parece una fecha"
Una fecha real es un número. Lo notas por la alineación a la derecha, y porque al cambiar el formato de la celda a Número aparece 45989. Una fecha de texto alineada a la izquierda es la impostora, y no ordenará, restará ni filtrará por mes correctamente.
"TEXT solo cambia cómo se ve una celda"
Dar formato a una celda cambia su aspecto y conserva el número. TEXT devuelve un objeto distinto, una cadena. Úsalo para construir etiquetas y claves de mes, nunca sobre un valor con el que aún quieras calcular.
"FIND y SEARCH son lo mismo"
FIND distingue mayúsculas de minúsculas y no admite comodines. SEARCH las ignora y acepta ? y *. Para comprobar una palabra clave, como "¿el nombre contiene esta palabra?", normalmente quieres SEARCH, envuelto en ISNUMBER para que una palabra ausente dé FALSE y no un error.
Ponte a prueba
Una pregunta. Al responderla, la lección queda marcada en el mapa; nunca bloquea un nivel.
No del todo. TEXT produce una cadena y descarta el número. Conserva la fecha original en A2 para hacer cálculos.Prueba otra respuesta.
Correcto. TEXT devuelve texto, y a una etiqueta como 2025-11 no se le puede sumar nada. La aritmética va sobre la fecha de A2; la etiqueta es solo para agrupar y mostrar.
No del todo. Excel no evalúa el contenido de una cadena de texto como si fuera una fórmula.Prueba otra respuesta.
No del todo. Una etiqueta de texto no tiene días dentro. Excel no puede sumarle un número de días.Prueba otra respuesta.
Lección hecha: ya está marcada en el mapa.