Луис получает даты в формате «04C18», где первые две цифры — это день, буква в середине — это месяц (A — январь, B — февраль, C — март и т. Д.), А последние две цифры — это год. Ему нужно преобразовать эти закодированные даты в обычные значения даты, с которыми он сможет работать в Excel.

Самая большая вещь, которая делает этот формат даты нестандартным, — это использование буквенного символа для месяца. Итак, первое, что нужно сделать, — это выяснить, как преобразовать этот символ в числовой месяц. Здесь может оказаться полезной функция CODE; он возвращает код ASCII для символа. Буква A возвращает значение 65, B возвращает 66 и так далее. Итак, все, что вам нужно сделать, чтобы преобразовать буквы в числа от 1 до 12, это использовать что-то вроде этого:

=CODE(UPPER(MID(A1,3,1)))-64

Функция UPPER используется для преобразования символа месяца в верхний регистр, на тот случай, если код позволяет использовать строчные буквы для месяцев.

Другой способ конвертировать месяцы — использовать функцию НАЙТИ следующим образом:

=FIND(UPPER(MID(A1,3,1)),"ABCDEFGHIJKL",1)

Этот метод находит символ в алфавитной строке и возвращает смещение в этой строке от 1 до 12. Этот подход лучше всего использовать, если буквы, представляющие месяцы, не идут подряд или если они представляют собой убывающую последовательность.

Любой из методов преобразования месяцев можно затем использовать внутри функции DATE для возврата даты на основе года, месяца и дня. В этом примере используется метод CODE, но вы также можете легко использовать метод FIND:

=DATE(2000+RIGHT(A1,2),CODE(UPPER(MID(A1,3,1)))-64,LEFT(A1,2))

Если существует вероятность того, что закодированные даты могут включать некоторые даты до 2000 года, то использование функции DATEVALUE для сложения даты даст более точные результаты:

=DATEVALUE(CODE(UPPER(MID(A1,3,1)))-64&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

Если вы используете подход DATEVALUE, имейте в виду, что формула возвращает порядковый номер даты и что вам нужно будет отформатировать ячейку для отображения даты в том виде, в каком вы хотите ее отображать.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (7014) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Converting_Coded_Dates_into_Real_Dates [Преобразование закодированных дат в реальные].