Добавление порядковых номеров к датам (Microsoft Excel)
При разработке учебного пособия вам может потребоваться разместить такие суффиксы, как «st, nd, rd или th» в конце дат, как в «9 марта».
К сожалению, это невозможно сделать с помощью встроенных форматов даты, которые можно применить к отдельным ячейкам. При желании вы можете создать собственные форматы для каждого из четырех типов суффиксов, но их нужно будет применять индивидуально в зависимости от содержимого самой ячейки.
Единственный другой вариант — использовать какую-то формулу преобразования. Их достаточно легко собрать, но полученная ячейка будет содержать не настоящую дату Excel, а текст. Это предотвращает использование содержимого ячейки в других функциях, связанных с датой. Ниже приведен пример формулы преобразования, которую вы можете использовать:
=DAY(A1)&IF(OR(DAY(A1)={1,2,3,21,22,23,31}), CHOOSE(1*RIGHT(DAY(A1),1),"st","nd ","rd "),"th") &TEXT(A1,"mmmm, yyyy")
Есть и другие, но все они, по сути, делают одно и то же — разделяют разные части даты и соединяют их вместе с правильным суффиксом.
При желании вы также можете создать макрос-функцию, которая будет возвращать правильно отформатированную дату с порядковым суффиксом. Вот один из таких макросов:
Function OrdinalDate(myDate As Date) Dim dDate As Integer Dim dText As String Dim mDate As Integer Dim mmmText As String dDate = Day(myDate) mDate = Month(myDate) Select Case dDate Case 1: dText = "st" Case 2: dText = "nd" Case 3: dText = "rd" Case 21: dText = "st" Case 22: dText = "nd" Case 23: dText = "rd" Case 31: dText = "st" Case Else: dText = "th" End Select Select Case mDate Case 1: mmmText = " January" Case 2: mmmText = " February" Case 3: mmmText = " March" Case 4: mmmText = " April" Case 5: mmmText = " May" Case 6: mmmText = " June" Case 7: mmmText = " July" Case 8: mmmText = " August" Case 9: mmmText = " September" Case 10: mmmText = " October" Case 11: mmmText = " November" Case 12: mmmText = " December" End Select OrdinalDate = dDate & dText & mmmText End Function
Вы используете макрос, просто вызывая его в формуле ячейки. Например, если у вас есть дата, хранящаяся в ячейке B7, вы можете использовать следующее в любой другой ячейке:
=OrdinalDate(B7)
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (10033) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Adding_Ordinal_Notation_to_Dates [Добавление порядкового номера к датам]
.