Manipulación Avanzada de Texto y Fechas

Rara vez recibimos los datos listos para usar. A menudo llegan "sucios": nombres completos en una sola celda, códigos mezclados con fechas o formatos inconsistentes. En este nivel, aprenderás a parsear (desglosar) cadenas de texto dinámicamente y a manejar vencimientos y días hábiles como un experto financiero.

1. Extracción Dinámica (IZQUIERDA + HALLAR)

Cualquiera puede usar =IZQUIERDA(A1, 5) si el nombre siempre tiene 5 letras. Pero, ¿qué pasa si tienes "Juan Pérez" y "Ana Gil"?

Necesitas encontrar dónde está el espacio para saber cuántas letras extraer.

El Problema:

Celda A1: "Roberto Gómez"

La Solución Anidada:
=IZQUIERDA(A1, HALLAR(" ", A1) - 1)

Lógica:
1. HALLAR(" ", A1) busca el espacio. Dice: "Está en la posición 8".
2. Restamos 1 (para no traer el espacio). Resultado: 7.
3. IZQUIERDA extrae los primeros 7 caracteres: "Roberto".

2. Cirugía de Datos con EXTRAE (MID)

A veces el dato valioso está en medio. Imagina un SKU: PROD-5590-MX. Necesitas solo el número 5590.

  • Función: =EXTRAE(texto, posición_inicial, num_caracteres)
  • Ejemplo: =EXTRAE("PROD-5590-MX", 6, 4)
  • Resultado: 5590
Cuidado: Las funciones de texto devuelven "Texto". Si extraes un número (como "5590") y quieres sumarlo después, Excel no podrá.

Solución: Multiplica por 1 (*1) al final de la fórmula para convertirlo en número real.

3. La Evolución de CONCATENAR

La función antigua CONCATENAR está obsoleta. La nueva reina es UNIRCADENAS (TEXTJOIN).

¿Por qué? Porque permite elegir un delimitador (coma, guion) y tiene el superpoder de ignorar celdas vacías.

=UNIRCADENAS(", ", VERDADERO, A1:A10)

Esto crea una lista separada por comas de todo el rango A1:A10, saltándose los huecos vacíos automáticamente.

4. Fechas para Proyectos y Finanzas

Sumar +30 a una fecha es de principiantes. En el mundo real, existen fines de semana y días festivos.

Necesidad Función Uso
Calcular fecha de entrega =DIA.LAB(Fecha, Días, [Festivos]) Suma días hábiles saltándose sábados, domingos y festivos.
Cierre de mes contable =FIN.MES(Fecha, Meses) Te da el último día del mes (ej. 30, 31 o 28/29). Vital para vencimientos de facturas.
Antigüedad exacta =SIFECHA(Inicio, Fin, "y") Función oculta de Excel. La "y" calcula años cumplidos, "m" meses, "d" días.

5. Limpieza con SI.ERROR

No entregues reportes con #N/A o #¡DIV/0!. Se ve poco profesional. Envuelve tus fórmulas peligrosas (como divisiones o BUSCARV) en un chaleco antibalas.

=SI.ERROR( BUSCARV(...) , "No encontrado" )

Si el BUSCARV falla, en lugar de mostrar error, mostrará el texto elegante "No encontrado" (o un 0 si prefieres).

Reto Avanzado: El Parser

Tienes el siguiente código sucio en la celda A1: "EMP-Rodríguez_Juan-2024". Necesitas extraer solo el Apellido.

Paso 1: Análisis

El apellido está entre el primer guion (-) y el guion bajo (_).

Paso 2: Encontrar los límites
  • Posición del primer guion: HALLAR("-", A1)
  • Posición del guion bajo: HALLAR("_", A1)
Paso 3: La Fórmula Maestra (EXTRAE)

Debes decirle a EXTRAE: "Empieza uno después del guion, y toma tantos caracteres como la distancia entre el guion bajo y el guion medio".

=EXTRAE(A1, HALLAR("-",A1)+1, HALLAR("_",A1)-HALLAR("-",A1)-1)
Volver al Temario