Excel преобразование даты США (текст) в европейскую дату (дата) - PullRequest
1 голос
/ 04 февраля 2011

Я вставляю данные с веб-страницы в США в таблицу Excel. Европейский Excel не может понять американские даты .... поэтому я вставляю его как текст.

Разница между датами в США и Европе заключается в том, что день и месяц расположены в другом порядке. Как мне перейти от «текстовой даты США» к реальной дате, которую «европейский» Excel может понять? Чтение его как даты не работает, поэтому YEAR (), MONTH (), DAY () не будут работать на нативной текстовой строке Сначала необходимо выполнить некоторое преобразование строки.

Третий столбец просто для того, чтобы показать проблему. Это результат вызова функции MONTH для текста в столбце «A». Он принимает день месяца и поэтому выдает ошибку при достижении 13 сентября.

TEXT (from US web)       EU date (real date)            MONTH(A1)
9/8/10 10:03 PM          8. Sep 2010                    8
9/9/10 10:03 PM          9. Sep 2010                    9
9/10/10 10:03 PM         10. Sep 2010                   10
9/11/10 10:03 PM         11. Sep 2010                   11
9/12/10 9:40 PM          12. Sep 2010                   12
9/13/10 9:40 PM          13. Sep 2010                   ERROR
9/14/10 9:40 PM          14. Sep 2010                   ERROR
9/15/10 9:28 PM          15. Sep 2010                   ERROR

Если нет «функции преобразования», то решением может быть разделение m / d / yy на три столбца и создание даты из этого. Если это так, мне нужна помощь с разбиением текста на день, месяц и год.

ОБНОВЛЕНИЕ с ответом .... Лазарь придумал тот, который работает. Сначала разделите текст в столбце A на год, месяц и день. Затем объедините их, например. используя функцию DATE

  • Год: MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1,FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1)
  • Месяц: MID(A2,1,FIND("/",A2,1)-1)
  • День: MID(A2,FIND("/",A2,1)+1,FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1)

Ответы [ 3 ]

4 голосов
/ 04 февраля 2011

Если ваше первое свидание в ячейке А2, то из США в европейскую структуру будет преобразовано следующее.

=DATE("2000"+MID(A2,FIND("/",A2,FIND("/",A2,1)+1)+1,
 FIND(" ",A2,1)-FIND("/",A2,FIND("/",A2,1)+1)-1),
 MID(A2,1,FIND("/",A2,1)-1),MID(A2,FIND("/",A2,1)+1, 
 FIND("/",A2,FIND("/",A2,1)+1)-FIND("/",A2,1)-1))
1 голос
/ 04 февраля 2011

Вы можете попробовать использовать функцию DATEVALUE () в Excel для преобразования текстовой строки в фактическое значение даты в Excel

=DATEVALUE(MID(A1,4,2)&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

Тогда вы можете числово-форматировать маску, как вам нужно.

0 голосов
/ 27 марта 2012

Вам нужно использовать текст для столбцов, чтобы разделить начальное значение США на три компонента.Тогда вы получите день, месяц, год из проделанной работы.При наличии этих трех компонентов соберите заново, используя Concatenate, и используйте команду Rept (), чтобы добавить начальные нули обратно в нужное место.

PKL100

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...