Hoppa till huvudinnehåll

Hur kontrollerar jag om ett datum är allmän helgdag och räknar dagar utom helgdagar i Excel?

Du har till exempel en lista med datum och vill kontrollera om det finns helgdagar i listan, hur kan du få det gjort snabbt? I den här artikeln visar jag hur du kan beräkna alla datum för amerikanska helgdagar inom givna år och sedan kontrollera om ett datum är en amerikansk helgdag i Excel enkelt.


Del 1: Beräkna helgdagar med angivet år i Excel

Innan du kontrollerar om ett datum är en allmän helgdag måste du lista alla helgdagar inom givna år i Excel. Därför förbereder du ett bord enligt följande skärmdump kommer att göra ditt arbete enklare.

dok. kontrollera om allmän helgdag 1

Det finns tre typer av amerikanska helgdagar:

(1) Den första typen är en allmän helgdag på ett fast datum, till exempel nyårsdagen är den 1 januari. vi kan enkelt beräkna nyårsdagen med formeln = DATUM (givet år, 1,1);

(2) Den andra typen är en allmän helgdag på en fast vardag, såsom presidentens dag. Vi kan enkelt beräkna presidentdagen med formeln = DATUM (given år, 1,1) + 14 + VÄLJ (VECKODAG (DATUM (given år, 1,1)), 1,0,6,5,4,3,2);

(3) Och den sista typen är Memorial Day, vi kan enkelt beräkna Memorial Day med formeln = DATUM (given år, 6,1) -WEEKDAY (DATE (given år, 6,6)).

Här listar jag formler för att beräkna alla helgdagar i följande tabell. Ange bara formlerna i rätt cell och tryck på ange nyckel en efter en.

Semester Cell Formler
Nyårsdagen C2 = DATUM (C1,1,1)
Martin Luther King Jr. Day C3 = DATUM (C1,1,1) + 14 + VÄLJ (VECKODAG (DATUM (C1,1,1)), 1,0,6,5,4,3,2)
Presidentens dag C4 = DATUM (C1,2,1) + 14 + VÄLJ (VECKODAG (DATUM (C1,2,1)), 1,0,6,5,4,3,2)
MINNESDAGEN C5 = DATUM (C1,6,1) -VECKODAG (DATUM (C1,6,6))
SJÄLVSTÄNDIGHETSDAGEN C6 = DATUM (C1,7,4)
Labor Day C7 = DATUM (C1,9,1) + VÄLJ (VECKODAG (DATUM (C1,9,1)), 1,0,6,5,4,3,2)
Columbus Day C8 = DATUM (C1,10,1) + 7 + VÄLJ (VECKODAG (DATUM (C1,10,1)), 1,0,6,5,4,3,2)
Veterans Day C9 = DATUM (C1,11,11)
Thanksgiving Day C10 = DATUM (C1,11,1) + 21 + VÄLJ (VECKODAG (DATUM (C1,11,1)), 4,3,2,1,0,6,5)
JULDAGEN C11 = DATUM (C1,12,25)

Notera: I formlerna i ovanstående tabell är C1 referenscellen som lokaliserar det angivna året. I vårt exempel betyder det år 2015, och du kan ändra det baserat på dina behov.

Med dessa formler kan du enkelt beräkna datum för helgdagar med givna år. Se skärmdump nedan:

dok. kontrollera om allmän helgdag 2

Spara ett intervall som AutoText-post (återstående cellformat och formler) för återanvändning i framtiden

Det måste vara mycket tråkigt att hänvisa celler och tillämpa formler för att beräkna varje helgdag. Kutools för Excel ger en söt lösning på Automatisk text verktyg för att spara intervallet som en AutoText-post, som kan förbli cellformaten och formlerna i intervallet. Och sedan kommer du att återanvända detta intervall med bara ett klick. Arbetet blir enkelt genom att bara klicka för att infoga den här tabellen och ändra året i denna tabell!


ad auto amerikanska helgdagar 1

Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av en fullfjädrad 30-dagars GRATIS provperiod utan behov av kreditkort! Hämta den nu

Del 2: Kontrollera om ett datum är helgdag i Excel

Efter att ha listat alla datum för helgdagar för specifika år kan vi enkelt kontrollera om ett datum är helgdag eller inte med formler i Excel. Antag att du har en datumlista som följande skärmdump visas, och jag kommer att presentera sätten att få det gjort enkelt.

Välj en tom cell förutom datumlistan, säger Cell B18, ange formeln = IF (COUNTIF ($ C $ 2: $ D $ 11, A18), "Holiday", "No") in den och dra sedan Fill Handle till det intervall du behöver. Se skärmdump ovan:

Anmärkningar:

(1) I formeln = IF (COUNTIF ($ C $ 2: $ D $ 11, A18), "Holiday", "No") är $ C $ 2: $ D $ 11 utbudet av allmänna helgdagar under specifika år, och A18 är cellen med datum som du vill kontrollera om det är en helgdag och du kan ändra dem baserat på dina behov. Och den här formeln returnerar "Semester" om det specifika datumet är en allmän helgdag och returnerar "Nej" om det inte är det.

(2) Du kan också använda denna matrisformel = OM (ELLER ($ C $ 2: $ D $ 11 = A18), "Holiday", "NO") för att kontrollera om motsvarande datum är semester eller inte.


Del 3: Räkna dagar mellan två dagar utom helger och helgdagar i Excel

I del 1 har vi listat alla helgdagar under ett visst år, och nu kommer den här metoden att vägleda dig att räkna antalet dagar utom alla helger och helgdagar i ett datumintervall.

Välj en tom cell som du returnerar antalet dagar och ange formeln = NÄTVERKSDAGAR (E1, E2, B2: B10) in i den och tryck på ange nyckel.

Anmärkningar: I ovanstående celler är E1 startdatumet för det angivna datumintervallet, E2 är slutdatumet, och B2: B10 är den semesterlista vi beräknar i del 1.

dok. kontrollera om allmän helgdag 6

Nu får du antalet dagar utom helger och helgdagar i det angivna datumintervallet.

Kopiera formler exakt / statiskt utan att ändra cellreferenser i Excel

Kutools för Excel Exakt kopia verktyget kan hjälpa dig att enkelt kopiera flera formler exakt utan att ändra cellreferenser i Excel, vilket förhindrar att relativa cellreferenser uppdateras automatiskt.


annonsens exakta kopieringsformler 3

Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av en fullfjädrad 30-dagars GRATIS provperiod utan behov av kreditkort! Hämta den nu

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Like the Observed Holiday, I need to also recognize additional days off outside of the Holiday or observed holidays. Example: If Christmas is on a Friday, I need to calculate the days before and after (until New Years) off.
This comment was minimized by the moderator on the site
How would you calculate 15 calendar days from a given date including weekends but excluding holidays using a list/table of holiday dates?
This comment was minimized by the moderator on the site
How to make it show the actual name of the holiday instead of just "holiday"?
This comment was minimized by the moderator on the site
Hi KC,
You can change the text “holiday” to INDEX($A$1:$A$11,MATCH(A18,$C$1:$C$11,0)) in the formula, and the whole formula will be changed to
=IF(COUNTIF($C$2:$C$11,A18),INDEX($A$1:$A$11,MATCH(A18,$C$1:$C$11,0)),"No")

Please note that the dates you will check should be placed in one column.
This comment was minimized by the moderator on the site
Thanks, I have worked out a system to determine whether a public holiday is a weekday, but this also gives an alternative. The problem is that if one does it per month, then there are gaps between days where public holidays occur during weekdays. An example as below taking part of December 2017. the figures to immediate right of dates (Col B) are the WEEKDAY values. If date falls on a Saturday or Sunday (value 6 or 7) then the C Column reflects a blank cell ("") if a weekday the Cell has a "1", if a Public Holiday during a weekday then a "0" 21/12/2017 4 1 22/12/2017 5 1 23/12/2017 6 24/12/2017 7 25/12/2017 1 0 26/12/2017 2 0 27/12/2017 3 1 28/12/2017 4 1 29/12/2017 5 1 30/12/2017 6 31/12/2017 7 I can then sort manually using the Filter approach to get the 1's in one continuous column of rows without the blanks or 0's. Copy and paste to a worksheet where I can import the data into the temperature charts. I am trying to get the filter section automated either via formula by deleting all the 0's and blank cells with the resultant shifting up of cells containing the 1's, or via VBA. The ultimate prize would be combining the steps in Column A and Column C into one formula. The end game is to populate a temperature chart with the workday name and in the next corresponding row the day of the required month Mon Tue Thu Fri 7 8 10 11 Using August as an example where the 9th is a public holiday that falls during a work day, resulting in the data relating to the Wed being removed and the rest of the column shifting up one (or more) places. Then transposed into the above cells. I hope I am explaining with sufficient clarity :-)
This comment was minimized by the moderator on the site
How could I make this work for Federal Holiday? Meaning if the date of a holiday happens to fall on a weekend then the Federal holiday would either be Friday or Monday.
This comment was minimized by the moderator on the site
I used the formulas above to calculate the actual day of the holiday and made a second column for Observed holiday. I made this formula to accomplish this: =IF((WEEKDAY(B15))=1,B15+1,IF((WEEKDAY(B15))=7,B15-1,B15)). The cell reference B15 is referring to the holiday which is in the actual holiday column, in this case New Years Day. When the actual holiday falls on a Saturday, the Observed holiday will be listed as Friday and for actual holidays falling on Sunday, the observed holiday will be listed as Monday. Hope this helps.
This comment was minimized by the moderator on the site
This is an accurate function which will work for New Years Day that would fall on a weekend (years 2022 and 2023): =WORKDAY(DATE(CalendarYear,1,1),--(WEEKDAY(DATE(CalendarYear,1,1),2)>5))
This comment was minimized by the moderator on the site
trying to make a formula for subtracting CALENDAR DAYS and holidays. I have been able to figure out for WORKDAYS and HOLIDAY, but I cannot figure out how to do CALENDAR days and holidays. here is what I am currently using for WORKDAYS AND HOLIDAYS. Help! So I need this to be CALENDAR days instead of WORKDAYS.] =WORKDAY(B28-5,1,HOLIDAYS)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations