Страницы: 1
RSS
Формат даты - как проще всего конвертнуть?
 
Всем привет!

Выгружаю из Google Analytics данные с помощью Analytics Edge и как и положено для американской компании, она возвращает дату в формате месяц / день / год

Посоветуйте максимально быстрый способ конвертации в наш формат? Спасибо!


 
кустарные варианты:
=ДАТА(ПРАВСИМВ(A2;4);ПСТР(A2;1;ПОИСК("/";A2)-1);ПСТР(A2;ПОИСК("/";A2)+1;ПОИСК("%";ПОДСТАВИТЬ(A2;"/";"%";2))-ПОИСК("/";A2)-1))
=ДАТА(ПРАВСИМВ(A2;4);ПСТР(A2;1;ПОИСК("/";A2)-1);ПСТР(A2;ПОИСК("/";A2)+1;ПОИСК("/";A2;ПОИСК("/";A2)+1)-ПОИСК("/";A2)-1))
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Как вариант формула для доп. столбца:
=ДАТА(ПРАВСИМВ(A2;4);ЛЕВСИМВ(A2;ПОИСК("/";A2)-1);ЛЕВСИМВ(ПСТР(A2;ПОИСК("/";A2)+1;99);ПОИСК("/";ПСТР(A2;ПОИСК("/";A2)+1;99))-1))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
sevastr, решение "в лоб" с помощью Substring: =ДАТА(--Substring(A2;"/";3);--Substring(A2;"/";1);--Substring(A2;"/";2))
ну или отдельную UDF писать, в которой всё это будет "завёрнуто" и останется выбрать только ячейку для преобразования

P.S.: может и без двойного отрицания "--" прокатить - не тестил  :)
Изменено: Jack Famous - 04.04.2018 18:22:16
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
sevastr, состряпал  :D
Код
Option Explicit
Public Function PRDX_DateEngConvert(WF_date As String, Optional WF_delim As String="/")
Dim x

On Error GoTo er
x = Split(WF_date, WF_delim)
    If UBound(x) <> 2 Then GoTo er

PRDX_DateEngConvert = DateSerial(x(2), x(0), x(1))

GoTo fin
er:
PRDX_DateEngConvert = ""

fin:
On Error GoTo 0
End Function
хотел сначала через функцию DateValue() делать - она преобразует значения типа "10/21/15" в дату 21 октября 2015 года, однако, если ей дать "08/10/15", то она (совершенно справедливо) выдаст 8 октября вместо 10 августа (как нам тут надо). К тому же, перед тем, как ей что-то "скармливать", нужно заменить точки на слэши или тире — не любит она точки))
потому-то родненькие массивы и надёжная DateSerial() - аналог ДАТА()  ;)

источник знаний   :idea:
Изменено: Jack Famous - 05.04.2018 11:07:59
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
sevastr написал:
Посоветуйте максимально быстрый способ конвертации в наш формат?
Выделить столбец, Данные - Текст по столбцам - Далее - Далее - дата: МДГ - Готово.
 
Спасибо всем! Пробую
Изменено: sevastr - 05.04.2018 16:16:05
 
sevastr, это оффтоп мимо темы. Скорее всего формат ячейки текстовый (если не для всех формул) или (если для всех) в настройках, в дополнительных параметрах, в параметрах отображения листа стоит "Показывать формулы, а не их значения" - больше не скажу. Если не поможет, то создавайте новую тему с файлом-примером  ;)
Изменено: Jack Famous - 05.04.2018 16:57:07
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх