Funciones de texto y fecha

Lectura
30 min~6 min lectura

Funciones de Texto y Fecha en Google Sheets y SQL

Las funciones de texto y fecha son herramientas fundamentales para cualquier analista de datos. Te permiten limpiar, transformar y extraer información valiosa de tus datasets. En esta lección aprenderás a dominar las funciones más utilizadas que te ahorrarán horas de trabajo manual.

¿Por qué son importantes estas funciones?

En el mundo real, los datos rarely vienen perfectamente formateados. Encontrarás nombres con mayúsculas incorrectas, fechas en formatos inconsistentes, espacios extra que rompen tus fórmulas, y texto que necesita ser dividido o combinado. Dominar estas funciones te convertirá en un analista más eficiente y preciso.

Funciones de Texto

1. CONCATENAR y CONCAT

Estas funciones unen texto de diferentes celdas en una sola. Esencial cuando necesitas combinar nombres, direcciones o cualquier dato fragmentado.

Sintaxis: =CONCATENAR(texto1, texto2, ...) o =CONCAT(texto1, texto2, ...)

Ejemplo práctico:

=CONCATENAR(A2, " ", B2)
// Combina nombre (A2) y apellido (B2) con un espacio entre ellos
// Resultado: "María García"

También puedes usar el operador & que es más rápido:

=A2 & " " & B2
// Mismo resultado, sintaxis más limpia

2. EXTRAER: LEFT, RIGHT y MID

Estas funciones extraen partes específicas de un texto. Imagina que tienes códigos de producto como "PROD-2024-001" y necesitas extraer solo el número.

=LEFT(A2, 4)    // Extrae los primeros 4 caracteres: "PROD"
=RIGHT(A2, 3)   // Extrae los últimos 3 caracteres: "001"
=MID(A2, 6, 4)  // Extrae 4 caracteres desde posición 6: "2024"

Aplicación real: Extraer el código de área de números de teléfono, obtener el año de una fecha en texto, o separar prefijos de identificadores.

3. LARGO (LEN)

Cuenta el número de caracteres en un texto. Muy útil para validaciones y condiciones.

=LEN(A2)
// Si A2 contiene "Hola Mundo", devuelve: 10

Ejemplo combinado:

=SI(LEN(A2) > 50, "Muy largo", "Aceptable")
// Clasifica textos según su longitud

4. RECORTAR (TRIM)

Elimina espacios extra al inicio, final y duplicados entre palabras. Esto corrige uno de los errores más comunes que hacen fallar búsquedas y comparaciones.

=TRIM(A2)
// "  María   García  " se convierte en "María García"

5. MAYÚSCULAS, MINÚSCULAS y NOMPROPIO

Transforman el formato del texto:

=MAYUSC(A2)    // "maría García" → "MARÍA GARCÍA"
=MINUSC(A2)    // "MARÍA GARCÍA" → "maría garcía"
=NOMPROPIO(A2) // "maría garcía" → "María García"

Uso común: Estandarizar nombres de clientes antes de crear bases de datos o realizar búsquedas.

6. SUSTITUIR (SUBSTITUTE)

Reemplaza texto específico dentro de una cadena. Ideal para limpiar datos con errores consistentes.

=SUSTITUIR(A2, "Mr.", "Señor")
// Cambia "Mr. Juan" por "Señor Juan"

=SUSTITUIR(A2, " ", "")
// Elimina todos los espacios (útil para números de teléfono)

7. HALLAR y ENCONTRAR

Buscan la posición de un texto dentro de otro. HALLAR no distingue mayúsculas, ENCONTRAR sí.

=HALLAR("@", A2)
// Devuelve la posición del símbolo @ en un email
// "[email protected]" → devuelve 7

Funciones de Fecha

1. HOY y AHORA

Las funciones más básicas pero esenciales:

=HOY()       // Devuelve la fecha actual: 15/01/2025
=AHORA()      // Devuelve fecha y hora actual: 15/01/2025 14:30:00

Aplicaciones: Calcular antigüedad de clientes, días transcurridos, o crear timestamps automáticos.

2. DÍA, MES y AÑO

Extraen componentes individuales de una fecha:

=DÍA(A2)     // Extrae el día: 15
=MES(A2)     // Extrae el mes: 1
=AÑO(A2)     // Extrae el año: 2025

Ejemplo práctico: Clasificar ventas por trimestre

="Q" & REDONDEAR.MAS(MES(A2)/3,0)
// Si A2 es 15/04/2024, devuelve: "Q2"

3. FECHANUMERO

Convierte texto que parece fecha en un número de serie que Google Sheets puede procesar como fecha.

=FECHANUMERO("15/01/2025")
// Convierte el texto a número: 45658
// Ahora puedes restar fechas, calcular diferencias, etc.

4. SIFECHA (DATEDIF)

Calcula la diferencia entre dos fechas en años, meses o días. Es extremadamente útil para calcular edades, antigüedad laboral, o tiempo transcurrido.

Sintaxis: =SIFECHA(fecha_inicio, fecha_fin, "unidad")

Unidades: "Y" (años), "M" (meses), "D" (días), "YM" (meses ignorando años), "YD" (días ignorando años)

=SIFECHA(A2, B2, "D")
// Días entre fecha en A2 y fecha en B2

=SIFECHA(A2, HOY(), "Y")
// Edad o antigüedad en años completos

=SIFECHA(A2, B2, "YM") & " meses"
// Meses transcurridos (excluyendo años completos)

5. DIASEM

Devuelve el día de la semana como número (1=domingo, 2=lunes) o texto.

=DIASEM(A2)      // Devuelve número: 3 (martes)
=DIASEM(A2, 2)   // Devuelve número: 2 (martes, con formato lunes=1)

Uso práctico: Identificar fines de semana, analizar patrones de ventas por día.

6. DIAS.LAB y NETWORKDAYS

Calculan días hábiles entre fechas, exclude fines de semana y opcionalmente festivos.

=DIAS.LAB(A2, B2)
// Días hábiles entre dos fechas

=DIAS.LAB(A2, B2, festivos)
// Excluye también los días festivos definidos en "festivos"

7. FECHA

Crea una fecha a partir de componentes individuales (año, mes, día).

=FECHA(2025, 1, 15)
// Crea: 15/01/2025

=FECHA(AÑO(A2)+1, MES(A2), DIA(A2))
// Suma un año a una fecha existente

Ejemplo Integrado: Dashboard de Análisis de Personal

Imagina una hoja con datos de empleados:

A              B              C              D
| Nombre Completo | Fecha Ingreso | Departamento | Email Corp    |
|-----------------|---------------|--------------|---------------|
| maría   García  | 15/03/2020    | Ventas       | mgarcía@...   |
| juan   pérez    | 01/08/2022    | Marketing    | jperez@...    |

Con lo aprendido, puedes crear fórmulas para:

// Limpiar nombres (E2):
=NOMPROPIO(RECORTAR(A2))

// Antigüedad en años (F2):
=SIFECHA(B2, HOY(), "Y") & " años"

// Primer nombre para usuario (G2):
=EXTRAE(NOMPROPIO(RECORTAR(A2)), 1, HALLAR(" ", NOMPROPIO(RECORTAR(A2)))-1)

// Trimestre de ingreso (H2):
>"Q" & REDONDEAR.MAS(MES(B2)/3,0)

Errores Comunes

  • No usar TRIM en datos importados: Cuando importas datos de otros sistemas, siempre tienen espacios invisibles. Olvidar TRIM causará que BUSCARV falle, comparaciones sean incorrectas, y conteos no coincidan. Convierte TRIM en un paso obligatorio de limpieza.
  • Confundir formato de celda con valor: Si una celda muestra "15/01/2025" pero está formateada como texto, las funciones de fecha no funcionarán. Usa =FECHANUMERO() para convertirla primero. Verifica con =ESNUMERO() si la celda es numérica.
  • No considerar zonas horarias en AHORA(): =AHORA() usa la zona horaria del spreadsheet, no la del usuario. Para timestamps consistentes en equipos distribuidos, considera usar =NOW() o establece explícitamente la zona horaria en Configuración Regional.

Integración con SQL

En BigQuery o MySQL, las funciones equivalentes son:

-- Google Sheets → SQL
CONCATENAR(A, B)    → CONCAT(A, B) o A || B
LEFT(text, n)       → SUBSTR(text, 1, n)
LEN(text)           → LENGTH(text)
MAYUSC(text)        → UPPER(text)
MINUSC(text)        → LOWER(text)
TRIM(text)          → TRIM(text)
DÍA(fecha)          → EXTRACT(DAY FROM fecha)
MES(fecha)          → EXTRACT(MONTH FROM fecha)
AÑO(fecha)          → EXTRACT(YEAR FROM fecha)
SIFECHA(a,b,"D")   → DATE_DIFF(b, a, DAY)

Dominar estas equivalencias te permitirá trabajar fluidamente entre ambas plataformas.

Checklist de Dominio

  • ✓ Soy capaz de limpiar datos con TRIM y NOMPROPIO
  • ✓ Puedo extraer partes específicas de texto con LEFT, RIGHT y MID
  • ✓ Sé calcular antigüedad y diferencias de tiempo con SIFECHA
  • ✓ Utilizo DIASEM para analizar patrones por día de la semana
  • ✓ Convierto texto a fechas con FECHANUMERO
  • ✓ Combino múltiples funciones en fórmulas anidadas
  • ✓ Conozco las equivalencias en SQL para migrar lógica
  • ✓ Identifico y corrijo errores comunes como espacios invisibles