Innehållsförteckning
I handledningen förklaras hur Excel-funktionerna MONTH och EOMONTH fungerar i praktiken. Du hittar en rad exempel på formler som visar hur du extraherar månaden från datum i Excel, får fram månadens första och sista dag, omvandlar månadens namn till ett nummer och mycket mer.
I föregående artikel utforskade vi en rad olika formler för att beräkna veckodagar. Idag ska vi arbeta med en större tidsenhet och lära oss vilka funktioner som Microsoft Excel tillhandahåller för månader.
I den här handledningen får du lära dig:
Excel MONTH-funktionen - syntax och användningsområden
Microsoft Excel har en särskild funktion MONTH för att extrahera en månad från datum, som returnerar månadsnumret från 1 (januari) till 12 (december).
Funktionen MONTH kan användas i alla versioner av Excel 2016-2000 och dess syntax är så enkel som möjligt:
MONTH(serienummer) Var serienummer
är ett giltigt datum i den månad som du försöker hitta.
För att Excel-formlerna MONTH ska fungera korrekt ska ett datum anges med hjälp av funktionen DATE(år, månad, dag). Exempelvis ska formeln =MONTH(DATE(2015,3,1))
returnerar 3 eftersom DATE representerar den 1 mars 2015.
Formler som =MONTH("1-Mar-2015")
fungerar också bra, men problem kan uppstå i mer komplexa scenarier om datum anges som text.
I praktiken är det i stället för att ange ett datum i funktionen MONTH mer praktiskt att hänvisa till en cell med ett datum eller ange ett datum som returneras av någon annan funktion. Till exempel:
=MÅNAD(A1)
- returnerar månaden för ett datum i cell A1.
=MÅNAD(TODAY())
- returnerar numret för den aktuella månaden.
Vid första anblicken kan Excel-funktionen MONTH se enkel ut, men om du tittar på nedanstående exempel kommer du att bli förvånad över hur många användbara saker den faktiskt kan göra.
Hur man får fram månadsnummer från datum i Excel
Det finns flera sätt att få fram månad från datum i Excel. Vilket sätt du väljer beror på vilket resultat du vill uppnå.
MONTH-funktionen i Excel - få fram månadsnummer från datumet
Det här är det mest uppenbara och enklaste sättet att konvertera datum till månad i Excel. Till exempel:
=MÅNAD(A2)
- återger månaden för ett datum i cell A2.=MONTH(DATE(2015,4,15))
- 4 motsvarar april.=MONTH("15-Apr-2015")
- självklart returnerar nummer 4 också.
TEXT-funktionen i Excel - extrahera månaden som en textsträng
Ett alternativt sätt att få fram ett månadsnummer från ett Excel-datum är att använda TEXT-funktionen:
=TEXT(A2, "m")
- returnerar ett månadstal utan inledande nolla, som 1 - 12.=TEXT(A2, "mm")
- returnerar ett månadsnummer med en inledande nolla, som 01 - 12.
Var mycket försiktig när du använder TEXT-formlerna, eftersom de alltid returnerar månadssiffrorna som textsträngar. Om du planerar att utföra ytterligare beräkningar eller använda de returnerade siffrorna i andra formler, är det bättre att hålla dig till Excel-funktionen MONTH.
Följande skärmdump visar resultaten från alla ovanstående formler. Observera att siffrorna som returneras av funktionen MONTH (cellerna C2 och C3) är högerjusterade, medan textvärdena som returneras av TEXT-funktionerna (cellerna C4 och C5) är vänsterjusterade.
Hur man extraherar månadens namn från datum i Excel
Om du vill få fram ett månadsnamn i stället för en siffra använder du TEXT-funktionen igen, men med en annan datumkod:
=TEXT(A2, "mmm")
- returnerar ett förkortat månadsnamn, som Jan - Dec.=TEXT(A2, "mmmm")
- returnerar ett fullständigt månadsnamn, som januari - december.
Om du faktiskt inte vill konvertera datum till månad i ditt Excel-arbetsblad, kan du bara vilja konvertera datum till månad. visa ett månadsnamn i stället för det fullständiga datumet, så vill du inte ha några formler.
Markera en eller flera celler med datum, tryck på Ctrl+1 för att öppna Formatera celler dialog. På den Antal Välj Anpassad och skriv antingen "mmm" eller "mmmm" i fältet Typ för att visa förkortade respektive fullständiga månadsnamn. I det här fallet kommer dina poster att förbli fullt fungerande Excel-datum som du kan använda i beräkningar och andra formler. Mer information om hur du ändrar datumformatet finns i Skapa ett anpassat datumformat i Excel.
Hur konverterar man månadens nummer till månadens namn i Excel?
Anta att du har en lista med siffror (1 till 12) i ditt Excel-arbetsblad som du vill konvertera till månadsnamn. För att göra detta kan du använda någon av följande formler:
För att returnera ett förkortat månadsnamn (jan-dec):
=TEXT(A2*28, "mmm")
=TEXT(DATE(2015, A2, 1), "mmm")
För att återge ett fullständigt månadsnamn (januari - december):
=TEXT(A2*28, "mmmm")
=TEXT(DATE(2015, A2, 1), "mmmm")
I alla ovanstående formler är A2 en cell med ett månadsnummer och den enda skillnaden mellan formlerna är månadskoderna:
- "mmm" - förkortning av månaden med tre bokstäver, t.ex. jan-dec.
- "mmmm" - månad med fullständiga bokstäver
- "mmmmmmm" - den första bokstaven i månadens namn
Hur dessa formler fungerar
När det används tillsammans med månadsformatkoder som "mmm" och "mmmm" betraktar Excel siffran 1 som dag 1 i januari 1900. Genom att multiplicera 1, 2, 3 etc. med 28 får du dagarna 28, 56, 84 etc. i år 1900, som ligger i januari, februari, mars etc. Formatkoden "mmm" eller "mmmm" visar endast månadens namn.
Hur man konverterar månadens namn till nummer i Excel
Det finns två Excel-funktioner som kan hjälpa dig att konvertera månadsnamn till siffror - DATEVALUE och MONTH. Excel-funktionen DATEVALUE omvandlar ett datum som lagras som text till ett löpnummer som Microsoft Excel känner igen som ett datum. Funktionen MONTH extraherar sedan ett månadsnummer från det datumet.
Den fullständiga formeln är följande:
=MONTH(DATEVALUE(A2 & "1"))
A2 i en cell som innehåller månadens namn som du vill omvandla till ett nummer (& "1" läggs till för att DATEVALUE-funktionen ska förstå att det är ett datum).
Hur man får fram den sista dagen i månaden i Excel (EOMONTH-funktionen)
EOMONTH-funktionen i Excel används för att återge månadens sista dag baserat på det angivna startdatumet. Funktionen har följande argument, som båda är obligatoriska:
EOMONTH(start_datum, månader)- Start_datum - startdatumet eller en referens till en cell med startdatumet.
- Månader - antalet månader före eller efter startdatumet. Använd ett positivt värde för framtida datum och ett negativt värde för tidigare datum.
Här är några exempel på EOMONTH-formler:
=MÅNAD(A2, 1)
- returnerar den sista dagen i månaden, en månad efter datumet i cell A2.
=MÅNAD(A2, -1)
- returnerar den sista dagen i månaden, en månad före datumet i cell A2.
Istället för en cellreferens kan du ange ett datum i EOMONTH-formeln. Till exempel ger båda formlerna nedan den sista dagen i april.
=EOMONTH("15-Apr-2015", 0)
=MÅNAD(DATUM(2015,4,15), 0)
Om du vill återlämna sista dagen i den aktuella månaden använder du funktionen TODAY() i det första argumentet i din EOMONTH-formel så att dagens datum används som startdatum. Och du sätter 0 i månader
argument eftersom du inte vill ändra månaden på något sätt.
=EOMONTH(TODAY(), 0)
Eftersom Excel-funktionen EOMONTH returnerar serienumret som representerar datumet måste du tillämpa datumformatet på en eller flera celler med dina formler. Se Hur man ändrar datumformatet i Excel för detaljerade steg.
Och här är resultaten från Excel-formlerna EOMONTH som vi diskuterade ovan:
Om du vill beräkna hur många dagar som återstår till slutet av den aktuella månaden subtraherar du helt enkelt det datum som returneras av TODAY() från det datum som returneras av EOMONTH och tillämpar det allmänna formatet på en cell:
=OMONTH(TODAY(), 0)-TODAY()
Hur man hittar den första dagen i månaden i Excel
Som du redan vet finns det bara en funktion i Microsoft Excel för att få fram månadens sista dag (EOMONTH). När det gäller månadens första dag finns det mer än ett sätt att få fram den.
Exempel 1. Få fram den första dagen i månaden med hjälp av månadsnumret.
Om du har månadens nummer kan du använda en enkel DATE-formel som denna:
=DATE( år , Månadsnummer , 1)Till exempel, =DATE(2015, 4, 1) ger 1-Apr-15.
Om siffrorna finns i en viss kolumn, till exempel i kolumn A, kan du lägga till en cellreferens direkt i formeln:
=DATUM(2015, B2, 1)
Exempel 2. Hämta den första dagen i månaden från ett datum
Om du vill beräkna månadens första dag utifrån ett datum kan du använda Excel-funktionen DATE igen, men den här gången behöver du även funktionen MONTH för att få fram månadens nummer:
=DATE( år , MÅNAD( cell med datumet ), 1)Följande formel ger till exempel den första dagen i månaden baserat på datumet i cell A2:
=DATE(2015,MONTH(A2),1)
Exempel 3. Hitta den första dagen i månaden baserat på det aktuella datumet.
När dina beräkningar är baserade på dagens datum använder du en länk till Excel EOMONTH och TODAY-funktioner:
=OMONTH(TODAY(),0) +1
- returnerar den första dagen i följande månad.
Som du minns har vi redan använt en liknande EOMONTH-formel för att få fram den sista dagen i den aktuella månaden. Nu lägger du helt enkelt till 1 till den formeln för att få fram den första dagen i nästa månad.
På samma sätt kan du få fram den första dagen i föregående och innevarande månad:
=OMONTH(TODAY(),-2) +1
- returnerar den första dagen i föregående månad.
=OMONTH(TODAY(),-1) +1
- returnerar den första dagen i den aktuella månaden.
Du kan också använda Excel DATUM Funktionen kan hantera denna uppgift, men formlerna skulle bli lite längre. Gissa till exempel vad följande formel gör?
=DATE(ÅR(IDAG()), MÅNAD(IDAG()), 1)
Japp, den returnerar den första dagen i den aktuella månaden.
Och hur tvingar du den att återge den första dagen i den följande eller föregående månaden? Helt enkelt :) Lägg bara till eller dra av 1 till/från den aktuella månaden:
Återkommer den första dagen i följande månad:
=DATE(ÅR(IDAG()), MÅNAD(IDAG())+1, 1)
För att återgå till den första dagen i föregående månad:
=DATE(ÅR(IDAG()), MÅNAD(IDAG())-1, 1)
Hur man beräknar antalet dagar i en månad
I Microsoft Excel finns det en mängd olika funktioner för att arbeta med datum och tider. Det saknas dock en funktion för att beräkna antalet dagar i en viss månad. Vi måste alltså kompensera denna brist med våra egna formler.
Exempel 1. Att få fram antalet dagar baserat på månadens nummer.
Om du känner till månadens nummer ger följande formel DAY / DATE antalet dagar i den månaden:
=DAG(DATE( år , Månadsnummer + 1, 1) -1)I formeln ovan returnerar funktionen DATE den första dagen i följande månad, från vilken du drar av 1 för att få fram den sista dagen i den önskade månaden. Sedan omvandlar funktionen DAY datumet till ett dagstal.
Följande formel ger till exempel antalet dagar i april (den fjärde månaden på året).
=DAG(DATUM(2015, 4 +1, 1) -1)
Exempel 2. Få fram antalet dagar i en månad baserat på datum.
Om du inte känner till månadens nummer men har ett datum inom den månaden kan du använda funktionerna YEAR och MONTH för att få ut års- och månadsnumret från datumet. Du behöver bara bädda in dem i formeln DAY / DATE som vi diskuterade i exemplet ovan, så får du reda på hur många dagar en viss månad innehåller:
=DAY(DATUM(ÅR(A2), MÅNAD(A2) +1, 1) -1)
Där A2 är en cell med ett datum.
Alternativt kan du använda en mycket enklare formel DAY / EOMONTH. Som du minns returnerar Excel EOMONTH-funktionen den sista dagen i månaden, så du behöver inte göra några ytterligare beräkningar:
=DAY(EOMONTH(A1, 0))
Följande skärmdump visar de resultat som returneras av alla formlerna, och som du ser är de identiska:
Hur man summerar data per månad i Excel
I en stor tabell med många data kan du ofta behöva få fram en summa av värdena för en viss månad, vilket kan bli ett problem om data inte har angetts i kronologisk ordning.
Den enklaste lösningen är att lägga till en hjälpkolumn med en enkel Excel MONTH-formel som omvandlar datum till månadstal. Om datumen finns i kolumn A använder du till exempel =MONTH(A2).
Nu skriver du ner en lista med siffror (från 1 till 12, eller bara de månadsnummer som är intressanta för dig) i en tom kolumn och summerar värdena för varje månad med en SUMIF-formel som liknar den här:
=SUMIF(C2:C15, E2, B2:B15)
Där E2 är månadens nummer.
Följande skärmdump visar resultatet av beräkningarna:
Om du hellre vill slippa lägga till en hjälpkolumn i ditt Excel-ark är det inget problem, du kan klara dig utan den. En lite mer knepig SUMPRODUCT-funktion fungerar utmärkt:
=SUMPRODUKT((MÅNAD($A$2:$A$15)=$E2) * ($B$2:$B$15))
Kolumn A innehåller datum, kolumn B innehåller de värden som ska summeras och E2 är månadens nummer.
Observera: Tänk på att båda ovanstående lösningar summerar alla värden för en viss månad oavsett år. Om ditt Excel-arbetsblad innehåller data för flera år kommer alla värden att summeras.
Hur man villkorligt formaterar datum baserat på månad
Nu när du vet hur du använder Excel-funktionerna MONTH och EOMONTH för att utföra olika beräkningar i dina kalkylblad kan du ta ett steg till och förbättra den visuella presentationen. För detta ska vi använda Excel-funktionerna för villkorlig formatering av datum.
Förutom exemplen i artikeln ovan ska jag nu visa hur du snabbt kan markera alla celler eller hela rader som är relaterade till en viss månad.
Exempel 1. Markera datum inom den aktuella månaden
Antag att du vill markera alla rader med datum för den aktuella månaden i tabellen från föregående exempel.
Först extraherar du månadsnumren från datum i kolumn A med den enklaste formeln =MONTH($A2). Sedan jämför du dessa nummer med den aktuella månaden som returneras av =MONTH(TODAY()). Som resultat får du följande formel som returnerar TRUE om månadsnumren stämmer överens, och FALSE i annat fall:
=MÅNAD($A2)=MÅNAD(TODAY())
Skapa en Excel-regel för villkorlig formatering baserad på denna formel och resultatet kan likna skärmdumpen nedan (artikeln skrevs i april, så alla datum i april är markerade).
Exempel 2. Markera datum efter månad och dag
Och här kommer en annan utmaning: Anta att du vill lyfta fram de stora helgdagarna i ditt arbetsblad oavsett år, till exempel jul och nyår. Hur skulle du gå tillväga för att lösa detta?
Använd helt enkelt Excel-funktionen DAY för att få fram månadens dag (1 - 31) och funktionen MONTH för att få fram månadens nummer, och kontrollera sedan om DAY är lika med 25 eller 31 och om MONTH är lika med 12:
=OCH(ELLER(DAG($A2)=25, DAG($A2)=31), MÅNAD(A2)=12)
Så här fungerar MONTH-funktionen i Excel. Den verkar vara mycket mer mångsidig än vad den ser ut, eller hur?
I ett par av de kommande inläggen kommer vi att beräkna veckor och år och förhoppningsvis lär du dig några fler användbara knep. Om du är intresserad av mindre tidsenheter kan du kolla in de tidigare delarna av vår serie om Excel-datum (du hittar länkarna nedan). Jag tackar dig för att du läste och hoppas att vi ses nästa vecka!