
Я работаю с файлом Excel, в котором есть некоторые значения в формате YYYYMMDD
(например, 19970203
, или February 3rd, 1997
). Мне нужно было преобразовать эти значения в формат даты, который может прочитать Excel, что я и сделал, используя следующую функцию для столбца рядом с этими значениями:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
Это выводит даты в форме dd-mm-yy
(так 03-02-97
, в предыдущем примере). Теперь мне нужно было организовать даты по месяцам, поэтому я попытался использовать функцию =month
для этих новых значений в следующем столбце. Вывод получается в форме mm-01-00
.
В ходе исследования я обнаружил, что многие решили эту проблему форматирования, просто переформатировав ячейки, чтобы отображалось только значение mm
даты. К сожалению, Excel теперь считывает эти mm-01-00
значения как dd-mm-yy
, и, что интересно, последние четыре года это был январь.
Мне удалось обойти эту проблему, избежав использования функции месяца и вместо этого используя текстовую функцию для дат, но я все еще не понял, что было не так с использованием функции месяца. Я немного почитал, но не нашел никаких сообщений о подобных проблемах. Следует отметить, что я запускаю Excel на компьютере с американскими региональными настройками, но отображение даты в dd-mm-yy
. Однако я не понимаю, как это может быть связано с моей проблемой Excel.
решение1
Excel хранит даты как последовательные серийные номера, чтобы их можно было использовать в вычислениях. Формат ячейки отображает серийный номер как дату, например 03-02-97
.
1 января 1900 года имеет порядковый номер 1, а 3 февраля 1997 года имеет порядковый номер 35464, поскольку это 35 464 дня после 1 января 1900 года. Если изменить формат ячейки, отображающей дату, на Общий, в ячейке будет отображаться порядковый номер.
Excel отображает ячейку с =MONTH()
функцией как, 02-01-00
поскольку ячейка отформатирована как дата, а дата для серийного номера 2 — 2 января 1900 года. MONTH()
возвращено 2
3 февраля 1997 года.
Измените ячейку на , MONTH()
чтобы отобразить ячейку как число (например, General), и ячейка отобразит 2
.
решение2
Используйте следующую формулу:
=TEXT(B1,"mm")
в ячейке B1 у вас есть ваша формула. =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
С помощью вашего метода вы можете изменить формат ячейки =month()
на General
вместо Дата (короткая или длинная).
Формат ячейки изменяет отображение на то, что вы хотите прочитать.