Volver al curso

Excel Avanzado para Negocios: De Principiante a Experto

leccion
9 / 18
intermediate
8 horas
Fórmulas y Funciones Poderosas

Funciones de Texto y Fecha para Limpieza de Datos

Lectura
25 minutos~7 min lectura

Funciones de Texto y Fecha para Limpieza de Datos

Objetivos de Aprendizaje

Al finalizar esta lección serás capaz de:

  • Manipular texto con funciones de extracción, transformación y combinación
  • Trabajar con fechas y horas usando funciones de cálculo temporal
  • Limpiar datos importados que vienen con formato inconsistente
  • Automatizar la transformación de datos crudos en información estructurada

¿Por Qué Necesitás Funciones de Texto y Fecha?

El 60% del tiempo que un analista pasa en Excel no es analizando datos, sino limpiándolos. Los datos del mundo real vienen desordenados:

  • Nombres en MAYÚSCULAS o con espacios extras
  • Fechas en formatos diferentes (01/03/2025, 2025-03-01, "3 de marzo")
  • Códigos concatenados que necesitás separar ("ARG-BUE-001" → País, Ciudad, ID)
  • Números guardados como texto (que no suman)

Las funciones de texto y fecha son tus herramientas de limpieza.


Sección 1: Funciones de Texto Esenciales

Extracción de Texto

Función Qué Hace Sintaxis Ejemplo
IZQUIERDA Primeros N caracteres =IZQUIERDA(texto,n) =IZQUIERDA("PROD-105",4) → "PROD"
DERECHA Últimos N caracteres =DERECHA(texto,n) =DERECHA("PROD-105",3) → "105"
EXTRAE Caracteres desde posición =EXTRAE(texto,inicio,n) =EXTRAE("PROD-105",6,3) → "105"
ENCONTRAR Posición de un texto (sensible a mayúsculas) =ENCONTRAR(buscar,texto) =ENCONTRAR("-","PROD-105") → 5
HALLAR Posición de un texto (insensible a mayúsculas) =HALLAR(buscar,texto) Similar a ENCONTRAR

Ejemplo: Separar Nombre y Apellido

Dato: "María García" en A2

Nombre (todo antes del espacio):

=IZQUIERDA(A2,ENCONTRAR(" ",A2)-1)

Encuentra la posición del espacio (6), toma 5 caracteres desde la izquierda → "María"

Apellido (todo después del espacio):

=EXTRAE(A2,ENCONTRAR(" ",A2)+1,100)

Empieza en posición 7 (después del espacio), toma hasta 100 caracteres → "García"

Ejemplo: Separar Código Compuesto

Dato: "ARG-BUE-001" — necesitás País, Ciudad e ID por separado.

País (antes del primer guión):

=IZQUIERDA(A2,ENCONTRAR("-",A2)-1)

Resultado: "ARG"

Ciudad (entre el primer y segundo guión):

=EXTRAE(A2,ENCONTRAR("-",A2)+1,ENCONTRAR("-",A2,ENCONTRAR("-",A2)+1)-ENCONTRAR("-",A2)-1)

Resultado: "BUE"

El segundo ENCONTRAR busca el segundo guión empezando después del primero.

ID (después del último guión):

=DERECHA(A2,LARGO(A2)-ENCONTRAR("~",SUSTITUIR(A2,"-","~",LARGO(A2)-LARGO(SUSTITUIR(A2,"-","")))))

Resultado: "001"

Este truco encuentra el ÚLTIMO guión reemplazando todas las ocurrencias con ~ excepto la última.

Transformación de Texto

Función Qué Hace Ejemplo
MAYUSC Todo a mayúsculas =MAYUSC("hola") → "HOLA"
MINUSC Todo a minúsculas =MINUSC("HOLA") → "hola"
NOMPROPIO Primera letra mayúscula =NOMPROPIO("juan pérez") → "Juan Pérez"
ESPACIOS Quita espacios extras =ESPACIOS(" hola mundo ") → "hola mundo"
LIMPIAR Quita caracteres no imprimibles =LIMPIAR(A2)
SUSTITUIR Reemplaza texto =SUSTITUIR(A2,"-","/") → "ARG/BUE/001"
REEMPLAZAR Reemplaza por posición =REEMPLAZAR(A2,5,3,"XXX")
CONCATENAR / & Une textos =A2&" "&B2
UNIRCADENAS Une con separador (365) =UNIRCADENAS(", ",VERDADERO,A2:A10)

Ejemplo: Limpieza de Base de Clientes Importada

Datos importados con problemas:

Nombre Original Problema
" JUAN PÉREZ " Espacios extras + todo mayúscula
"maría garcía" Todo minúscula
"Roberto López" Espacios dobles internos

Fórmula de limpieza completa:

=NOMPROPIO(ESPACIOS(A2))

Esta combinación:

  1. ESPACIOS() elimina espacios al inicio, final, y reduce múltiples espacios internos a uno
  2. NOMPROPIO() capitaliza la primera letra de cada palabra

Resultado para todos: "Juan Pérez", "María García", "Roberto López"

CONCAT y UNIRCADENAS (Excel 365)

UNIRCADENAS (TEXTJOIN) es la evolución de CONCATENAR:

# Unir nombres separados por coma
=UNIRCADENAS(", ",VERDADERO,A2:A10)
  • Primer argumento: separador (", ")
  • Segundo: ignorar vacíos (VERDADERO)
  • Tercero: rango a unir

Resultado: "Juan, María, Roberto, Ana, ..."


Sección 2: Funciones de Fecha y Hora

Funciones Básicas de Fecha

Función Qué Devuelve Ejemplo
HOY() Fecha actual 21/02/2025
AHORA() Fecha y hora actual 21/02/2025 14:30
AÑO(fecha) El año =AÑO(A2) → 2025
MES(fecha) El mes (1-12) =MES(A2) → 2
DIA(fecha) El día (1-31) =DIA(A2) → 21
DIASEM(fecha,tipo) Día de la semana =DIASEM(A2,2) → 5 (viernes, lunes=1)
FECHA(año,mes,día) Construye una fecha =FECHA(2025,3,15) → 15/03/2025

Cálculos con Fechas

Función Qué Hace Ejemplo
SIFECHA(ini,fin,tipo) Diferencia entre fechas =SIFECHA(A2,HOY(),"Y") → años
DIAS.LAB(ini,fin) Días laborables entre fechas Sin sábados ni domingos
DIAS.LAB.INTL(ini,fin,festivos) Días laborables personalizados Excluye feriados
FIN.MES(fecha,meses) Último día del mes N meses adelante =FIN.MES(HOY(),0) → último día de este mes
NUMERO.DE.SEMANA(fecha) Número de semana del año =NUMERO.DE.SEMANA(HOY())

SIFECHA: La Función Oculta Más Útil

SIFECHA (DATEDIF) no aparece en autocompletar, pero es increíblemente útil:

=SIFECHA(fecha_inicio, fecha_fin, tipo)
Tipo Devuelve
"Y" Años completos
"M" Meses completos
"D" Días totales
"YM" Meses restantes después de años
"MD" Días restantes después de meses

Ejemplo: Antigüedad de empleado en formato legible

=SIFECHA(E2,HOY(),"Y")&" años, "&SIFECHA(E2,HOY(),"YM")&" meses"

Si E2 = 15/03/2020, resultado: "4 años, 11 meses"

Ejemplo: Edad de un cliente

=SIFECHA(FechaNacimiento,HOY(),"Y")

Devuelve la edad exacta en años.

Ejemplo Práctico: Reporte de Vencimientos

Para un sistema de cuentas por cobrar:

Columna Fórmula Resultado
Días desde emisión =HOY()-FechaEmisión 45
Días hasta vencimiento =FechaVencimiento-HOY() -15 (vencido hace 15 días)
Estado =SI(FechaVencimiento>=HOY(),"Vigente","Vencido") "Vencido"
Días laborables hasta vencimiento =DIAS.LAB(HOY(),FechaVencimiento) -11
Clasificación Según días de mora: al día, 1-30, 31-60, 61-90, +90 "31-60 días"

Fórmula de clasificación de mora:

=SI.CONJUNTO(
  HOY()-FechaVencimiento<=0,"Al día",
  HOY()-FechaVencimiento<=30,"1-30 días",
  HOY()-FechaVencimiento<=60,"31-60 días",
  HOY()-FechaVencimiento<=90,"61-90 días",
  VERDADERO,"Más de 90 días")

Sección 3: Conversiones y Funciones Especiales

Convertir Texto a Número y Viceversa

Función Uso
VALOR(texto) Convierte texto "123" a número 123
TEXTO(valor,formato) Convierte número a texto formateado
TIPO(celda) Devuelve 1 si es número, 2 si es texto
ESNUMERO(celda) Devuelve VERDADERO si es número
ESTEXTO(celda) Devuelve VERDADERO si es texto

La función TEXTO es poderosa para formatear:

=TEXTO(45000,"$#,##0.00")      → "$45,000.00"
=TEXTO(0.156,"0.0%")            → "15.6%"
=TEXTO(HOY(),"dddd dd \de mmmm \de yyyy")  → "viernes 21 de febrero de 2025"
=TEXTO(A2,"000000")             → "000105" (rellenar con ceros)

Números Guardados como Texto

Problema clásico: importás datos y los números aparecen alineados a la izquierda con un triángulo verde. Son texto disfrazado de número.

Soluciones:

  1. Multiplicar por 1: =A2*1 o =A2+0
  2. VALOR: =VALOR(A2)
  3. Pegado especial: Escribí 1 en una celda, copiala, seleccioná los "números texto", Pegado especial > Multiplicar
  4. Texto en columnas: Seleccioná la columna > Datos > Texto en columnas > Finalizar (sin cambiar nada)

Errores Comunes
  1. ENCONTRAR falla con #VALOR!: El texto buscado no existe en la cadena. Envolvé con SI.ERROR: =SI.ERROR(ENCONTRAR("@",A2),0)

  2. Fechas que son números de serie: Excel almacena fechas como números (1 = 01/01/1900). Si ves 45343 en vez de una fecha, formateá la celda como Fecha.

  3. SIFECHA con fecha inicio > fecha fin: Da error. Siempre verificá que inicio < fin.

  4. TEXTO que no respeta el formato regional: Los formatos de TEXTO usan el separador del sistema. En LATAM usamos dd/mm/aaaa, en USA mm/dd/yyyy.

  5. Concatenar fecha con texto: ="Fecha: "&A2 muestra el número de serie, no la fecha. Usá ="Fecha: "&TEXTO(A2,"dd/mm/yyyy").


Puntos Clave
  • IZQUIERDA, DERECHA, EXTRAE + ENCONTRAR permiten separar datos concatenados
  • ESPACIOS + NOMPROPIO es la combinación de limpieza más usada
  • SIFECHA calcula antigüedad y edad de forma precisa
  • DIAS.LAB calcula plazos en días laborables (esencial para proyectos y cobranzas)
  • TEXTO convierte cualquier valor a formato legible personalizado
  • Siempre verificá si los números están guardados como texto antes de hacer cálculos

Mini Quiz
  1. ¿Qué función elimina espacios extras al inicio, final y duplicados internos?

    • a) LIMPIAR
    • b) ESPACIOS ✓
    • c) SUSTITUIR
    • d) RECORTAR
  2. ¿Qué devuelve SIFECHA("01/01/2020","21/02/2025","Y")?

    • a) 5 ✓
    • b) 4
    • c) 1877
    • d) Error
  3. ¿Cómo convertís "hola mundo" a "Hola Mundo"?

    • a) MAYUSC()
    • b) NOMPROPIO() ✓
    • c) TEXTO()
    • d) SUSTITUIR()
  4. ¿Cómo concatenás una fecha con texto sin que aparezca el número de serie?

    • a) =A1&B1
    • b) =CONCATENAR(A1,B1)
    • c) ="Texto: "&TEXTO(A1,"dd/mm/yyyy") ✓
    • d) =UNIR(A1,B1)

Ejercicio Práctico

Desafío: Limpieza de Base de Datos Importada

Recibiste un archivo CSV con 500 registros de clientes con estos problemas:

Problema Columna Ejemplo Malo Resultado Esperado
Nombres desordenados A " JUAN CARLOS PÉREZ " "Juan Carlos Pérez"
Fechas como texto B "2025-03-15" 15/03/2025 (fecha real)
Teléfonos con formato C "+54 (11) 4555-6789" "5411455567899" (solo números)
Emails con espacios D " [email protected] " "[email protected]"
Montos como texto E "$45.000,50" 45000.50 (número)
Códigos concatenados F "ARG-BUE-VIP-001" País, Ciudad, Tipo, ID separados

Creá fórmulas para limpiar cada columna. El resultado debe ser una tabla limpia y estructurada lista para análisis.


💡 Concepto Clave

Revisemos los puntos más importantes de esta lección antes de continuar.

Recurso en Video

📹 Funciones de Texto en Excel — Curso Completo — Excel y Más

Tutorial exhaustivo de funciones de texto con casos reales de limpieza de datos empresariales.

🧠 Pon a prueba tu conocimiento
¿Cuál es el aspecto más importante que aprendiste en esta lección?
  • Comprendo el concepto principal y puedo explicarlo con mis palabras
  • Entiendo cómo aplicarlo en mi situación específica
  • Necesito repasar algunas partes antes de continuar
  • Quiero ver más ejemplos prácticos del tema
✅ ¡Excelente! Continúa con la siguiente lección para profundizar más.