breadcrumbDescription
Eksempeldatoformler
Brug eksempelformler til at udføre beregninger med dato og tidspunkt.
EditionsHeading
| Tilgængelig i: både Salesforce Classic og Lightning Experience |
| Tilgængelig i: Alle versioner |
Når du arbejder med eksempelformlerne i dette emne, skal du huske på disse overvejelser.
- Hvis du vil undgå syntaksfejl, når du kopierer formler, skal du erstatte:
-
Dato pladsholdere med en reel DATE-værdi, f.eks. et Dato-felt som CloseDate eller
TODAY()-funktionen. -
date_time pladsholdere med en reel dato/tidsværdi, f.eks. CreatedDate eller
NOW(). -
date_1, date_2, earlier_date, later_date, start_date, end_date, start_date_time, end_date_time, num_years og target_date pladsholdere med dine egne felter eller værdier efter behov.
-
- Funktioner som
DAY(),MONTH()ogYEAR()kræver datoinput. Hvis du starter med en dato/tidsværdi, skal du først konvertere den til en dato med funktionenDATEVALUE(). F.eks.DAY( DATEVALUE( date_time )).
Find ud af, om et år er et skudår
Denne formel bestemmer, om et år er et skudår (dvs. at det har 366 dage). Denne logik er vigtig for enhver beregning, der kræver daglig præcision, fra beregning af daglige økonomiske interesser til sporing af medicindoser. Hvis du f.eks. dividerer et årligt beløb med 365 i et skudår, resulterer det i unøjagtige daglige data. Med denne formel kan du dynamisk indstille beregningsnavnet til 365 eller 366 afhængigt af året.
OR(
MOD( YEAR( date ), 400 ) = 0,
AND(
MOD( YEAR( date ), 4 ) = 0,
MOD( YEAR( date ), 100 ) != 0
)
)Sådan fungerer det:
- Et år er et skudår, når det opfylder en af to specifikke betingelser. En betingelse er, at året er perfekt dividerbart med 400 (f.eks. år 2000). Den anden er, at den kan deles med 4, men ikke med 100 (f.eks. er 2024 et skudår, men 1900 var det ikke).
- Funktionen
MOD()beregner resten af en division. HvisMOD( Year, 400 ) = 0, betyder det, at året kan deles med 400 uden rest. - Funktionen
OR()omslutter hele formlen. Hvis en af de to betingelser er sand, returnerer formlenTRUE.
Find ud af, hvilket kvartal en dato er i
Bestemmelse af, hvilket regnskabskvartal en specifik aktivitet falder i, er vigtigt for aktiviteter som f.eks. salgsprognoser, økonomisk rapportering eller ydeevneanalyser. Brug formler til at beregne kvartalet (1-4) for standardår, justerede regnskabsår eller endda til at sammenligne en dato med det aktuelle kvartal.
Standardregnskabsår: Brug denne formel, hvis Q1 begynder i januar.
CEILING( MONTH ( date ) / 3 )Skiftet regnskabsår: Brug denne formel, hvis regnskabsåret starter i en anden måned end januar. Juster –1-værdien i ADDMONTHS(), så den matcher antallet af måneder, det tager at skifte tilbage for at justere med januar. F.eks. skifter formlen som vist 1 måned tilbage for en februarstart.
CEILING( MONTH ( ADDMONTHS ( date, -1 ) ) / 3)Kontroller, om Dato er i det aktuelle (standard)kvartal: Brug denne formel til at returnere TRUE, hvis en dato falder i samme standardkvartal og år som i dag. Denne indstilling er nyttig i situationer som validering af aktuelle kvartalshandler eller forhindring af redigeringer af tidligere registreringer.
AND(
CEILING( MONTH( date ) / 3 ) = CEILING( MONTH( TODAY() ) / 3 ),
YEAR( date ) = YEAR( TODAY() )
)Sådan fungerer det:
- Logikken i disse formler dividerer månedsantallet (1-12) med 3 (antallet af måneder i et kvartal).
-
Funktionen
CEILING()afrunder resultatet op til det nærmeste hele tal. F.eks.: Februar (Måned 2) divideret med 3 er 0,66, hvilket afrundes op til 1 (K). April (Måned 4) divideret med 3 er 1,33, hvilket afrunder op til 2 (kvartal 2). -
For skiftede regnskabsår skifter
ADDMONTHS()næsten datoen tilbage, så beregningen stemmer overens med en januarstart. Hvis du f.eks. fratrækker 1 måned, bliver februar til januar (start af cyklen) på grund af formlen. -
Når du kontrollerer, om en dato er i det indeværende kvartal, bekræfter formlen, at både kvartalet og året matcher
TODAY()for at sikre, at det ikke forkert markerer datoer fra første kvartal af tidligere år som aktuelle.
Find ugen i det år, som en dato er i
Gruppering af registreringer efter uge er et grundlæggende krav for aktiviteter som f.eks. ugentlig salgsrapportering, planlægning af forsyningskæden eller sporing af ressourceanvendelse. Da forskellige organisationer definerer uge 1 forskelligt, leverer Salesforce to metoder: ISO-standarden (bedst til forretningsrapportering) og det absolutte antal (bedst til enkel, lokaliseret årlig statussporing).
ISO-standarduge (anbefales): Brug denne formel til at justere de fleste forretningsrapportering med ISO-8601-standarder. Uger starter altid mandag, og den første uge i året, der indeholder en torsdag, tæller som uge 1.
ISOWEEK( date )Enkel absolut ugeantal: Brug denne formel, hvis din organisation definerer Uge 1 som altid startende den 1. januar, uanset ugedagen. Denne tilgang er nyttig for enkle årlige optællinger, hvor du blot ønsker at vide, hvor mange 7-dages blokke der er gået, siden året startede.
CEILING( ( date - DATE( YEAR( date ), 1, 1) + 1) / 7)Sådan fungerer det:
- ISO Standard Logic: Funktionen
ISOWEEK()er et indbygget værktøj, der automatisk beregner ugeantallet (1-53) baseret på ISO-8601-definitioner. Den håndterer automatisk sager, hvor januar starter i det foregående års sidste uge, eller december slutter i det næste års første uge. - Absolut optællingslogik:
- Formlen
date - DATE( YEAR( date ), 1, 1) + 1beregner årets "dagsantal". F.eks. er den 1. februar den 32. dag. Derefter dividerer den dagsantallet med 7 for at finde ud af, hvor mange uger der er gået. Fortsæt eksemplet: 32/7 = 4.57. CEILING()afrunder resultatet op til det nærmeste hele tal. I dette tilfælde 4.57 runder op til 5, hvilket placerer den 1. februar i uge 5.- Da 365 dage ikke divideres ligeligt med 7 (365 dage ÷ 7 = 52.14), falder de sidste 1 eller 2 dage af året i en delvis uge 53.
- Formlen
Find ud af, om to datoer er i den samme måned
For aktiviteter som kommissionsberegninger, kampagnetildeling eller konsolideret fakturering er det ofte nødvendigt at bestemme, om to begivenheder forekom i den samme regnskabs- eller rapporteringsperiode. Denne formel kontrollerer, om to specifikke datofelter (f.eks. en salgsmulighed CloseDate og en tilpasset Invoice_Date__c) falder inden for den samme kalendermåned.
AND(
MONTH( date_1 ) = MONTH( date_2 ),
YEAR( date_1 ) = YEAR( date_2 )
)Du kan også dynamisk anvende denne logik for at validere, om en dato falder inden for den aktuelle måned i forhold til i dag. Denne tilgang er nyttig til betinget formatering, f.eks. fremhævelse af opgaver, der har tidsfrist denne måned, eller oprettelse af formelflag for "Denne måned"-rapportering, der opdateres automatisk.
AND(
MONTH( date ) = MONTH( TODAY() ),
YEAR( date ) = YEAR( TODAY() )
)
Sådan fungerer det:
- Formlen bruger
MONTH()til at udtrække tallet (1-12) for begge datoer og sammenligner dem. -
Den bruger også
YEAR()til at sikre årens match. Uden dette trin matcher en dato i januar 2024 forkert en dato i januar 2023. -
Funktionen
AND()kræver, at både måned og år skal være identiske for at returnereTRUE.
Find den sidste dag i måneden
Beregning af den sidste dag i måneden er vigtig for anvendelsessituationer med finansiel og kontraktadministration. Almindelige anvendelsessituationer inkluderer angivelse af dynamiske abonnementsslutdatoer, fastsættelse af fakturaforfaldsdatoer eller rapportering om handler, der lukkes i slutningen af måneden. Denne formel forenkler håndtering af 28-, 30- og 31-dages måneder og skudår ved at fratrække en dag fra den første dag i den næste måned.
ADDMONTHS( DATE( YEAR( date ), MONTH( date ), 1 ), 1 ) - 1Sådan fungerer det:
- Formlen
DATE( YEAR( date ), MONTH( date ), 1 )opretter en dato, der er indstillet til den 1. dag i måneden fra dit oprindelige datofelt. ADDMONTHS( ..., 1 )flytter datoen "1. i måneden" frem for nøjagtigt en måned. F.eks. ændring af 1. januar til 1. februar.- Hvis du fratrækker 1 fra den første dag i den næste måned, vender du automatisk datoen tilbage til den sidste gyldige dag i den aktuelle måned. Denne konvertering håndterer automatisk februar 28/29- og 30/31-dagsmåneder korrekt.
Vis måneden som en streng i stedet for et tal
Mens standarddatofelter vises numerisk, f.eks. 01/15/2024, kræver rapportering og kundemæssig kommunikation ofte et mere korrekt format. Denne formel konverterer den numeriske månedsværdi til dens fulde navn, f.eks. Januar. Denne konvertering er nyttig til generering af professionelle sidehoveder (f.eks. "januar 15" i stedet for "1/15") i ressourcer som tilbudsdokumenter, mailskabeloner eller marketingnyhedsbreve.
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",
""
)
Hvis din organisation bruger flere sprog, kan du erstatte månedsnavnene med tilpassede betegnelser, som du kan oversætte. Med denne tilgang opdateres månedsnavnet dynamisk baseret på brugerens sprogindstillinger. Den viser f.eks. "januar" for amerikanske brugere og "januar" for franske brugere.
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,
""
)
Sådan fungerer det:
- Formlen bruger
MONTH()til at udtrække den numeriske måned (1-12) fra datoen. - Funktionen
CASE()sammenligner derefter dette tal med den definerede liste. Hvis måneden er 1, returnerer den den første værdi ("January" eller $Label.Month_of_Year_1); hvis 2, returnerer den den anden værdi osv. - Den endelige linje ("") leverer en standardværdi. Hvis datofeltet er tomt, falder
CASE()gennem denne linje og returnerer en tom tekststreng, så der ikke opstår nogen fejl.
Find og vis dagen i ugen fra en dato
Mens Salesforce lagrer datoer numerisk (f.eks. 2024-12-25), kræver ekstern kommunikation og interne tidsplaner ofte et mere menneskelæsbart format. Denne formel identificerer den specifikke dag i ugen fra et datofelt og konverterer den til tekst (f.eks. "Wednesday"). Denne funktion er nyttig for mailmarketingsskabeloner, hvor du ønsker at gøre hilsenen personlig med noget som "God fredag!" Et andet eksempel på anvendelse er personalerapporter, så du nemt kan finde og filtrere efter weekendaktivitet.
CASE(
WEEKDAY ( date ),
1, "Sunday",
2, "Monday",
3, "Tuesday",
4, "Wednesday",
5, "Thursday",
6, "Friday",
7, "Saturday",
""
)
Hvis din organisation bruger flere sprog, kan du erstatte dagens navn med tilpassede betegnelser, som du kan oversætte. Med denne tilgang kan dagsnavnet ændres dynamisk baseret på brugerens sprogindstillinger (f.eks. visning af "Domingo" for spanske brugere).
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,
""
)
Sådan fungerer det:
- Funktionen
WEEKDAY( date )undersøger datoen og returnerer et tal fra 1 (søndag) til 7 (lørdag). - Funktionen
CASE()sammenligner dette tal med listen over værdier. Hvis den finder en 1, returnerer den den første værdi ("Sunday" eller $Label.Day_of_Week_1). Hvis den finder en 2, returnerer den den anden værdi osv. - Den endelige linje (
"") angiver en standardværdi. Hvis datofeltet er tomt, falderCASE()gennem denne linje og returnerer en tom tekststreng i stedet for en fejl.
Find den næste ugedag efter en dato
Beregning af den specifikke dato for "næste mandag" eller "forestående fredag" er vigtigt for at angive ensartede ugentlige tidsplaner. Måske udfører dit supportteam kvalitetsrevisioner hver fredag, eller faktureringscyklusser starter en mandag. Denne formel beregner automatisk den korrekte kommende dato, uanset registreringens oprettelsesdato.
date + ( target_day - WEEKDAY( date ) +
IF( target_day <= WEEKDAY( date ), 7, 0 ) )
Erstat target_day med det tal, der svarer til den ønskede dag: 1 = Søndag, 2 = Mandag, 3 = Tirsdag, 4 = Onsdag, 5 = Torsdag, 6 = Fredag, 7 = Lørdag.
Sådan fungerer det:
- Formlen beregner mellemrummet mellem target_day (den ønskede dag) og
WEEKDAY( date )(registreringens aktuelle dag). IF()bestemmer, om måldagen er senere i denne uge, eller om den omsluttes til den næste uge.- Senere denne uge: Hvis i dag er mandag (2), og du ønsker fredag (6), er matematikken blot 6 - 2 = 4 dage væk.
IFtilføjer 0. - Tidligere eller i dag: Hvis i dag er fredag (6), og du ønsker mandag (2), er matematikken 2-6 = -4 (der betyder, at mandag var for 4 dage siden). Da målet er "mindre end eller lig med" i dag, tilføjer
IF7 til resultatet: –4 + 7 = 3 dage væk (næste mandag).
- Senere denne uge: Hvis i dag er mandag (2), og du ønsker fredag (6), er matematikken blot 6 - 2 = 4 dage væk.
Find antallet af dage mellem to datoer
Hvis du vil måle effektivitet, f.eks. sporing af salgscyklustiden (lukkedato minus oprettelsesdato) eller tidspunktet for sagsløsning, skal du beregne varigheden mellem to specifikke begivenheder. Disse formler beregner det nøjagtige antal medgåede dage eller markerer automatisk registreringer, der overskrider en bestemt tidstærskel.
Basisvarighedsberegning: Hvis du vil finde det enkle antal dage mellem to specifikke datoer, skal du fratrække den tidligere dato fra den senere dato.
later_date — earlier_dateKontroller, om en dato forekom mere end 30 dage siden: Du kan også bruge datomateriale til at markere registreringer, der er blevet forældede eller forfaldne. Brug f.eks. denne formel til at identificere emner uden aktivitet i en måned eller fakturaer, der er forfaldne. Den returnerer TRUE, hvis datoen er mere end 30 dage i fortiden i forhold til i dag.
( TODAY() - date ) > 30Sådan fungerer det:
- Salesforce lagrer datoer internt som enkle tal (hele tal). Når du fratrækker en dato fra en anden (f.eks.
later_date - earlier_date), beregner Salesforce den enkle forskel mellem disse heltal og returnerer resultatet som et helt antal dage. - I den anden formel trækker
TODAY() - datefeltets dato fra den aktuelle systemdato for at beregne registreringens alder i dage. > 30sammenligner denne alder med din tærskel. Hvis forskellen er på 31 dage eller højere, returnerer formlenTRUE. Ellers returneresFALSE.
Find antallet af ugedage mellem to datoer
For aktiviteter som sporing af antallet af arbejdsdage for at løse en supportsag eller lukke en salgsmulighed, skal du beregne antallet af arbejdsdage (ugedage) mellem to datoer. I modsætning til simpel datoafskrivning, som tæller weekender, sikrer denne formel, at du kun tæller mandag til fredag.
(
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 ) )
)
Sørg for, at end_date er den seneste dato, og at start_date er den tidligere dato for at få et positivt tal.
Sådan fungerer det:
- Formlen beregner en ugedagsscore for end_date og start_date og fratrækker derefter start_date-scoren fra end_date-scoren for at få antallet af ugedage mellem dem.
- Formlen er baseret på en fast referencedato: Mandag den 8. januar 1900. Den bruger en kendt mandag til at fungere som et Dag 0-anker.
FLOOR( ( end_date - ... ) / 7 )ogFLOOR( ( start_date - ... ) / 7 )beregner, hvor mange fulde 7 dages uger der er gået siden referencedatoen. Formlen gange dette antal med 5 for at kreditere fem arbejdsdage for hver fuld uge.- Funktionen
MOD()ser på de resterende dage (0-6) efter de fulde uger er talt med. FunktionenMIN( 5, ... )overskrider antallet af delvise ugedage ved 5, så lørdag og søndag ikke øger ugedagstotalen efter fredag.
Find antallet af måneder mellem to datoer
Aktiviteter som abonnementsstyring eller kontraktfornyelser kræver ofte beregning af antallet af kalendermåneder mellem to datoer. Måske bestemmer du f.eks. varigheden af en flerårig aftale for fakturering eller beregning af medarbejderbeholdning for fordele. Denne formel finder forskellen baseret på måned- og årsværdier og ignorerer den specifikke dag i måneden.
( ( YEAR( later_date ) - YEAR( earlier_date ) ) * 12 ) + (MONTH ( later_date ) - MONTH( earlier_date ) )Sådan fungerer det:
( YEAR( later_date ) - YEAR( earlier_date ) ) * 12beregner forskellen i år mellem de to datoer og gange denne med 12 for at konvertere den til et basislinjeantal måneder.MONTH( later_date ) - MONTH( earlier_date )beregner forskellen mellem månedsnumrene (1-12).- Endelig tilføjer formlen disse to værdier.
Tilføj dage, måneder og år til dato
Beregning af fremtidige datoer er et vigtigt krav til automatisering af arbejdsflow. Disse formler projicerer dynamisk datoer ind i fremtiden. Brug dem f.eks. til aktiviteter som f.eks. angivelse af en opfølgningsopgavedato for 5 dage efter et opkald, fastsættelse af en kontraktudløbsdato eller beregning af en medarbejders viderestillingstidsplan.
Tilføj dage: Hvis du vil planlægge opfølgninger eller tidsfrister på kort sigt, skal du tilføje antallet af dage direkte i datofeltet. Salesforce behandler datoer som heltal, så tilføjelse af 5 øger datoen med 5 dage.
date + 5Tilføj måneder: Brug ADDMONTHS() til tidsplaner på mellemlang sigt, f.eks. kvartalsvise gennemgange eller fornyelser af abonnementer. Denne funktion er smartere end at bruge simpel tilføjelse, da den automatisk håndterer måneder med forskellige længder (28, 30, 31 dage).
ADDMONTHS( date, 1 )Tilføj år: Brug denne formel til beregninger som bestemmelse af varigheder for flerårige aftaler for fakturering eller beregning af medarbejderbeholdning for fordele. Ved at gange antallet af år med 12 kan du bruge ADDMONTHS() logik til at sikre nøjagtige årsregnskaber.
ADDMONTHS( date, 12 * num_years )Erstat num_years med det antal år, du vil tilføje.
Skudår: Hvis du som standard føjer år til et skudår (februar 29), og det fremtidige år ikke er et skudår, returnerer Salesforce den 28. februar. Hvis du har et forretningskrav om, at jubilæet for den 29. februar i stedet er den 1. marts, hvilket er almindeligt i nogle juridiske kontrakter, skal du bruge denne avancerede formel.
ADDMONTHS( date, 12 * num_years ) +
IF(
AND(
DAY( date ) = 29,
DAY( ADDMONTHS( date, 12 * num_years ) ) = 28
),
1,
0
)
Denne logik kontrollerer, om datoen blev justeret til den 28. og tilføjer en dag for at overføre den til den 1. marts.
Sådan fungerer det:
date + 5formlen øger ganske enkelt heltalsværdien af datoen.ADDMONTHS( date, ... )indeholder kalendermåneder. Gange år med 12 (12 * num_years) konverterer år til måneder, så funktionen kan behandle dem.- I formlen for skudår kontrollerer
IF()to betingelser: at den oprindelige dag var den 29. og den beregnede fremtidige dag er den 28. Hvis begge er sande, angiver det systemet justeret for et ikke-prøveår. Formlen tilføjer derefter 1 dag for at overføre datoen til den 1. marts.
Tilføj arbejdsdage til en dato
Beregning af tidsfrister baseret på arbejdsdage er vigtigt for aktiviteter som f.eks. vedligeholdelse af serviceniveauaftaler (SLA'er) eller administration af kundeforventninger. Hvis f.eks. support lover et svar på 3 arbejdsdage, vil tilføjelse af 3 kalenderdage til en fredagsanmodning forkert angive en søndagsperiode (en ikke-arbejdsdag). Denne formel justerer automatisk forfaldsdatoen for at springe over weekender, så du sikrer, at en anmodning altid lander korrekt på en ugedag.
Dette eksempel tilføjer 3 arbejdsdage.
CASE(
WEEKDAY( date ),
4, date + 5,
5, date + 5,
6, date + 5,
7, date + 4,
date + 3
)
Hvis du vil tilføje et andet antal dage, skal du justere logikken i CASE(). Her er f.eks. en justeret formel for 4 arbejdsdage.
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 */
)
Sådan fungerer det:
- Disse formler forudsætter en standardarbejdsuge fra mandag til fredag. De tager ikke højde for specifikke helligdage. Tilgangen i formlerne behandler startdatoen som Dag 0 og tæller kun fremtidige arbejdsdage med.
- Funktionen
CASE()kontrollerer ugedagen for din startdato (WEEKDAY( date )) og tilføjer et bestemt antal kalenderdage for at sikre, at resultatet falder på en gyldig arbejdsdag. - Sådan håndterer 3-dagsformlen justeringer.
- For onsdag (4), torsdag (5), fredag (6): Tilføjelse af 3 arbejdsdage tvinger deadline til en weekenddato. Formlen tilføjer 5 kalenderdage (3 arbejdsdage + 2 weekenddage) for at bygge bro mellem hullerne.
- For lørdag (7): Hvis datoen starter på en lørdag, tilføjer formlen 4 kalenderdage (søndag + mandag/tirsdag/middag) til at slutte onsdag.
- For søndag (1), mandag (2), tirsdag (3): I disse dage vil tilføjelse af 3 arbejdsdage ikke overskride en weekend. Formlen fungerer som standardsagen og tilføjer ganske enkelt 3 kalenderdage.
Find time, minut eller sekunder fra en dato/tid
Udtrækning af specifikke tidskomponenter fra et dato/tidsfelt er vigtigt for detaljeret rapportering og planlægning. Nogle eksempler omfatter markering af supportsager, der er oprettet efter arbejdstider, eller analyse af opkaldsmængdemønstre efter time på dagen for at optimere personalet. Disse formler isolerer den nøjagtige time, minut eller sekund fra et tidsstempel.
- Hvis du er efter GMT, skal du erstatte TZoffset med antallet af timer, du er efter divideret med 24. For eksempel for Eastern Time (UTC-5), skal du bruge værdien 5,0 / 24.
-
Hvis du er før GMT, skal du ændre minustegnet (–) i formlerne med et plustegn (+). Og udskift derefter TZoffset med antallet af timer, du har foran dig divideret med 24. For eksempel for Singapore (UTC+8), brug værdien 8,0 / 24.
Hvis du ønsker yderligere oplysninger, kan du se notatet om dato/tid og tidszoner i Brug af dato-, dato/tids- og tidsværdier i formler.
Find timen: Brug disse formler til at udtrække timen som et tal. Denne tilgang er den primære metode til "Time på dag"-analyser.
- 24-timers format (0-23): Bedst til beregninger og sortering.
HOUR( TIMEVALUE( date_time - TZoffset ) ) - 12-timers format (1-12): Bedst til brugerorienterede interaktioner.
IF( OR( HOUR( TIMEVALUE( date_time - TZoffset ) ) = 0, HOUR( TIMEVALUE( date_time - TZoffset ) ) = 12 ), 12, MOD( HOUR( TIMEVALUE( date_time - TZoffset ) ), 12 ) )
Find minut og sekund: Brug disse formler til at udtrække minutter eller sekunder (0-59). Denne tilgang er nyttig til beregning af præcise varigheder, f.eks. Tid til første svar.
- Minutter:
MINUTE( TIMEVALUE( date_time - TZoffset ) ) - Sekunder:
SECOND( TIMEVALUE( date_time - TZoffset ) )
Bestem AM eller PM: Brug denne formel til at returnere AM eller PM som en tekststreng. Dette output er nyttigt, når der opbygges tilpassede 12-timers tidsstempler for ressourcer, f.eks. mailskabeloner eller rapporter.
IF(
HOUR( TIMEVALUE( date_time - TZoffset ) ) < 12,
"AM",
"PM"
)
Vis fuld tid som en streng (TT:MM:SS AM/PM): Når du ønsker at vise tiden i et poleret, menneskelæseligt format, f.eks. 09:05:30, skal du bruge denne sammensatte formel. Den kombinerer logikken fra de andre formler i dette afsnit og bruger LPAD() til at sikre, at værdierne for time, minut og sekund altid vises som to cifre (f.eks. 09 i stedet for 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" )Sådan fungerer det:
- Funktionen
TIMEVALUE()udtrækker tidsdelen (TT:MM:SS) fra feltet Dato/Tid. - Hvis du fratrækker forskydningen (f.eks.
- 5.0/24), skifter GMT-tidspunktet til din lokale tid, før udtrækningen sker. - 12-timers logik:
- Funktionen
MOD(..., 12)beregner resten ved at dividere timen med 12 (f.eks. 14 bliver 2). IFbehandler kant sager for Midnat (12 PM) og Midnat (0 PM), hvilket repræsenterer dem som 12 i stedet for 0.
- Funktionen
LPAD(..., 2, "0")tæller enkeltcifre med et indledende nul, hvilket sikrer, at tiderne ser standard ud (f.eks. 09:05 i stedet for 9:5).
Find den medgåede tid mellem dato/tider
Måling af den præcise varighed af et arbejdsflow er nødvendig for ydeevnesporing. Hvis du f.eks. bestemmer, hvor længe en supportsag forbliver åben (ned til minuttet), hjælper det med at håndhæve serviceniveauaftaler (SLA'er). Et andet eksempel er fremhævelse af effektivitetsmangler ved at spore tidsforskydningen mellem et emnes oprettelse og den første salgsaktivitet. Disse formler beregner denne varighed som et enkelt tal eller en læselig tekststreng.
Enkelt dagantal: Hvis du beregner forskellen i fulde dage, skal du blot fratrække den tidligere dato fra den senere dato. Denne tilgang returnerer et tal. F.eks. repræsenterer 1,5 1 dag og 12 timer).
later_date - earlier_dateFormateret medgået tidstreng (dage, timer, minutter): Hvis du vil vise varigheden i et læsbart format som "2 dage 4 timer 15 minutter", skal du bruge denne formel. Den håndterer konverteringen af decimaldatoforskellen til specifikke tidsenheder.
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",
""
)
Sådan fungerer det:
IFsikrer, at end_date_time faktisk er efter start_date_time. Hvis resultatet er negativt på grund af en brugerfejl eller dårlige data, returnerer formlen en tom værdi i stedet for en forvirrende negativ streng.FLOOR( end_date_time - start_date_time )tager den samlede forskel og isolerer heltallet (hele tallet) for at tælle fulde dage.MOD( (diff) * 24, 24 )tager den resterende decimal (den delvise dag), ganger den med 24 for at konvertere den til timer og isolerer de timer, der ikke udgør en fuld dag.MOD( (diff) * 24 * 60, 60 )gange forskellen med 1440 (antallet af minutter i en dag) for at få de samlede minutter, og bruger derefterMODtil at finde de resterende minutter efter at have fjernet de fulde timer. tiderne.- Den endelige
FLOOR()bevarer minutværdien som et helt tal og forhindrer, at minutkomponenten afrundes op til 60.
Find antallet af arbejdstimer mellem to dato/timer
Nøjagtig sporing af serviceniveauaftaler (SLA'er) kræver ofte målevarighed i "arbejdstider" snarere end rå urtid. Overvej f.eks. en supportsag med høj prioritet, der ankommer kl. 16.00 på fredag og bliver løst kl. 10:00 på mandag. Den faktiske medgåede tid er 66 timer, men hvis man antager en tidsplan på 9 til 5, er forretningsvarigheden kun 2 timer. Denne formel beregner den specifikke forretningsvarighed, der automatisk udelader weekender og ikke-arbejdstid på aftenen.
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 )Sådan fungerer det:
- Formlen måler den arbejdstid, der er gået siden et fast historisk anker for at beregne en Business Hour Score for start- og slutdatoer. Den fratrækker derefter startscoren fra slutresultatet for at finde forskellen.
- Formlen er baseret på en fast referencedato på 1900-01-08 fordi det var en mandag. Denne reference tillader rene beregninger for 5 dages arbejdsuge.
- Tiden 17:00:00 stemmer overens med starten på arbejdsdagen. Dette tidspunkt svarer til 17:00 GMT, hvilket svarer til et 9:00-starttidspunkt i Pacific Time Zone (UTC-8).
- Hvis du vil ændre starttidspunktet eller tidszonen, skal du beregne dit starttidspunkt i GMT ved at føje din tidszoneforskydning til dit lokale starttidspunkt. Hvis du f.eks. er i New York (UTC-5) og starter kl. 9:00, er matematikken 9 + 5 = 14. Erstat
17:00:00i formlen med 14:00:00. Se notatet om dato/tid og tidszoner i Brug af dato-, dato/tids- og tidsværdier i formler for at få flere oplysninger.
- Hvis du vil ændre starttidspunktet eller tidszonen, skal du beregne dit starttidspunkt i GMT ved at føje din tidszoneforskydning til dit lokale starttidspunkt. Hvis du f.eks. er i New York (UTC-5) og starter kl. 9:00, er matematikken 9 + 5 = 14. Erstat
- Formlen definerer arbejdsdagens længde som 8 timer. 24/8-fraktionen skalerer den delvise dag, så den matcher arbejdsdagsdefinitionen.
- Hvis du har en anden vagtlængde, f.eks. 9 timer, skal du justere formlen ved at ændre de tre forekomster af 8 til det relevante tal (f.eks. 9). Det er vigtigt, at du ikke ændrer 08 i datostrenge, da dette tal refererer til månedsdagen.
MIN( 5, ... )ignorerer lørdag og søndag. Hvis scoren overskrider 5 dage (fredag), overskriver den værdien og sætter klokken på pause indtil mandag.
