Fórmulas de datos de muestra
Utilice fórmulas de muestra para realizar cálculos con fecha y hora.
Ediciones necesarias
| Disponible en: Salesforce Classic y Lightning Experience |
| Disponible en: todas las ediciones |
Cuando trabaje con las fórmulas de ejemplo en este tema, tenga en cuenta estas consideraciones.
- Para evitar errores de sintaxis al copiar fórmulas, sustituya:
-
Marcadores de posición de fecha con un valor de FECHA real, como un campo Fecha como FechaCierre o la función
TODAY(). -
Marcadores de posición de fecha y hora con un valor de fecha y hora real, como CreatedDate o
NOW(). -
date_1, date_2, earlier_date, later_date, start_date, end_date, start_date_time, end_date_time, num_years y target_date placeholders con sus propios campos o valores, según corresponda.
-
- Las funciones como
DAY(),MONTH()yYEAR()requieren entrada de fecha. Si está comenzando con un valor de Fecha/hora, primero conviértalo en una Fecha con la funciónDATEVALUE(). Por ejemplo,DAY( DATEVALUE( date_time )).
Detectar si un año es bisiesto
Esta fórmula determina si un año es bisiesto (es decir, tiene 366 días). Esta lógica es crítica para cualquier cálculo que requiera precisión diaria, desde calcular el interés financiero diario hasta realizar un seguimiento de las dosis de medicamentos. Por ejemplo, dividir un importe anual por 365 durante un año bisiesto da como resultado datos diarios imprecisos. Con esta fórmula, puede establecer dinámicamente el denominador de cálculo en 365 o 366 dependiendo del año.
OR(
MOD( YEAR( date ), 400 ) = 0,
AND(
MOD( YEAR( date ), 4 ) = 0,
MOD( YEAR( date ), 100 ) != 0
)
)Cómo funciona:
- Un año es un año bisiesto cuando cumple una de dos condiciones específicas. Una condición es que el año sea perfectamente divisible por 400 (por ejemplo, el año 2000). La otra es que es divisible por 4 pero no por 100 (por ejemplo, 2024 es un año bisiesto, pero 1900 no lo era).
- La función
MOD()calcula el resto de una división. Si esMOD( Year, 400 ) = 0, significa que el año es divisible por 400 sin resto. - La función
OR()encierra toda la fórmula. Si una de las dos condiciones es verdadera, la fórmula devuelveTRUE.
Averiguar en qué trimestre se encuentra la fecha
Determinar en qué trimestre fiscal recae una actividad específica es esencial para actividades como previsiones de ventas, informes financieros o análisis de rendimiento. Utilice fórmulas para calcular el trimestre (1-4) para años estándar, años fiscales ajustados o incluso para comparar una fecha con el trimestre actual.
Año fiscal estándar: Utilice esta fórmula si el primer trimestre comienza en enero.
CEILING( MONTH ( date ) / 3 )Año fiscal de turno: Utilice esta fórmula si su año fiscal comienza en un mes que no sea enero. Ajuste el valor -1 ADDMONTHS() coincidir con el número de meses necesarios para volver a alinearse con enero. Por ejemplo, la fórmula como se muestra cambia 1 mes atrás para un inicio de febrero.
CEILING( MONTH ( ADDMONTHS ( date, -1 ) ) / 3)Compruebe si la fecha está en el trimestre actual (estándar): Utilice esta fórmula para devolver TRUE si una fecha corresponde al mismo trimestre y año estándar que hoy. Esta opción es útil para situaciones como la validación de negociaciones de trimestres actuales o evitar modificaciones en registros pasados.
AND(
CEILING( MONTH( date ) / 3 ) = CEILING( MONTH( TODAY() ) / 3 ),
YEAR( date ) = YEAR( TODAY() )
)Cómo funciona:
- La lógica en estas fórmulas divide el número de meses (1 a 12) por 3 (el número de meses en un trimestre).
-
La función
CEILING()redondea el resultado al alza al número entero más próximo. Por ejemplo: Febrero (Mes 2) dividido por 3 es 0,66, que se redondea al alza a 1 (T1). Abril (Mes 4) dividido por 3 es 1,33, que redondea al alza a 2 (T2). -
Para años fiscales con turnos,
ADDMONTHS()prácticamente cambia la fecha de vuelta de modo que el cálculo se alinea con un inicio de enero. Por ejemplo, restando 1 mes, febrero se convierte en enero (el inicio del ciclo) para la fórmula. -
Al comprobar si una fecha está en el trimestre actual, la fórmula verifica que tanto el trimestre como el año coinciden con
TODAY()para asegurarse de que no marca incorrectamente fechas del primer trimestre de años anteriores como actuales.
Buscar la semana del año en la que se encuentra la fecha
La agrupación de registros por semana es un requisito fundamental para actividades como la creación de informes de ventas semanales, la planificación de la cadena de suministro o el seguimiento del uso de recursos. Como las diferentes organizaciones definen la Semana 1 de forma diferente, Salesforce proporciona dos métodos: el Estándar ISO (mejor para creación de informes comerciales) y el Recuento absoluto (mejor para seguimiento de progreso anual sencillo y localizado).
Semana estándar ISO (se recomienda): Utilice esta fórmula para alinear la mayoría de los informes comerciales con los estándares ISO-8601. Las semanas siempre comienzan el lunes, y la primera semana del año que contiene un jueves cuenta como Semana 1.
ISOWEEK( date )Recuento de semanas absoluto simple: Utilice esta fórmula si su organización define la Semana 1 como siempre a partir del 1 de enero, independientemente del día de la semana. Este enfoque es útil para contadores anuales sencillos donde simplemente desea saber cuántos bloques de 7 días han pasado desde que comenzó el año.
CEILING( ( date - DATE( YEAR( date ), 1, 1) + 1) / 7)Cómo funciona:
- Lógica estándar ISO: La función
ISOWEEK()es una herramienta nativa que calcula automáticamente el número de semana (1 a 53) basándose en definiciones ISO-8601. Gestiona automáticamente casos extremos donde enero comienza en la semana final del año anterior o diciembre finaliza en la primera semana del año siguiente. - Lógica de recuento absoluto:
- La fórmula
date - DATE( YEAR( date ), 1, 1) + 1calcula el “número de días” del año. Por ejemplo, el 1 de febrero es el día 32. Luego divide el recuento de días por 7 para encontrar cuántas semanas han pasado. Continuando con el ejemplo: 32/7 = 4.57. CEILING()redondea el resultado al alza al número entero más próximo. En este caso, 4,57 rondas al alza a 5, situándose el 1 de febrero en la Semana 5.- Como 365 días no se dividen uniformemente por 7 (365 días ÷ 7 = 52,14), los últimos 1 o 2 días del año recaen en una Semana 53 parcial.
- La fórmula
Buscar si dos fechas se encuentran en el mismo mes
Para actividades como cálculos de comisiones, atribución de campañas o facturación consolidada, a menudo es necesario determinar si se produjeron dos eventos en el mismo periodo de contabilización o creación de informes. Esta fórmula comprueba si dos campos de fecha específicos (por ejemplo, una Fecha de cierre de oportunidad y una Fecha_factura__c) recaen en el mismo mes de calendario.
AND(
MONTH( date_1 ) = MONTH( date_2 ),
YEAR( date_1 ) = YEAR( date_2 )
)También puede aplicar dinámicamente esta lógica para validar si una fecha recae en el mes actual en relación con hoy. Este enfoque es útil para el formato condicional, como resaltar tareas que vencen este mes o crear indicadores de fórmula para la creación de informes "Este mes" que se actualizan automáticamente.
AND(
MONTH( date ) = MONTH( TODAY() ),
YEAR( date ) = YEAR( TODAY() )
)
Cómo funciona:
- La fórmula utiliza
MONTH()para extraer el número (1-12) para ambas fechas y compararlas. -
También utiliza
YEAR()para garantizar que los años coincidan. Sin este paso, una fecha en enero de 2024 coincide incorrectamente con una fecha en enero de 2023. -
La función
AND()requiere que el mes y el año sean idénticos para devolverTRUE.
Buscar el último día del mes
Calcular el último día del mes es esencial para casos de uso de gestión financiera y de contratos. Los casos de uso comunes incluyen el establecimiento de fechas de finalización de suscripción dinámicas, la determinación de fechas de vencimiento de facturas o la creación de informes sobre negociaciones que se cierran al final del mes. Esta fórmula simplifica la gestión de los meses de 28, 30 y 31 días y los años bisiestos, restando un día al primer día del mes siguiente.
ADDMONTHS( DATE( YEAR( date ), MONTH( date ), 1 ), 1 ) - 1Cómo funciona:
- La fórmula
DATE( YEAR( date ), MONTH( date ), 1 )crea una fecha establecida en el primer día del mes desde su campo de fecha original. ADDMONTHS( ..., 1 )mueve la fecha del "primer día del mes" hacia adelante exactamente un mes. Por ejemplo, cambiar el 1 de enero al 1 de febrero.- La resta de 1 al primer día del mes siguiente invierte automáticamente la fecha al último día válido del mes actual. Esta conversión gestiona automáticamente los meses del 28/29 y 30/31 de febrero correctamente.
Mostrar el mes como una cadena en vez de un número
Aunque los campos de fecha estándar aparecen numéricamente, como 15/01/2024, los informes y las comunicaciones de cara al cliente a menudo requieren un formato más pulido. Esta fórmula convierte el valor numérico del mes en su nombre de texto completo, como enero. Esta conversión es útil para generar encabezados profesionales (por ejemplo, “15 de enero” en vez de “15/1”) en recursos como documentos de presupuestos, plantillas de correo electrónico o boletines de marketing.
CASE(
MONTH( date ),
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
""
)
Si su organización utiliza varios idiomas, sustituya los nombres de mes por etiquetas personalizadas que pueda traducir. Con este enfoque, el nombre del mes se actualiza de forma dinámica basándose en la configuración de idioma del usuario. Por ejemplo, muestra "Enero" para usuarios de EE.UU. y "Janvier" para usuarios franceses.
CASE(
MONTH( date ),
1, $Label.Month_of_Year_1,
2, $Label.Month_of_Year_2,
3, $Label.Month_of_Year_3,
4, $Label.Month_of_Year_4,
5, $Label.Month_of_Year_5,
6, $Label.Month_of_Year_6,
7, $Label.Month_of_Year_7,
8, $Label.Month_of_Year_8,
9, $Label.Month_of_Year_9,
10, $Label.Month_of_Year_10,
11, $Label.Month_of_Year_11,
12, $Label.Month_of_Year_12,
""
)
Cómo funciona:
- La fórmula utiliza la función
MONTH()para extraer el mes numérico (1-12) de la fecha. - La función
CASE()compara ese número con la lista definida. Si el mes es 1, devuelve el primer valor ("Enero" o $Label.Month_of_Year_1); si es 2, devuelve el segundo valor, y así sucesivamente. - La línea final ("") proporciona un valor predeterminado. Si el campo de fecha está en blanco, la declaración de
CASE()llega a esta línea y devuelve una cadena de texto vacía, garantizando que no se produzca ningún error.
Buscar y mostrar el día de la semana desde una fecha
Aunque Salesforce almacena fechas numéricamente (como 2024-12-25), las comunicaciones externas y las programaciones internas a menudo requieren un formato más legible para las personas. Esta fórmula identifica el día específico de la semana desde un campo de fecha y lo convierte en texto (por ejemplo, "miércoles"). Esta función es útil para plantillas de marketing por correo electrónico donde desea personalizar el saludo con algo como "¡Feliz viernes!" Otro caso de uso de ejemplo son los informes de plantilla, de modo que puede detectar y filtrar fácilmente la actividad de fin de semana.
CASE(
WEEKDAY ( date ),
1, "Sunday",
2, "Monday",
3, "Tuesday",
4, "Wednesday",
5, "Thursday",
6, "Friday",
7, "Saturday",
""
)
Si su organización utiliza varios idiomas, sustituya el nombre del día por etiquetas personalizadas que pueda traducir. Con este enfoque, el nombre del día puede cambiar de forma dinámica basándose en la configuración de idioma del usuario (como mostrar "Domingo" para usuarios de español).
CASE(
WEEKDAY( date ),
1, $Label.Day_of_Week_1,
2, $Label.Day_of_Week_2,
3, $Label.Day_of_Week_3,
4, $Label.Day_of_Week_4,
5, $Label.Day_of_Week_5,
6, $Label.Day_of_Week_6,
7, $Label.Day_of_Week_7,
""
)
Cómo funciona:
- La función
WEEKDAY( date )examina la fecha y devuelve un número del 1 (domingo) al 7 (sábado). - La función
CASE()compara ese número con la lista de valores. Si encuentra un 1, devuelve el primer valor ("Domingo" o $Label.Day_of_Week_1). Si encuentra un 2, devuelve el segundo valor, y así sucesivamente. - La línea final (
"") proporciona un valor predeterminado. Si el campo de fecha está en blanco, la declaración deCASE()llega a esta línea y devuelve una cadena de texto vacía en vez de un error.
Buscar el día de la semana siguiente después de una fecha
Calcular la fecha específica del "próximo lunes" o "próximo viernes" es importante para establecer programaciones semanales coherentes. Por ejemplo, quizás su equipo de asistencia realice auditorías de calidad cada viernes, o los ciclos de facturación comiencen un lunes. Esta fórmula calcula automáticamente la próxima fecha correcta independientemente de la fecha de creación del registro.
date + ( target_day - WEEKDAY( date ) +
IF( target_day <= WEEKDAY( date ), 7, 0 ) )
Sustituya target_day por el número correspondiente al día que desea: 1=Domingo, 2=Lunes, 3=Martes, 4=Miércoles, 5=Jueves, 6=Viernes, 7=Sábado.
Cómo funciona:
- La fórmula calcula la brecha entre target_day (el día que desea) y
WEEKDAY( date )(el día actual del registro). - La declaración de
IF()determina si el día de destino es más tarde esta semana o si finaliza la semana siguiente.- A finales de esta semana: Si hoy es lunes (2) y desea viernes (6), las matemáticas son simplemente 6 - 2 = 4 días de distancia. El
IFagrega 0. - Pasado o hoy: Si hoy es viernes (6) y desea lunes (2), las cuentas son 2 – 6 = –4 (lo que significa que el lunes fue hace 4 días). Como el objetivo es "menor o igual que" hoy, la declaración de
IFagrega 7 al resultado: –4 + 7 = 3 días fuera (el próximo lunes).
- A finales de esta semana: Si hoy es lunes (2) y desea viernes (6), las matemáticas son simplemente 6 - 2 = 4 días de distancia. El
Buscar el número de días entre dos fechas
Para medir la eficiencia, como el seguimiento del tiempo del ciclo de ventas (Fecha de cierre menos Fecha de creación) o el tiempo de Resolución de casos, calcule la duración entre dos eventos específicos. Estas fórmulas calculan el número preciso de días transcurridos o marcan automáticamente registros que superan un umbral de tiempo específico.
Cálculo de duración básico: Para encontrar el número sencillo de días entre dos fechas específicas, reste la fecha anterior a la fecha posterior.
later_date — earlier_dateComprobar si una fecha se produjo hace más de 30 días: También puede utilizar matemáticas de fechas para marcar registros que se han quedado obsoletos o vencidos. Por ejemplo, utilice esta fórmula para identificar candidatos sin actividad en un mes o facturas vencidas. Devuelve TRUE si la fecha es más de 30 días en el pasado en relación con hoy.
( TODAY() - date ) > 30Cómo funciona:
- Salesforce almacena fechas de forma interna como números sencillos (enteros). Cuando resta una fecha a otra (por ejemplo,
later_date - earlier_date), Salesforce calcula la diferencia sencilla entre esos enteros, devolviendo el resultado como un número entero de días. - En la segunda fórmula,
TODAY() - dateresta la fecha del campo a la fecha actual del sistema para calcular la antigüedad del registro en días. - El operador de
> 30compara esa edad con su umbral. Si la diferencia es de 31 días o superior, la fórmula devuelveTRUE. De lo contrario, devuelveFALSE.
Buscar el número de días laborables entre dos fechas
Para actividades como el seguimiento del número de días laborables para resolver un caso de asistencia o cerrar una oportunidad de ventas, calcule el número de días laborables (días laborables) entre dos fechas. A diferencia de la resta de fechas sencilla, que cuenta los fines de semana, esta fórmula garantiza que solo cuente de lunes a viernes.
(
5 * FLOOR( ( end_date - DATE( 1900, 1, 8 ) ) / 7 ) +
MIN( 5, MOD( end_date - DATE( 1900, 1, 8 ), 7 ) )
)
-
(
5 * FLOOR( ( start_date - DATE( 1900, 1, 8 ) ) / 7 ) +
MIN( 5, MOD( start_date - DATE( 1900, 1, 8 ), 7 ) )
)
Asegúrese de que end_date es la fecha posterior y start_date es la fecha anterior para obtener un número positivo.
Cómo funciona:
- La fórmula calcula una puntuación de día laborable para fecha_final y fecha_inicio, luego resta la puntuación de fecha_inicio a la puntuación de fecha_final para obtener el número de días laborables entre ellas.
- La fórmula se basa en una fecha de referencia fija: Lunes, 8 de enero de 1900. Utiliza un lunes conocido para servir como delimitador de Día 0.
- Los
FLOOR( ( end_date - ... ) / 7 )yFLOOR( ( start_date - ... ) / 7 )calculan cuántas semanas completas de 7 días han transcurrido desde la fecha de referencia. La fórmula multiplica este recuento por 5 para dar crédito a cinco días laborables por cada semana completa. - La función
MOD()busca los días restantes (0 a 6) después de contar las semanas completas. La funciónMIN( 5, ... )limita el recuento de días laborables de semana parcial a 5 de modo que sábado y domingo no aumenten el total de días laborables pasado el viernes.
Buscar el número de meses entre dos fechas
Actividades como la gestión de suscripciones o las renovaciones de contratos a menudo requieren calcular el número de meses de calendario entre dos fechas. Por ejemplo, tal vez está determinando la duración de un acuerdo de varios años para la facturación o el cálculo de la permanencia de empleados para beneficios. Esta fórmula encuentra la diferencia basándose en valores de mes y año, ignorando el día específico del mes.
( ( YEAR( later_date ) - YEAR( earlier_date ) ) * 12 ) + (MONTH ( later_date ) - MONTH( earlier_date ) )Cómo funciona:
( YEAR( later_date ) - YEAR( earlier_date ) ) * 12calcula la diferencia en años entre las dos fechas y la multiplica por 12 para convertirla en un número de meses de línea base.MONTH( later_date ) - MONTH( earlier_date )calcula la diferencia entre los números de mes (1-12).- Finalmente, la fórmula suma estos dos valores juntos.
Agregar días, meses y años a una fecha
Calcular fechas futuras es un requisito importante para la automatización de flujos de trabajo. Estas fórmulas proyectan fechas en el futuro de forma dinámica. Por ejemplo, utilícelos para actividades como establecer una fecha límite de tarea de seguimiento para 5 días después de una llamada, determinar una fecha de vencimiento de contrato o calcular la programación de vestimenta de un empleado.
Agregar días: Para programar plazos o seguimientos a corto plazo, agregue el número de días directamente al campo de fecha. Salesforce trata las fechas como enteros, de modo que agregar 5 aumenta la fecha en 5 días.
date + 5Agregar meses: Para programaciones a medio plazo como revisiones trimestrales o renovaciones de suscripciones, utilice ADDMONTHS(). Esta función es más inteligente que utilizar una simple adición porque gestiona automáticamente meses de diferentes duraciones (28, 30, 31 días).
ADDMONTHS( date, 1 )Agregar años: Utilice esta fórmula para cálculos como determinar duraciones de acuerdos de varios años para facturación o calcular la permanencia de empleados para beneficios. Multiplicando el número de años por 12, puede utilizar la lógica de ADDMONTHS() para garantizar cálculos precisos año tras año.
ADDMONTHS( date, 12 * num_years )Sustituya num_years por el número de años que desea agregar.
Años bisiestos: De forma predeterminada, si agrega años a un año bisiesto (29 de febrero) y el año futuro no es bisiesto, Salesforce devuelve el 28 de febrero. Si tiene el requisito comercial de que el aniversario del 29 de febrero sea el 1 de marzo en su lugar, lo que es común en algunos contratos legales, utilice esta fórmula avanzada.
ADDMONTHS( date, 12 * num_years ) +
IF(
AND(
DAY( date ) = 29,
DAY( ADDMONTHS( date, 12 * num_years ) ) = 28
),
1,
0
)
Esta lógica comprueba si la fecha se ajustó al día 28 y agrega un día para empujarla al 1 de marzo.
Cómo funciona:
- La fórmula de
date + 5simplemente aumenta el valor entero de la fecha. - La fórmula de
ADDMONTHS( date, ... )agrega meses de calendario. Multiplicar años por 12 (12 * num_years) convierte años en meses de modo que la función pueda procesarlos. - En la fórmula del año bisiesto, la declaración de
IF()comprueba dos condiciones: que el día original era el 29 y el día futuro calculado es el 28. Si ambos son verdaderos, indica el sistema ajustado para un año no bisiesto. A continuación, la fórmula agrega 1 día para adelantar la fecha al 1 de marzo.
Agregar días hábiles a una fecha
El cálculo de plazos en base a días laborables es fundamental para actividades como el mantenimiento de acuerdos a nivel de servicio (SLA) o la gestión de expectativas de clientes. Por ejemplo, si el servicio de asistencia promete una respuesta de 3 días laborables, simplemente agregar 3 días naturales a una solicitud de viernes establece incorrectamente una fecha límite de domingo (un día no laborable). Esta fórmula ajusta automáticamente la fecha de vencimiento para omitir fines de semana, asegurándose de que una solicitud siempre llega correctamente en un día laborable.
Este ejemplo agrega 3 días hábiles.
CASE(
WEEKDAY( date ),
4, date + 5,
5, date + 5,
6, date + 5,
7, date + 4,
date + 3
)
Para agregar un número diferente de días, ajuste la lógica dentro de la declaración de CASE(). Por ejemplo, esta es una fórmula ajustada para 4 días hábiles.
CASE(
WEEKDAY( date ),
1, date + 4, /* Sunday -> Thursday */
2, date + 4, /* Monday -> Friday */
3, date + 6, /* Tuesday -> next Monday */
4, date + 6, /* Wednesday -> next Tuesday */
5, date + 6, /* Thursday -> next Wednesday */
6, date + 6, /* Friday -> next Thursday */
7, date + 5 /* Saturday -> next Thursday */
)
Cómo funciona:
- Estas fórmulas asumen una semana laboral estándar de lunes a viernes. No tienen en cuenta festivos específicos. El enfoque en las fórmulas trata la fecha de inicio como Día 0 y cuenta solo los días hábiles futuros.
- La función
CASE()comprueba el día de la semana de su fecha de inicio (WEEKDAY( date )) y agrega un número específico de días naturales para garantizar que el resultado llega a un día hábil válido. - A continuación le mostramos cómo gestiona la fórmula de 3 días laborables los ajustes.
- Para miércoles (4), jueves (5), viernes (6): Agregar 3 días hábiles fuerza la fecha límite a una fecha de fin de semana. La fórmula agrega 5 días naturales (3 días laborables + 2 días de fin de semana) para cerrar la brecha.
- Para sábado (7): Si la fecha comienza un sábado, la fórmula agrega 4 días naturales (domingo + lunes/martes/miércoles) para aterrizar el miércoles.
- Para Domingo (1), Lunes (2), Martes (3): Para estos días, agregar 3 días hábiles no cruza un fin de semana. La fórmula actúa como el caso predeterminado y simplemente agrega 3 días naturales.
Buscar la hora, el minuto o el segundo de una fecha/hora
La extracción de componentes de hora específicos de un campo Fecha/hora es importante para la creación de informes y la programación granulares. Algunos ejemplos incluyen marcar casos de asistencia creados fuera del horario de oficina o analizar patrones de volumen de llamadas por hora del día para optimizar la plantilla. Estas fórmulas aíslan la hora, minuto o segundo exactos de una marca de tiempo.
- Si está retrasado GMT, sustituya TZoffset por el número de horas que está retrasado dividido por 24. Por ejemplo, para Hora del Este (UTC-5), utilice el valor de 5,0 / 24.
-
Si está adelantado a GMT, cambie el signo menos (–) en las fórmulas con un signo más (+). A continuación, sustituya TZoffset por el número de horas que está adelantado dividido por 24. Por ejemplo, para Singapur (UTC+8), utilice el valor de 8,0 / 24.
Para obtener más información, consulte la nota sobre Fecha/hora y zonas horarias en Uso de valores de fecha, fecha/hora y hora en fórmulas.
Buscar la hora: Utilice estas fórmulas para extraer la hora como un número. Este enfoque es el método principal para el análisis de "Hora del día".
- Formato de 24 horas (0 a 23): Ideal para cálculos y clasificación.
HOUR( TIMEVALUE( date_time - TZoffset ) ) - Formato de 12 horas (1-12): Lo mejor para interacciones de cara al usuario.
IF( OR( HOUR( TIMEVALUE( date_time - TZoffset ) ) = 0, HOUR( TIMEVALUE( date_time - TZoffset ) ) = 12 ), 12, MOD( HOUR( TIMEVALUE( date_time - TZoffset ) ), 12 ) )
Buscar el minuto y el segundo: Utilice estas fórmulas para extraer minutos o segundos (0 a 59). Este enfoque es útil para calcular duraciones precisas, como Tiempo hasta la primera respuesta.
- Minutos:
MINUTE( TIMEVALUE( date_time - TZoffset ) ) - Segundos:
SECOND( TIMEVALUE( date_time - TZoffset ) )
Determinar AM o PM: Utilice esta fórmula para devolver AM o PM como una cadena de texto. Este resultado es útil al crear marcas de tiempo de 12 horas personalizadas para recursos, como plantillas de correo electrónico o informes.
IF(
HOUR( TIMEVALUE( date_time - TZoffset ) ) < 12,
"AM",
"PM"
)
Mostrar tiempo completo como una cadena (HH:MM:SS AM/PM): Cuando desee mostrar la hora en un formato pulido y legible por las personas, como 09:05:30 AM, utilice esta fórmula compuesta. Combina la lógica de las otras fórmulas de esta sección y utiliza LPAD() para garantizar que los valores de hora, minuto y segundo siempre aparecen como dos dígitos (por ejemplo, 09 en vez de 9).
LPAD( TEXT( IF(
OR(
HOUR( TIMEVALUE( date_time - TZoffset ) ) = 0,
HOUR( TIMEVALUE( date_time - TZoffset ) ) = 12
),
12,
MOD( HOUR( TIMEVALUE( date_time - TZoffset ) ), 12 )
) ), 2, "0" )
& ":" &
LPAD( TEXT( MINUTE( TIMEVALUE( date_time - TZoffset ) ) ), 2, "0" )
& ":" &
LPAD( TEXT( SECOND( TIMEVALUE( date_time - TZoffset ) ) ), 2, "0" )
& " " &
IF( HOUR( TIMEVALUE( date_time - TZoffset ) ) < 12, "AM", "PM" )Cómo funciona:
- La función
TIMEVALUE()extrae la parte de tiempo (HH:MM:SS) del campo Fecha/hora. - La resta de la compensación (por ejemplo,
- 5.0/24) cambia la hora GMT a su hora local antes de que se produzca la extracción. - Lógica de 12 horas:
- La función
MOD(..., 12)calcula el resto al dividir la hora por 12 (por ejemplo, 14 se convierte en 2). - La declaración
IFgestiona los casos de borde para Mediodía (12 PM) y Medianoche (0 AM), representándolos como 12 en vez de 0.
- La función
- Las almohadillas de
LPAD(..., 2, "0")de un dígito con un cero inicial, garantizando que las horas tengan un aspecto estándar (por ejemplo, 09:05 en vez de 9:5).
Buscar el tiempo transcurrido entre fechas/horas
La medición de la duración precisa de un flujo de trabajo es necesaria para el seguimiento del rendimiento. Por ejemplo, determinar exactamente cuánto tiempo permanece abierto un caso de asistencia (hasta el minuto) ayuda a aplicar acuerdos de nivel de servicio (SLA). Otro ejemplo es resaltar las brechas de eficiencia realizando un seguimiento del intervalo de tiempo entre la creación de un candidato y la primera actividad de ventas. Estas fórmulas calculan esta duración como un número sencillo o una cadena de texto legible por humanos.
Recuento de días sencillo: Si está calculando la diferencia en días completos, simplemente reste la fecha anterior a la fecha posterior. Este enfoque devuelve un número. Por ejemplo, 1,5 representa 1 día y 12 horas).
later_date - earlier_dateCadena de tiempo transcurrido con formato (días, horas, minutos): Para mostrar la duración en un formato legible como "2 días 4 horas 15 minutos", utilice esta fórmula. Gestiona la conversión de la diferencia de fecha decimal en unidades de tiempo específicas.
IF(
end_date_time - start_date_time > 0 ,
TEXT( FLOOR( end_date_time - start_date_time ) ) & " days "
& TEXT( FLOOR( MOD( (end_date_time - start_date_time ) * 24, 24 ) ) ) & " hours "
& TEXT( FLOOR( MOD( (end_date_time - start_date_time ) * 24 * 60, 60 ) ) ) & " minutes",
""
)
Cómo funciona:
- La instrucción
IFse asegura de que end_date_time es realmente después de start_date_time. Si el resultado es negativo debido a un error de usuario o datos incorrectos, la fórmula devuelve un valor en blanco en vez de una cadena negativa confusa. FLOOR( end_date_time - start_date_time )toma la diferencia total y aísla el entero (número entero) para contar días completos.MOD( (diff) * 24, 24 )toma el decimal restante (el día parcial), lo multiplica por 24 para convertirlo en horas y aísla las horas que no componen un día completo.- La
MOD( (diff) * 24 * 60, 60 )multiplica la diferencia por 1440 (el número de minutos en un día) para obtener el total de minutos, luego utilizaMODpara encontrar los minutos restantes después de eliminar las horas completas. las horas. - El
FLOOR()final mantiene el valor de minutos como un número entero y evita que el componente minutos se redondee al alza a 60.
Buscar el número de horas de oficina entre dos fechas/horas
El seguimiento preciso de acuerdos a nivel de servicio (SLA) a menudo requiere medir la duración en "horario de oficina" en vez de en tiempo de reloj sin procesar. Por ejemplo, considere un caso de asistencia de alta prioridad que llega a las 4:00 PM el viernes y se resuelve a las 10:00 AM el lunes. El tiempo transcurrido real es de 66 horas, pero suponiendo una programación de 9 a 5, la duración comercial es de solo 2 horas. Esta fórmula calcula esa duración comercial específica, excluyendo automáticamente los fines de semana y el horario nocturno no laborable.
ROUND( 8 * (
( 5 * FLOOR( ( end_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00") ) / 7) +
MIN( 5,
FLOOR( MOD( end_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00"), 7) / 1) +
MIN( 1, 24 / 8 * ( MOD( end_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00" ), 1 ) ) )
)
)
-
( 5 * FLOOR( ( start_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00") ) / 7) +
MIN( 5,
FLOOR( MOD( start_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00"), 7) / 1) +
MIN( 1, 24 / 8 * ( MOD( start_date_time -
DATETIMEVALUE( "1900-01-08 17:00:00" ), 1) ) )
)
)
), 2 )Cómo funciona:
- La fórmula mide el tiempo de trabajo que ha transcurrido desde un delimitador histórico fijo para calcular una Puntuación de horario de oficina para las fechas de inicio y finalización. A continuación resta la puntuación de inicio de la puntuación de final para encontrar la diferencia.
- La fórmula se basa en una fecha de referencia fija de 1900-01-08 porque era un lunes. Esta referencia permite cálculos limpios para semanas de trabajo de 5 días.
- La hora 17:00:00 se alinea con el inicio de la jornada laboral. Esta hora corresponde a las 5:00 PM GMT, que es el equivalente a una hora de inicio de las 9:00 AM en la zona horaria del Pacífico (UTC-8).
- Para cambiar la hora o la zona horaria de inicio, calcule su hora de inicio en GMT agregando su compensación de zona horaria a su hora de inicio local. Por ejemplo, si está en Nueva York (UTC-5) y comienza a las 9:00 AM, las matemáticas son 9 + 5 = 14. Sustituya
17:00:00en la fórmula por 14:00:00. Consulte la nota sobre Fecha/hora y zonas horarias en Uso de valores de fecha, fecha/hora y hora en fórmulas para obtener más información.
- Para cambiar la hora o la zona horaria de inicio, calcule su hora de inicio en GMT agregando su compensación de zona horaria a su hora de inicio local. Por ejemplo, si está en Nueva York (UTC-5) y comienza a las 9:00 AM, las matemáticas son 9 + 5 = 14. Sustituya
- La fórmula define la duración de la jornada laboral como 8 horas. La fracción 24 / 8 escala el día parcial para coincidir con la definición del día hábil.
- Si tiene una longitud de turno diferente, como 9 horas, ajuste la fórmula cambiando las tres incidencias de 8 al número apropiado (por ejemplo, 9). Es importante que no cambie el 08 en las cadenas de fecha ya que ese número hace referencia al día del mes.
- La lógica de
MIN( 5, ... )ignora sábado y domingo. Si la puntuación supera 5 días (viernes), limita el valor, poniendo en pausa el reloj de forma efectiva hasta el lunes.

