2014-01-20 4 views
1

У меня есть столбец со многими тысячами строк. Столбец предназначен для даты и имеет формат dd/mm/yyyyФорматирование дат в Excel

Но, когда я пытаюсь делать формулы на основе дат, что-то явно не так.

Например, если вы пытаетесь применить автофильтр к датам, некоторые из них сгруппированы в год с помощью расширяемых боксов, а другие - как свои собственные элементы.

Для каждой записи я попробовал формулу, чтобы разобрать ее. =DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2))

Это не помогло.

Я также выбрал колонку и включил его от общих к формату дата

Я действительно не знаю, как задать вопрос яснее. Я могу вам сказать, что с датой формата 1/11/2013, когда я запускаю =year(right(A1,4)), я получаю 1903 вместо 2013. Когда я запускаю =date(right(A1,4),mid(A1,3,2),left(A1,2)), формула возвращает 2/10/3192

+0

Если вы измените формат столбца на «Общие», выполните некоторые даты, сохранив в них '/'? – pnuts

ответ

3

Это очень просто, почему ваши формулы не работают по-разному. Когда вы используете что-то вроде: RIGHT(A2,4), ваше значение от A2 переводится к 41579 за 11/11/2013 (Excel хранит все даты как целые числа и все время как десятичные дроби. Вы можете прочитать больше here). Следующая формула должна работать хорошо:

=DATE(RIGHT(TEXT(A2,"dd/mm/yyyy"),4),MID(TEXT(A2,"dd/mm/yyyy"),4,2),LEFT(TEXT(A2,"dd/mm/yyyy"),2)) 

Btw, если вы хотите получить правильный формат даты, вы можете добавить формулу в какой-нибудь пустой колонке (но до формата даты, установленной для этого столбца):

=A2*1 

и перетащите его. Затем скопируйте значения из этой колонки темп и вставить их с помощью «Вставить специальный-> значения» в colunm A (где должен быть формат даты, а)

enter image description here

Или вы можете использовать этот простой макрос:

Sub test() 
    With Range("A2:A100") 
     .NumberFormat = "dd/mm/yyyy" 
     .Value = .Value 
    End With 
End Sub 
+0

Спасибо за информацию. Можете ли вы уточнить свое предложение: «Кстати, если вы хотите получить правильный формат для дат, вы можете добавить формулу в какой-то пустой столбец (но до установленного формата даты для этого столбца): « Означает ли это, что если я сделаю это Мне не нужно вводить формулу, которую вы предоставили? –

+0

@ DougFirr, гораздо проще использовать мой макрос. Или вы можете сделать следующее: пусть ваша дата будет в 'A2: A100'. Пусть ваша колонка 'Z' пуста. Выберите столбец 'Z' и примените формат дат. Затем напишите в формуле 'Z2'' = A2 * 1' и перетащите ее до 'Z100'. Затем выберите столбец 'A' и примените формат дат. Скопируйте значения из 'Z2: Z100' и ​​вставьте специальные-> значения вставки в' A2: A100'. То есть все) –

+0

если у вас есть дополнительные вопросы, пожалуйста, задайте :) –

Смежные вопросы