#excel #formula
#excel #формула
Вопрос:
У меня есть следующая дата в Excel «5/2/2020», я хотел бы получить «5 / Feb / 2020», но, к сожалению, я получаю «May / 2 / 2020».
Также пытался изменить формат ячеек, но Excel по-прежнему интерпретирует, что первое число — это месяц.
Как мне сообщить Excel, что месяц находится на второй позиции?
Комментарии:
1. Является ли значение 5/2/2020 строкой или датой? Если вы добавите к нему 1, это даст вам 6/2/2020, 5/3/2020 или
#VALUE!
?2. Вы можете попробовать щелкнуть ячейку правой кнопкой мыши, затем отформатировать ячейки -> Custum и ввести write: d / mm / yyyy
3. Как мне сообщить Excel, что месяц находится на второй позиции? Вы должны указать это в Excel во время импорта даты из ее источника. Если в то время Excel не указано иначе, он проанализирует дату в соответствии с вашими региональными настройками краткой даты Windows.
Ответ №1:
Попробуйте: если 5/2/2020 находится в ячейке E5, то:
=VALUE(TEXT(E5,"d/mm/yyyy"))
и затем пользовательское число форматирует эту ячейку в d / mmm / гггг
даст 5 / Февраль / 2020
Комментарии:
1. После повторного тестирования эта формула не работает для =VALUE(ТЕКСТ(«13/01/2021″,»д / мм / гггг»)), выдает ошибку. Это работает, когда в первой позиции находятся числа <= 12
2. Я добавил еще один ответ, используя пользовательскую функцию VBA. Это должно сработать.
Ответ №2:
Хорошо, вот новый метод, протестированный со следующими датами 5/2/2020, 22/2/2020, 22/12/2020, 12/2/2020.
Эта функция разбивает номера дат на 3 части и помещает их в массив, используя «/» в качестве разделителя. Затем он повторно собирает 3 части в нужном вам порядке.
Шаг 1. Добавьте следующую пользовательскую функцию в модуль VBA:
Function Dates(Cell As Variant)
'Forces recalculation when call values are changed
Application.Volatile
Dim DateString As String
Dim DateArray() As String
DateString = Cell
DateArray = Split(DateString, "/")
Dates = DateArray(1) amp; "/" amp; DateArray(0) amp; "/" amp; DateArray(2)
End Function
Шаг 2. Например, введите дату, которую вы хотите преобразовать, в ячейку A1 (т.е. 5/2/2020).
Шаг 3: Поместите функцию formula =VALUE(Даты (A1)) в ячейку B1.
Шаг 4: Примените пользовательский формат чисел к ячейке B1: d / ммм / гггг, и результатом будет 5 / Feb / 2020.
Если вы хотите изменить формат чисел на ммм / дд / гггг, то результатом будет февраль / 05 / 2020.
Примечание: формула =VALUE(Даты (A1)) будет работать в любом месте электронной таблицы. Все, что вам нужно сделать, это изменить ссылку на ячейку A1 на другую ссылку на ячейку. Вы также можете использовать формулу много раз в одной и той же электронной таблице.
Сэмми