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