Съдържание
В урока са обяснени основните принципи на функциите MONTH и EOMONTH на Excel. Ще намерите редица примери за формули, демонстриращи как да извлечете месец от дата в Excel, да получите първия и последния ден от месеца, да преобразувате името на месеца в число и др.
В предишната статия разгледахме различни формули за изчисляване на дни от седмицата. Днес ще работим с по-голяма единица време и ще научим функциите, които Microsoft Excel предоставя за месеци.
В този урок ще научите:
Функция Excel MONTH - синтаксис и приложения
Microsoft Excel предлага специална функция MONTH за извличане на месец от дата, която връща номера на месеца от 1 (януари) до 12 (декември).
Функцията МЕСЕЦ може да се използва във всички версии на Excel 2016 - 2000, а синтаксисът ѝ е максимално опростен:
MONTH(серийно_число) Къде: сериен_номер
е всяка валидна дата от месеца, който се опитвате да намерите.
За да работят правилно формулите на Excel MONTH, датата трябва да бъде въведена с помощта на функцията DATE(година, месец, ден). Например формулата =MONTH(DATE(2015,3,1))
връща 3, тъй като ДАТАТА е 1 март 2015 г.
Формули като = МЕСЕЦ("1 март 2015 г.")
също работят добре, въпреки че при по-сложни сценарии могат да възникнат проблеми, ако датите са въведени като текст.
На практика, вместо да се посочва дата във функцията MONTH, е по-удобно да се направи препратка към клетка с дата или да се посочи дата, върната от друга функция. Например:
=МЕСЕЦ(A1)
- връща месеца на датата в клетка A1.
=МЕСЕЦ(TODAY())
- връща номера на текущия месец.
На пръв поглед функцията МЕСЕЦ на Excel може да изглежда обикновена. Но разгледайте примерите по-долу и ще се учудите колко много полезни неща може да прави тя.
Как да получите номер на месец от дата в Excel
Съществуват няколко начина за получаване на месец от дата в Excel. Кой от тях да изберете зависи от това какъв точно резултат се опитвате да постигнете.
Функция MONTH в Excel - получаване на номер на месец от дата
Това е най-очевидният и най-лесният начин за преобразуване на дата в месец в Excel. Например:
=МЕСЕЦ(A2)
- връща месеца на датата в клетка A2.=MONTH(DATE(2015,4,15))
- връща 4, което съответства на април.=MONTH("15-Apr-2015")
- очевидно връща и номер 4.
Функция TEXT в Excel - извличане на месеца като текстов низ
Алтернативен начин за получаване на номер на месец от дата в Excel е използването на функцията TEXT:
=TEXT(A2, "m")
- връща число на месеца без водеща нула, както 1 - 12.=TEXT(A2, "mm")
- връща число на месеца с водеща нула, както 01 - 12.
Моля, бъдете много внимателни, когато използвате TEXT формули, защото те винаги връщат числата на месеца като текстови низове. Така че, ако планирате да извършите допълнителни изчисления или да използвате върнатите числа в други формули, по-добре се придържайте към функцията MONTH на Excel.
Следващата снимка на екрана демонстрира резултатите, получени от всички горепосочени формули. Обърнете внимание на дясното подравняване на числата, получени от функцията MONTH (клетки C2 и C3), за разлика от текстовите стойности, получени от функциите TEXT (клетки C4 и C5).
Как да извлечете името на месеца от датата в Excel
Ако искате да получите име на месеца, а не число, използвайте отново функцията TEXT, но с различен код на датата:
=TEXT(A2, "mmm")
- връща съкратено име на месец като Jan - Dec.=TEXT(A2, "mmmm")
- връща пълното име на месеца като януари - декември.
Ако всъщност не искате да конвертирате датата в месец в работния лист на Excel, просто желаете да показване на името на месеца само вместо пълната дата, тогава не са необходими никакви формули.
Изберете клетка(и) с дати, натиснете Ctrl+1, за да отворите Форматиране на клетките диалогов прозорец. В Номер таб, изберете Потребителски и въведете "mmm" или "mmmm" в полето Тип В този случай вашите записи ще останат напълно функционални дати в Excel, които можете да използвате в изчисления и други формули. За повече подробности относно промяната на формата на датата, моля, вижте Създаване на потребителски формат на дата в Excel.
Как да конвертирате номер на месец в име на месец в Excel
Да предположим, че в работния лист на Excel имате списък с числа (от 1 до 12), които искате да преобразувате в имена на месеци. За целта можете да използвате някоя от следните формули:
Връщане на съкратено име на месец (Jan - Dec):
=TEXT(A2*28, "mmm")
=TEXT(DATE(2015, A2, 1), "mmm")
Връщане на име на пълен месец (януари - декември):
=TEXT(A2*28, "mmmm")
=TEXT(DATE(2015, A2, 1), "mmmm")
Във всички горепосочени формули А2 е клетка с номер на месец. И единствената реална разлика между формулите са кодовете на месеците:
- "mmm" - трибуквено съкращение на месеца, например Jan - Dec
- "mmmm" - месецът се изписва изцяло
- "mmmmm" - първата буква от името на месеца
Как работят тези формули
Когато се използва заедно с кодове за форматиране на месеци като "mmm" и "mmmm", Excel разглежда числото 1 като Ден 1 през януари 1900 г. Умножавайки 1, 2, 3 и т.н. по 28, получавате Дни 28, 56, 84 и т.н. от 1900 г., които са през януари, февруари, март и т.н. Кодът за форматиране "mmm" или "mmmm" показва само името на месеца.
Как да конвертирате името на месеца в число в Excel
Съществуват две функции на Excel, които могат да ви помогнат да преобразувате имената на месеците в числа - DATEVALUE и MONTH. Функцията DATEVALUE на Excel преобразува дата, съхранена като текст, в пореден номер, който Microsoft Excel разпознава като дата. И след това функцията MONTH извлича номер на месец от тази дата.
Пълната формула е следната:
=MONTH(DATEVALUE(A2 & "1"))
Където A2 в клетка, съдържаща името на месеца, което искате да превърнете в число (& "1" се добавя, за да може функцията DATEVALUE да разбере, че това е дата).
Как да получите последния ден от месеца в Excel (функция EOMONTH)
Функцията EOMONTH в Excel се използва за връщане на последния ден от месеца въз основа на зададената начална дата. Тя има следните аргументи, като и двата са задължителни:
EOMONTH(start_date, months)- Начална_дата - началната дата или препратка към клетка с началната дата.
- Месеци - броят на месеците преди или след началната дата. Използвайте положителна стойност за бъдещи дати и отрицателна стойност за минали дати.
Ето няколко примера за формула EOMONTH:
=ЕОМЕСЕЦ(A2, 1)
- връща последния ден от месеца, един месец след датата в клетка A2.
=ЕОМЕСЕЦ(A2, -1)
- връща последния ден от месеца, един месец преди датата в клетка A2.
Вместо препратка към клетка можете да въведете дата във формулата EOMONTH. Например и двете формули по-долу връщат последния ден на април.
=EOMONTH("15-Apr-2015", 0)
=ЕОМЕСЕЦ(DATE(2015,4,15), 0)
За връщане на последен ден от текущия месец , използвате функцията TODAY() в първия аргумент на формулата EOMONTH, така че днешната дата да бъде взета за начална дата. И поставяте 0 в месеци
аргумент, защото не искате да променяте месеца по никакъв начин.
=ЕОМЕСЕЦ(TODAY(), 0)
Забележка: Тъй като функцията EOMONTH на Excel връща поредния номер, представляващ датата, трябва да приложите формата на датата към клетката(ите) с вашите формули. Моля, вижте Как да промените формата на датата в Excel за подробните стъпки.
А ето и резултатите, получени от формулите на Excel EOMONTH, разгледани по-горе:
Ако искате да изчислите колко дни остават до края на текущия месец, просто извадете датата, върната от TODAY(), от датата, върната от EOMONTH, и приложете общия формат към клетката:
=ЕОМЕСЕЦ(ДНЕС(), 0)-ДНЕС()
Как да намерите първия ден от месеца в Excel
Както вече знаете, Microsoft Excel предоставя само една функция за връщане на последния ден от месеца (EOMONTH). Когато става въпрос за първия ден от месеца, има повече от един начин да го получите.
Пример 1. Получаване на първия ден от месеца чрез номера на месеца
Ако разполагате с номера на месеца, използвайте обикновена формула DATE, например следната:
=DATE( година , номер на месеца , 1)Например =DATE(2015, 4, 1) ще върне 1 април-15.
Ако числата се намират в определена колона, например в колона А, можете да добавите препратка към клетка директно във формулата:
=ДАТА(2015, B2, 1)
Пример 2. Получаване на първия ден от месеца от дата
Ако искате да изчислите първия ден от месеца въз основа на дата, можете отново да използвате функцията DATE на Excel, но този път ще ви е необходима и функцията MONTH, за да извлечете номера на месеца:
=DATE( година , МЕСЕЦ( клетка с датата ), 1)Например следната формула ще върне първия ден от месеца въз основа на датата в клетка A2:
=DATE(2015,MONTH(A2),1)
Пример 3. Намиране на първия ден от месеца въз основа на текущата дата
Когато изчисленията ви се основават на днешната дата, използвайте връзката на Excel EOMONTH и функциите TODAY:
=ЕОМЕСЕЦ(ДНЕС(),0) +1
- се връща на 1-вия ден от следващия месец.
Както си спомняте, вече използвахме подобна формула EOMONTH, за да получим последния ден от текущия месец. Сега просто добавяте 1 към тази формула, за да получите първия ден от следващия месец.
По подобен начин можете да получите първия ден на предходния и текущия месец:
=ЕОМЕСЕЦ(ДНЕС(),-2) +1
- връща 1-вия ден от предходния месец.
=ЕОМЕСЕЦ(ДНЕС(),-1) +1
- връща първия ден от текущия месец.
Можете също така да използвате Excel ДАТА функцията за справяне с тази задача, въпреки че формулите ще бъдат малко по-дълги. Например, познайте какво прави следната формула?
=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)
Да, връща първия ден от текущия месец.
А как да го накарате да връща първия ден от следващия или предишния месец? Ръцете надолу :) Просто добавете или извадете 1 към/от текущия месец:
Да се върне на първия ден от следващия месец:
=ДАТА(ГОДИНА(ДНЕС()), МЕСЕЦ(ДНЕС())+1, 1)
Връщане на първия ден от предходния месец:
=DATE(YEAR(TODAY()), MONTH(TODAY())-1, 1)
Как да изчислим броя на дните в един месец
В Microsoft Excel има множество функции за работа с дати и времена. В него обаче липсва функция за изчисляване на броя на дните в даден месец. Затова ще трябва да компенсираме този пропуск със собствени формули.
Пример 1. Получаване на броя на дните въз основа на номера на месеца
Ако знаете номера на месеца, следната формула DAY / DATE ще върне броя на дните в този месец:
=DAY(DATE( година , номер на месеца + 1, 1) -1)В горната формула функцията DATE връща първия ден от следващия месец, от който изваждате 1, за да получите последния ден от желания месец. А след това функцията DAY преобразува датата в число на деня.
Например следната формула дава броя на дните през април (четвъртия месец в годината).
=ДЕН(DATE(2015, 4+1, 1) -1)
Пример 2. Получаване на броя на дните в месеца въз основа на датата
Ако не знаете числото на месеца, но разполагате с някоя дата в рамките на този месец, можете да използвате функциите YEAR и MONTH, за да извлечете числото на годината и месеца от датата. Просто ги вмъкнете във формулата DAY / DATE, разгледана в горния пример, и тя ще ви покаже колко дни съдържа даден месец:
=DAY(DATE(YEAR(A2), MONTH(A2) +1, 1) -1)
Където A2 е клетка с дата.
Като алтернатива можете да използвате много по-простата формула DAY / EOMONTH. Както си спомняте, функцията EOMONTH на Excel връща последния ден от месеца, така че не са необходими допълнителни изчисления:
=DAY(EOMONTH(A1, 0))
Следващата снимка на екрана демонстрира резултатите, получени от всички формули, и както виждате, те са идентични:
Как да съберете данни по месеци в Excel
В голяма таблица с много данни често може да ви се наложи да получите сума от стойностите за даден месец. А това може да е проблем, ако данните не са въведени в хронологичен ред.
Най-лесното решение е да добавите помощна колона с проста формула на Excel MONTH, която ще преобразува датите в месечни числа. Ако датите са в колона А, използвайте =MONTH(A2).
А сега запишете списък с числа (от 1 до 12 или само числата от месеците, които ви интересуват) в празна колона и съберете стойностите за всеки месец, като използвате формулата SUMIF, подобна на тази:
=SUMIF(C2:C15, E2, B2:B15)
Където E2 е номерът на месеца.
Следващата снимка показва резултата от изчисленията:
Ако предпочитате да не добавяте помощна колона в листа на Excel, няма проблем, можете да се справите и без нея. Малко по-сложната функция SUMPRODUCT ще ви свърши работа:
=SUMPRODUCT((MONTH($A$2:$A$15)=$E2) * ($B$2:$B$15))
Където колона A съдържа дати, колона B съдържа стойностите за сумиране, а E2 е номерът на месеца.
Забележка: Имайте предвид, че и двете горепосочени решения сумират всички стойности за даден месец, независимо от годината. Така че, ако работният ви лист в Excel съдържа данни за няколко години, всички те ще бъдат сумирани.
Как да форматирате условно дати въз основа на месец
След като вече знаете как да използвате функциите MONTH и EOMONTH на Excel за извършване на различни изчисления в работните листове, можете да направите още една стъпка напред и да подобрите визуалното представяне. За целта ще използваме възможностите на условното форматиране на дати в Excel.
В допълнение към примерите, дадени в гореспоменатата статия, сега ще ви покажа как можете бързо да маркирате всички клетки или цели редове, свързани с определен месец.
Пример 1. Подчертаване на дати в рамките на текущия месец
Предполагаме, че в таблицата от предишния пример искате да маркирате всички редове с дати от текущия месец.
Първо, извличате номерата на месеците от датите в колона A, като използвате най-простата формула =MONTH($A2). След това сравнявате тези числа с текущия месец, върнат от =MONTH(TODAY()). В резултат получавате следната формула, която връща TRUE, ако номерата на месеците съвпадат, и FALSE в противен случай:
=МЕСЕЦ($A2)=МЕСЕЦ(TODAY())
Създайте правило за условно форматиране в Excel въз основа на тази формула и резултатът ви може да прилича на снимката по-долу (статията е написана през април, затова всички дати от април са подчертани).
Пример 2. Подчертаване на дати по месец и ден
И ето още едно предизвикателство. Да предположим, че искате да подчертаете основните празници в работния си лист независимо от годината. Да речем, коледните и новогодишните дни. Как ще подходите към тази задача?
Просто използвайте функцията DAY на Excel за извличане на деня от месеца (1 - 31) и функцията MONTH за получаване на номера на месеца, след което проверете дали DAY е равен на 25 или 31 и дали MONTH е равен на 12:
=И(ИЛИ(ДЕН($A2)=25, ДЕН($A2)=31), МЕСЕЦ(A2)=12)
Ето как работи функцията МЕСЕЦ в Excel. Оказва се, че тя е много по-универсална, отколкото изглежда, нали?
В няколко от следващите публикации ще изчисляваме седмици и години и се надявам, че ще научите още няколко полезни трика. Ако се интересувате от по-малките единици за време, моля, разгледайте предишните части от поредицата ни за датите в Excel (връзките ще намерите по-долу). Благодаря ви за четенето и се надявам да се видим следващата седмица!