Esempi di formule di data
Utilizzare formule di esempio per eseguire calcoli con data e ora.
Versioni (Edition) richieste
| Disponibile in: Salesforce Classic e Lightning Experience |
| Disponibile in: tutte le versioni |
Quando si utilizzano le formule di esempio in questo argomento, tenere presente questa guida.
- Evitare errori di sintassi durante la copia delle formule.
-
Sostituire il segnaposto data con un valore DATA reale, ad esempio un campo Data come CloseDate o la funzione
TODAY(). -
Sostituire il segnaposto date_time con un valore Data/ora reale, ad esempio CreatedDate o
NOW(). -
Sostituire questi segnaposto con i propri campi o valori, a seconda dei casi: date_1, date_2, earlier_date, late_date, start_date, end_date,start_date_time, end_date_time, num_years e target_date.
-
- Considerazioni sui campi Data/ora:
-
Funzioni come
DAY(),MONTH()eYEAR()richiedono l'input Data. Se si inizia con un valore Data/ora, convertirlo prima in Data con la funzioneDATEVALUE(). Ad esempio,DAY( DATEVALUE( date_time )).
-
Come scoprire se un anno è bisestile
Questa formula determina se un anno è bisestile (ovvero ha 366 giorni). Questa logica è fondamentale per qualsiasi calcolo che richieda precisione giornaliera, dal calcolo degli interessi finanziari giornalieri al tracciamento dei dosaggi dei farmaci. Ad esempio, dividendo un ammontare annuale per 365 durante un anno bisestile si ottengono dati giornalieri imprecisi. Con questa formula è possibile impostare dinamicamente il denominatore di calcolo su 365 o 366 a seconda dell'anno.
OR(
MOD( YEAR( date ), 400 ) = 0,
AND(
MOD( YEAR( date ), 4 ) = 0,
MOD( YEAR( date ), 100 ) != 0
)
)Come funziona:
- Un anno è bisestile quando soddisfa una di due condizioni specifiche. Una condizione è che l'anno sia perfettamente divisibile per 400 (ad esempio, l'anno 2000). L'altro è che è divisibile per 4 ma non per 100 (ad esempio, il 2024 è un anno bisestile, ma il 1900 no).
- La funzione
MOD()calcola il resto di una divisione. SeMOD( Year, 400 ) = 0, significa che l'anno è divisibile per 400 senza resto. - La funzione
OR()racchiude l'intera formula. Se una delle due condizioni è vera, la formula restituisceTRUE.
Come scoprire in quale trimestre cade una data
Determinare in quale trimestre fiscale rientra un'attività specifica è essenziale per attività come le previsioni di vendita, i rapporti finanziari o l'analisi delle prestazioni. Utilizzare le formule per calcolare il trimestre (1-4) per gli anni standard, gli anni fiscali rettificati o anche per confrontare una data con il trimestre corrente.
Anno fiscale standard: Utilizzare questa formula se il primo trimestre inizia in gennaio.
CEILING( MONTH ( date ) / 3 )Anno fiscale spostato: Utilizzare questa formula se l'anno fiscale inizia in un mese diverso da gennaio. Modificare il valore –1 in ADDMONTHS() da corrispondere al numero di mesi necessari per tornare indietro e allinearsi a gennaio. Ad esempio, la formula come mostrato torna indietro di 1 mese per un inizio febbraio.
CEILING( MONTH ( ADDMONTHS ( date, -1 ) ) / 3)Verificare se la Data è nel trimestre corrente (standard): Utilizzare questa formula per restituire TRUE se una data cade nello stesso trimestre e anno standard di oggi. Questa opzione è utile in situazioni come la convalida delle trattative trimestrali in corso o l'impedimento delle modifiche ai record precedenti.
AND(
CEILING( MONTH( date ) / 3 ) = CEILING( MONTH( TODAY() ) / 3 ),
YEAR( date ) = YEAR( TODAY() )
)Come funziona:
- La logica di queste formule divide il numero del mese (1-12) per 3 (il numero di mesi in un trimestre).
-
La funzione
CEILING()arrotonda il risultato per eccesso al numero intero più vicino. Ad esempio: Febbraio (mese 2) diviso 3 è 0,66, che viene arrotondato per eccesso a 1 (T1). Aprile (Mese 4) diviso 3 è 1,33, che arrotonda per eccesso a 2 (T2). -
Per gli anni fiscali spostati,
ADDMONTHS()sposta virtualmente la data indietro in modo che il calcolo sia allineato con un inizio di gennaio. Ad esempio, sottraendo 1 mese, febbraio diventa gennaio (l'inizio del ciclo) ai fini della formula. -
Quando si verifica se una data è nel trimestre corrente, la formula verifica che sia il trimestre che l'anno corrispondano a
TODAY()per assicurarsi di non contrassegnare erroneamente come correnti le date del primo trimestre degli anni precedenti.
Come scoprire in quale settimana dell'anno cade una data
Raggruppare i record per settimana è un requisito fondamentale per attività come la creazione di rapporti settimanali sulle vendite, la pianificazione della supply chain o il tracciamento dell'utilizzo delle risorse. Poiché le diverse organizzazioni definiscono la settimana 1 in modo diverso, Salesforce fornisce due metodi: lo standard ISO (ideale per i rapporti aziendali) e il conteggio assoluto (migliore per il tracciamento dell'avanzamento annuale semplice e localizzato).
ISO Standard Week (consigliato): Utilizzare questa formula per allineare la maggior parte dei rapporti aziendali agli standard ISO-8601. Le settimane iniziano sempre il lunedì e la prima settimana dell'anno che contiene un giovedì viene conteggiata come settimana 1.
ISOWEEK( date )Conteggio settimanale assoluto semplice: Utilizzare questa formula se l'organizzazione definisce la settimana 1 come sempre a partire dal 1° gennaio, indipendentemente dal giorno della settimana. Questo approccio è utile per i semplici contatori annuali in cui si desidera semplicemente sapere quanti blocchi di 7 giorni sono trascorsi dall'inizio dell'anno.
CEILING( ( date - DATE( YEAR( date ), 1, 1) + 1) / 7)Come funziona:
- Logica standard ISO: La funzione
ISOWEEK()è uno strumento nativo che calcola automaticamente il numero della settimana (da 1 a 53) in base alle definizioni ISO-8601. Gestisce automaticamente i casi limite in cui gennaio inizia nell'ultima settimana dell'anno precedente o dicembre termina nella prima settimana dell'anno successivo. - Logica del conteggio assoluto:
- Il
date - DATE( YEAR( date ), 1, 1) + 1formula calcola il "numero di giorno" dell'anno. Ad esempio, il 1° febbraio è il 32° giorno. Quindi divide il conteggio dei giorni per 7 per trovare quante settimane sono trascorse. Continuando l'esempio: 32/7 = 4.57. CEILING()arrotonda il risultato per eccesso al numero intero più vicino. In questo caso, 4,57 arrotonda per eccesso a 5, posizionando il 1° febbraio nella settimana 5.- Poiché 365 giorni non vengono divisi equamente per 7 (365 giorni ÷ 7 = 52,14), gli ultimi 1 o 2 giorni dell'anno rientrano in una settimana 53 parziale.
- Il
Come scoprire se due date cadono nello stesso mese
Per attività come il calcolo delle commissioni, l'attribuzione delle campagne o la fatturazione consolidata, è spesso necessario determinare se due eventi si sono verificati nello stesso periodo contabile o di riferimento. Questa formula verifica se due campi data specifici (ad esempio, un campo Opportunity CloseDate e un campo personalizzato Invoice_Date__c) rientrano nello stesso mese di calendario.
AND(
MONTH( date_1 ) = MONTH( date_2 ),
YEAR( date_1 ) = YEAR( date_2 )
)È anche possibile applicare dinamicamente questa logica per verificare se una data rientra nel mese corrente relativo alla data odierna. Questo approccio è utile per la formattazione condizionale, ad esempio per evidenziare le operazioni in scadenza questo mese o per creare flag formula per i rapporti "This Month" che si aggiornano automaticamente.
AND(
MONTH( date ) = MONTH( TODAY() ),
YEAR( date ) = YEAR( TODAY() )
)
Come funziona:
- La formula utilizza
MONTH()per estrarre il numero (1–12) per entrambe le date e confrontarle. -
Utilizza anche
YEAR()per garantire la corrispondenza degli anni. Senza questo passaggio, una data di gennaio 2024 corrisponde erroneamente a una data di gennaio 2023. -
La funzione di
AND()richiede che sia il mese che l'anno siano identici aiTRUErestituiti.
Come individuare l'ultimo giorno del mese
Il calcolo dell'ultimo giorno del mese è essenziale per i casi d'uso finanziari e di gestione dei contratti. I casi d'uso comuni includono l'impostazione di date di fine abbonamento dinamiche, la determinazione delle scadenze delle fatture o la creazione di rapporti sulle trattative che si chiudono alla fine del mese. Questa formula semplifica la gestione dei mesi di 28, 30 e 31 giorni e degli anni bisestili sottraendo un giorno dal primo giorno del mese successivo.
ADDMONTHS( DATE( YEAR( date ), MONTH( date ), 1 ), 1 ) - 1Come funziona:
- Il
DATE( YEAR( date ), MONTH( date ), 1 )formula crea una data impostata sul 1° giorno del mese dal campo data originale. ADDMONTHS( ..., 1 )sposta la data "1° del mese" esattamente avanti di un mese. Ad esempio, modificando il 1° gennaio al 1° febbraio.- Sottraendo 1 dal primo giorno del mese successivo, la data viene automaticamente invertita all'ultimo giorno valido del mese corrente. Questa conversione gestisce automaticamente i mesi di giorno 28/29 e 30/31 febbraio in modo corretto.
Mostra il mese come stringa anziché come numero
Mentre i campi data standard vengono visualizzati numericamente, ad esempio 15/01/2024, i rapporti e le comunicazioni indirizzate ai clienti spesso richiedono un formato più preciso. Questa formula converte il valore numerico del mese nel nome a testo completo, ad esempio gennaio. Questa conversione è utile per generare intestazioni professionali (ad esempio "15 gennaio" anziché "15/1") in risorse come documenti di preventivo, modelli di email o newsletter di 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",
""
)
Se l'organizzazione utilizza più lingue, sostituire i nomi dei mesi con etichette personalizzate che è possibile tradurre. Con questo approccio, il nome del mese viene aggiornato dinamicamente in base alle impostazioni della lingua dell'utente. Ad esempio, mostra "Gennaio" per gli utenti degli Stati Uniti e "Janvier" per gli utenti francesi.
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,
""
)
Come funziona:
- La formula utilizza la funzione
MONTH()per estrarre il mese numerico (1-12) dalla data. - La funzione
CASE()confronta quindi quel numero con l'elenco definito. Se il mese è 1, restituisce il primo valore ("Gennaio" o $Label.Month_of_Year_1); se 2, restituisce il secondo valore e così via. - La riga finale ("") fornisce un valore predefinito. Se il campo data è vuoto, l'istruzione
CASE()passa attraverso questa riga e restituisce una stringa di testo vuota, assicurando che non si verifichi alcun errore.
Ricerca e visualizzazione del giorno della settimana a partire da una data
Mentre Salesforce memorizza le date numericamente (ad esempio 2024-12-25), le comunicazioni esterne e le pianificazioni interne spesso richiedono un formato più leggibile. Questa formula identifica il giorno specifico della settimana da un campo data e lo converte in testo (ad esempio, "mercoledì"). Questa funzione è utile per i modelli di email marketing in cui si desidera personalizzare il saluto con qualcosa come "Buon venerdì!" Un altro esempio di caso d'uso sono i rapporti sul personale, che consentono di individuare e filtrare facilmente le attività del fine settimana.
CASE(
WEEKDAY ( date ),
1, "Sunday",
2, "Monday",
3, "Tuesday",
4, "Wednesday",
5, "Thursday",
6, "Friday",
7, "Saturday",
""
)
Se l'organizzazione utilizza più lingue, sostituire il nome del giorno con etichette personalizzate traducibili. Con questo approccio, il nome del giorno può cambiare dinamicamente in base alle impostazioni della lingua dell'utente (ad esempio, visualizzare "Domingo" per le impostazioni internazionali spagnole).
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,
""
)
Come funziona:
- La funzione
WEEKDAY( date )esamina la data e restituisce un numero da 1 (domenica) a 7 (sabato). - La funzione
CASE()confronta il numero con l'elenco di valori. Se trova un 1, restituisce il primo valore ("Domenica" o $Label.Day_of_Week_1). Se trova un 2, restituisce il secondo valore e così via. - La riga finale (
"") fornisce un valore predefinito. Se il campo data è vuoto, l'istruzioneCASE()passa attraverso questa riga e restituisce una stringa di testo vuota anziché un errore.
Come individuare il giorno successivo della settimana dopo una data
Il calcolo della data specifica del "lunedì successivo" o del "venerdì imminente" è importante per impostare pianificazioni settimanali coerenti. Ad esempio, è possibile che il team di assistenza esegua controlli di qualità ogni venerdì o che i cicli di fatturazione inizino di lunedì. Questa formula calcola automaticamente la data imminente corretta indipendentemente dalla data di creazione del record.
date + ( target_day - WEEKDAY( date ) +
IF( target_day <= WEEKDAY( date ), 7, 0 ) )
Sostituire target_day con il numero corrispondente al giorno desiderato: 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday.
Come funziona:
- La formula calcola lo scarto tra target_day (il giorno desiderato) e
WEEKDAY( date )(il giorno corrente del record). - L'istruzione
IF()determina se il giorno di destinazione è la fine di questa settimana o se viene riportato alla settimana successiva.- Alla fine di questa settimana: Se oggi è lunedì (2) e si desidera venerdì (6), la matematica è semplicemente 6 - 2 = 4 giorni di distanza. Il
IFaggiunge 0. - Passato o oggi: Se oggi è venerdì (6) e si desidera lunedì (2), la matematica è 2 – 6 = –4 (ovvero lunedì era 4 giorni fa). Poiché l'obiettivo è "minore o uguale a" oggi, l'istruzione
IFaggiunge 7 al risultato: –4 + 7 = 3 giorni di distanza (il lunedì successivo).
- Alla fine di questa settimana: Se oggi è lunedì (2) e si desidera venerdì (6), la matematica è semplicemente 6 - 2 = 4 giorni di distanza. Il
Come trovare il numero di giorni tra due date
Per misurare l'efficienza, ad esempio il tracciamento del tempo del ciclo di vendita (Data chiusura meno Data creazione) o del tempo di risoluzione dei casi, calcolare la durata tra due eventi specifici. Queste formule calcolano il numero esatto di giorni trascorsi o segnalano automaticamente i record che superano una soglia di tempo specifica.
Calcolo della durata di base: Per trovare il numero semplice di giorni tra due date specifiche, sottrarre la data precedente dalla data successiva.
later_date — earlier_dateVerifica se una data si è verificata più di 30 giorni fa: È anche possibile utilizzare la matematica delle date per segnalare i record scaduti o obsoleti. Ad esempio, utilizzare questa formula per identificare i lead senza attività in un mese o le fatture scadute. Restituisce TRUE se la data è passata di oltre 30 giorni rispetto alla data odierna.
( TODAY() - date ) > 30Come funziona:
- Salesforce memorizza le date internamente come numeri semplici (interi). Quando si sottrae una data da un'altra (ad esempio,
later_date - earlier_date), Salesforce calcola la differenza semplice tra questi interi, restituendo il risultato come numero intero di giorni. - Nella seconda formula,
TODAY() - datesottrae la data del campo dalla data di sistema corrente per calcolare la durata del record in giorni. - L'operatore
> 30confronta tale età con la soglia. Se la differenza è pari o superiore a 31 giorni, la formula restituisceTRUE. In caso contrario, restituisceFALSE.
Come trovare il numero di giorni della settimana tra due date
Per attività come il tracciamento del numero di giorni lavorativi per risolvere un caso di assistenza o chiudere un'opportunità di vendita, calcolare il numero di giorni lavorativi (giorni feriali) tra due date. A differenza della semplice sottrazione di date, che conta i fine settimana, questa formula garantisce il conteggio solo dal lunedì al venerdì.
(
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 ) )
)
Assicurarsi che end_date sia la data successiva e start_date sia la data precedente per ottenere un numero positivo.
Come funziona:
- La formula calcola un punteggio del giorno della settimana per end_date e start_date, quindi sottrae il punteggio start_date dal punteggio end_date per ottenere il numero di giorni della settimana tra i due.
- La formula si basa su una data di riferimento fissa: Lunedì 8 gennaio 1900. Utilizza un lunedì noto per fungere da anchor del giorno 0.
FLOOR( ( end_date - ... ) / 7 )eFLOOR( ( start_date - ... ) / 7 )calcolano quante settimane complete di 7 giorni sono trascorse dalla data di riferimento. La formula moltiplica questo conteggio per 5 per accreditare cinque giorni lavorativi per ogni settimana intera.- La funzione
MOD()esamina i giorni rimanenti (0–6) dopo il conteggio delle settimane complete. La funzioneMIN( 5, ... )limita il conteggio parziale dei giorni della settimana a 5 in modo che sabato e domenica non aumentino il totale dei giorni della settimana dopo il venerdì.
Come trovare il numero di mesi tra due date
Attività come la gestione degli abbonamenti o i rinnovi dei contratti spesso richiedono il calcolo del numero di mesi di calendario tra due date. Ad esempio, si potrebbe determinare la durata di un accordo pluriennale per la fatturazione o calcolare il mandato dei dipendenti per le prestazioni. Questa formula trova la differenza in base ai valori di mese e anno, ignorando il giorno specifico del mese.
( ( YEAR( later_date ) - YEAR( earlier_date ) ) * 12 ) + (MONTH ( later_date ) - MONTH( earlier_date ) )Come funziona:
( YEAR( later_date ) - YEAR( earlier_date ) ) * 12calcola la differenza in anni tra le due date e la moltiplica per 12 per convertirla in un numero di mesi di riferimento.MONTH( later_date ) - MONTH( earlier_date )calcola la differenza tra i numeri dei mesi (1–12).- Infine, la formula somma questi due valori.
Aggiunta di giorni, mesi e anni a una data
Il calcolo delle date future è un requisito importante per l'automazione del flusso di lavoro. Queste formule proiettano dinamicamente le date nel futuro. Ad esempio, utilizzarli per attività come l'impostazione di una scadenza operazione di follow-up per 5 giorni dopo una chiamata, la determinazione di una data di scadenza del contratto o il calcolo della pianificazione di assegnazione di un dipendente.
Aggiungi giorni: Per pianificare follow-up o scadenze a breve termine, aggiungere il numero di giorni direttamente al campo data. Salesforce considera le date come interi, quindi aggiungendo 5 la data aumenta di 5 giorni.
date + 5Aggiungi mesi: Per le pianificazioni a medio termine come le revisioni trimestrali o i rinnovi degli abbonamenti, utilizzare ADDMONTHS(). Questa funzione è più intelligente dell'utilizzo della semplice aggiunta perché gestisce automaticamente mesi di durata diversa (28, 30, 31 giorni).
ADDMONTHS( date, 1 )Aggiungi anni:
Utilizzare questa formula per calcoli come la determinazione della durata pluriennale degli accordi per la fatturazione o il calcolo del mandato dei dipendenti per le prestazioni. Moltiplicando il numero di anni per 12, è possibile utilizzare la logica di ADDMONTHS() per garantire calcoli accurati anno su anno.
ADDMONTHS( date, 12 * num_years )Sostituire num_years con il numero di anni che si desidera aggiungere.
Anni bisestili: Per impostazione predefinita, se si aggiungono anni a un anno bisestile (29 febbraio) e l'anno futuro non è bisestile, Salesforce restituisce il 28 febbraio. Se si ha un requisito aziendale che prevede invece che l'anniversario del 29 febbraio cada il 1° marzo, cosa comune in alcuni contratti legali, utilizzare questa formula avanzata.
ADDMONTHS( date, 12 * num_years ) +
IF(
AND(
DAY( date ) = 29,
DAY( ADDMONTHS( date, 12 * num_years ) ) = 28
),
1,
0
)
Questa logica verifica se la data è stata rettificata al 28 e aggiunge un giorno per spostarla al 1° marzo.
Come funziona:
- La formula
date + 5aumenta semplicemente il valore intero della data. - La formula
ADDMONTHS( date, ... )aggiunge i mesi di calendario. Moltiplicando gli anni per 12 (12 * num_years) si convertono gli anni in mesi in modo che la funzione possa elaborarli. - Nella formula dell'anno bisestile, l'istruzione
IF()verifica due condizioni: che il giorno originale sia il 29 e che il giorno futuro calcolato sia il 28. Se entrambi sono veri, indica che il sistema è stato rettificato per un anno non bisestile. La formula aggiunge quindi 1 giorno per spostare la data al 1° marzo.
Aggiunta di giorni lavorativi a una data
Il calcolo delle scadenze in base ai giorni lavorativi è fondamentale per attività come il mantenimento dei contratti sui livelli di servizio (SLA) o la gestione delle aspettative dei clienti. Ad esempio, se l'assistenza promette una risposta di 3 giorni lavorativi, la semplice aggiunta di 3 giorni di calendario a una richiesta di venerdì imposta erroneamente una scadenza domenicale (un giorno non lavorativo). Questa formula rettifica automaticamente la data di scadenza per saltare i fine settimana, assicurandosi che una richiesta arrivi sempre correttamente in un giorno della settimana.
Questo esempio aggiunge 3 giorni lavorativi.
CASE(
WEEKDAY( date ),
4, date + 5,
5, date + 5,
6, date + 5,
7, date + 4,
date + 3
)
Per aggiungere un numero diverso di giorni, modificare la logica all'interno dell'estratto CASE(). Ad esempio, ecco una formula rettificata per 4 giorni lavorativi.
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 */
)
Come funziona:
- Queste formule presumono una settimana lavorativa standard da lunedì a venerdì. Non rappresentano giorni festivi specifici. L'approccio nelle formule considera la data iniziale come Giorno 0 e conta solo i giorni lavorativi futuri.
- La funzione
CASE()controlla il giorno della settimana della data iniziale (WEEKDAY( date )) e aggiunge un numero specifico di giorni di calendario per garantire che il risultato arrivi in un giorno lavorativo valido. - Di seguito viene descritto come la formula dei 3 giorni lavorativi gestisce le rettifiche.
- Per mercoledì (4), giovedì (5), venerdì (6): L'aggiunta di 3 giorni lavorativi forza la scadenza a una data del fine settimana. La formula aggiunge 5 giorni di calendario (3 giorni lavorativi + 2 giorni del fine settimana) per colmare il divario.
- Per sabato (7): Se la data inizia di sabato, la formula aggiunge 4 giorni di calendario (domenica + lunedì/martedì/mercoledì) al mercoledì.
- Per domenica (1), lunedì (2), martedì (3): Per questi giorni, l'aggiunta di 3 giorni lavorativi non attraversa un fine settimana. La formula funge da caso predefinito e aggiunge semplicemente 3 giorni di calendario.
Come individuare l'ora, il minuto o il secondo a partire da una data/ora
L'estrazione di componenti orari specifici da un campo Data/ora è importante per la creazione di rapporti e la pianificazione granulari. Alcuni esempi includono la segnalazione dei casi di assistenza creati dopo l'orario di ufficio o l'analisi degli schemi di volume delle chiamate in base all'ora del giorno per ottimizzare il personale. Queste formule isolano l'ora, il minuto o il secondo esatto da un'indicazione oraria.
- Se si è in ritardo rispetto al fuso orario GMT, sostituire TZoffset con il numero di ore in ritardo diviso per 24. Ad esempio, per Eastern Time (UTC-5), utilizzare il valore 5.0 / 24.
-
Se si è in anticipo rispetto al fuso orario GMT, modificare il segno meno (–) nelle formule con un segno più (+). Quindi, sostituire TZoffset con il numero di ore in anticipo diviso per 24. Ad esempio, per Singapore (UTC+8), utilizzare il valore 8,0/24.
Per ulteriori informazioni, vedere la nota su Data/ora e fusi orari in Utilizzo di data, data/ora e valori di ora nelle formule.
Trova l'ora: Utilizzare queste formule per estrarre l'ora come numero. Questo approccio è il metodo principale per l'analisi "Time of Day".
- Formato 24 ore (0–23): Ideale per calcoli e ordinamento.
HOUR( TIMEVALUE( date_time - TZoffset ) ) - Formato 12 ore (1-12): Ideale per le interazioni rivolte agli utenti.
IF( OR( HOUR( TIMEVALUE( date_time - TZoffset ) ) = 0, HOUR( TIMEVALUE( date_time - TZoffset ) ) = 12 ), 12, MOD( HOUR( TIMEVALUE( date_time - TZoffset ) ), 12 ) )
Trova il minuto e il secondo: Utilizzare queste formule per estrarre minuti o secondi (0-59). Questo approccio è utile per calcolare durate precise, ad esempio Tempo alla prima risposta.
- Minuti:
MINUTE( TIMEVALUE( date_time - TZoffset ) ) - Secondi:
SECOND( TIMEVALUE( date_time - TZoffset ) )
Determinare AM o PM: Utilizzare questa formula per restituire AM o PM come stringa di testo. Questo output è utile quando si creano indicazioni orarie personalizzate di 12 ore per risorse come modelli di email o rapporti.
IF(
HOUR( TIMEVALUE( date_time - TZoffset ) ) < 12,
"AM",
"PM"
)
Mostra tempo pieno come stringa (HH:MM:SS AM/PM): Quando si desidera visualizzare l'ora in un formato lucido e leggibile, ad esempio 09:05:30, utilizzare questa formula composta. Combina la logica delle altre formule di questa sezione e utilizza LPAD() per garantire che i valori di ora, minuto e secondo vengano sempre visualizzati come due cifre (ad esempio, 09 anziché 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" )Come funziona:
- La funzione
TIMEVALUE()estrae la parte temporale (HH:MM:SS) dal campo Data/ora. - Sottraendo l'offset (ad esempio,
- 5.0/24) si sposta l'ora GMT all'ora locale prima dell'estrazione. - Logica 12 ore:
- La funzione
MOD(..., 12)calcola il resto quando si divide l'ora per 12 (ad esempio, 14 diventa 2). - L'istruzione
IFgestisce i casi limite per mezzogiorno (12) e mezzanotte (0 AM), rappresentandoli come 12 anziché come 0.
- La funzione
- Il
LPAD(..., 2, "0")inserisce le cifre singole con uno zero iniziale, assicurando che gli orari siano standard (ad esempio, 09:05 anziché 9:5).
Come calcolare il tempo trascorso tra date/ore
La misurazione della durata esatta di un flusso di lavoro è necessaria per il tracciamento delle prestazioni. Ad esempio, determinare esattamente per quanto tempo un caso di assistenza rimane aperto (fino al minuto) consente di applicare i contratti sui livelli di servizio (SLA). Un altro esempio consiste nell'evidenziare le lacune di efficienza monitorando l'intervallo di tempo tra la creazione di un lead e la prima attività di vendita. Queste formule calcolano questa durata come numero semplice o stringa di testo in formato leggibile.
Numero di giorni semplice: Se si calcola la differenza in giorni interi, è sufficiente sottrarre la data precedente dalla data successiva. Questo approccio restituisce un numero. Ad esempio, 1,5 rappresenta 1 giorno e 12 ore).
later_date - earlier_dateStringa del tempo trascorso formattata (giorni, ore, minuti): Per visualizzare la durata in un formato leggibile come "2 giorni 4 ore 15 minuti", utilizzare questa formula. Gestisce la conversione della differenza di data decimale in unità di tempo specifiche.
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",
""
)
Come funziona:
- L'istruzione
IFassicura che end_date_time sia effettivamente dopo start_date_time. Se il risultato è negativo a causa di un errore dell'utente o di dati errati, la formula restituisce un valore vuoto anziché una stringa negativa confusa. FLOOR( end_date_time - start_date_time )prende la differenza totale e isola l'intero (numero intero) per conteggiare i giorni interi.MOD( (diff) * 24, 24 )prende il decimale rimanente (il giorno parziale), lo moltiplica per 24 per convertirlo in ore e isola le ore che non costituiscono una giornata intera.MOD( (diff) * 24 * 60, 60 )moltiplica la differenza per 1440 (numero di minuti in un giorno) per ottenere i minuti totali, quindi utilizzaMODper trovare i minuti rimanenti dopo aver rimosso le ore intere.- Il
FLOOR()finale mantiene il valore dei minuti come numero intero e impedisce che il componente dei minuti venga arrotondato per eccesso a 60.
Come trovare il numero di ore lavorative tra due date/ore
Il tracciamento preciso dei contratti sui livelli di servizio (SLA) spesso richiede la misurazione della durata in "orario di ufficio" anziché in orario grezzo. Si consideri ad esempio un caso di assistenza con priorità alta che arriva alle 16:00 del venerdì e viene risolto alle 10:00 del lunedì. Il tempo effettivo trascorso è di 66 ore, ma presupponendo una pianificazione da 9 a 5, la durata dell'attività è di sole 2 ore. Questa formula calcola la durata specifica dell'attività, escludendo automaticamente i fine settimana e le ore serali non lavorative.
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 )Come funziona:
- La formula misura il tempo di lavoro trascorso da un anchor storico fisso per calcolare un Business Hour Score per la data iniziale e finale. Quindi sottrae il punteggio iniziale dal punteggio finale per trovare la differenza.
- La formula si basa su una data di riferimento fissa 1900-01-08 perché era un lunedì. Questo riferimento consente calcoli puliti per le settimane lavorative di 5 giorni.
- L'ora 17:00:00 corrisponde all'inizio della giornata lavorativa. Questa ora corrisponde alle 17:00 GMT, che è l'equivalente di un'ora di inizio alle 9:00 nel fuso orario del Pacifico (UTC-8).
- Per modificare l'ora di inizio o il fuso orario, calcolare l'ora di inizio in GMT aggiungendo lo spostamento del fuso orario all'ora di inizio locale. Ad esempio, se ci si trova a New York (UTC-5) e si inizia alle 9:00, la matematica è 9 + 5 = 14. Sostituire
17:00:00nella formula con 14:00:00. Per ulteriori informazioni, vedere la nota su Data/ora e fusi orari in Utilizzo di data, data/ora e valori ora nelle formule.
- Per modificare l'ora di inizio o il fuso orario, calcolare l'ora di inizio in GMT aggiungendo lo spostamento del fuso orario all'ora di inizio locale. Ad esempio, se ci si trova a New York (UTC-5) e si inizia alle 9:00, la matematica è 9 + 5 = 14. Sostituire
- La formula definisce la durata della giornata lavorativa come 8 ore. La frazione 24/8 scala la giornata parziale in modo che corrisponda alla definizione della giornata lavorativa.
- Se la durata del turno è diversa, ad esempio 9 ore, modificare la formula modificando le tre occorrenze di 8 con il numero appropriato (ad esempio, 9). È importante non modificare il valore 08 nelle stringhe di data poiché quel numero si riferisce al giorno del mese.
- La logica di
MIN( 5, ... )ignora il sabato e la domenica. Se il punteggio supera i 5 giorni (venerdì), limita il valore, mettendo in pausa l'orologio fino al lunedì.

