8.х Может есть специалисты по Excel

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем TODD22, 13 янв 2012.

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    В общем надо как то преобразовать дату в правильную. Может есть специалисты по VBA.
    Посмотреть вложение 9693
    Подчёркиванием выделен правильный формат.

    Вложения:

  2. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Делай раз: Ctrl+H и заменить точку на точку (. на .). Иногда из 1С дата выгружается как строка а не как дата (суть число). Во время замены ексель проводить преобразование - и если эта строка шибко похожа на дату - то она станет датой.

    Делай два: выделяем колонку, правой мышкой "формат ячеек" и выбираем формат ячейки дата.
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Выгружается не из 1С... А из какой то софтины написанной на дельфи ещё наверное лет 10 назад...
    У меня не преобразуются даты которые имеют формат ГГ.ММ.ДД. А которые имеют формат ДД.ММ.ГГ те нормально.

    Делай раз не помогло, найдено и заменено 670 записей... Но те что нужно так и не поменялись.
  4. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Сделай вырезку из файла колонок дат, вставь в отдельный и кинь сюда или на мыло (huvСОБАКАbkТОЧКАру)
    Ибо гадать можно долго. Гляну - скажу в чем там дело и как лечить.
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Написал письмо... Продублирую.
    Посмотреть вложение 9694
    нужен универсальный механизм(или способ решения) так как в документе много листов и на каждом может быть такая проблема с датами.

    Вложения:

    • Даты.rar
      Размер файла:
      8,5 КБ
      Просмотров:
      13
  6. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    В заданном примере в колонку 2 ( B ) пишу формулу
    =ТИП(A3)

    В колонку 3 ( C )
    =ЕСЛИ(B3=2;ТЕКСТ(A3;"0");"")

    В колонку 4 ( D )
    =ЕСЛИ(B3=2;ДАТА(ЛЕВСИМВ(C3;4);ПСТР(C3;5;2);ПРАВСИМВ(C3;2));A3)

    Протягиваем формулы колонок 2-4 и получаем в колонке Д дату.


    Можно конечно все это слепить в одну формулу - но читабельность оной будет ОУЖАС!
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Можно вот так, в примере A1 - это колонка с датами

    =ЕСЛИ(ДЛСТР(A1)=8;ПРАВСИМВ(A1;2)&"."&ЛЕВСИМВ(ПРАВСИМВ(A1;4);2)&"."&ЛЕВСИМВ(A1;4);A1)

    З.Ы. Это просто преобразование текста правда
  8. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    То ли я туплю то ли ерунда какая то получается. Сделал формулы в колонки, протянул, но даты не получил. С примером где преобразование из строки работает лучше. Но она мне преобразует и те которые в правильном формате к неправильному :(
  9. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Тогда ту, вторую формулу засунь в формулу
    =ЕСЛИ(ТИП(A3)=2;-та формула-;A3)
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104

    если вы про мою формулу, то для файла что в скрине - все работает, а для прикрепленного позже... надо адаптировать
  11. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Моя формула (3) в том файле что прилеплен как раз таки полностью отработала. Возможно на колонку Д стоит налепить формат ячеек = Дата?
    Лепи файл с моими формулами - гляну.
  12. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    =ЕСЛИ(ТИП(A3)=2;=ЕСЛИ(ДЛСТР(A1)=8;ПРАВСИМВ(A1;2)&"."&ЛЕВСИМВ(ПРАВСИМВ(A1;4);2)&"."&ЛЕВСИМВ(A1;4);A1);A3)

    Тут у меня где то ошибка :(
  13. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Внутри функции убери занки =
    Т.е. должно быть
    =ЕСЛИ(ТИП(A3)=2;ЕСЛИ(ДЛСТР(A1)=8;ПРАВСИМВ(A1;2)&"."&ЛЕВСИМВ(ПРАВСИМВ(A1;4);2)&"."&ЛЕВСИМВ(A1;4);A1);A3)
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Моя формула адаптированная к вашему файлу

    =ЕСЛИ(ТИП(A3)=2;ЕСЛИ(ДЛСТР(A3)=8;ПРАВСИМВ(A3;2)&"."&ЛЕВСИМВ(ПРАВСИМВ(A3;4);2)&"."&ЛЕВСИМВ(A3;4);A3);A3)

    вы указали и A3 и A1, определитесь

    Еще у столбика с формулой надо задать тип Дата, тогда все работает (пример в моей посте прикреплен)

    Вложения:

    • Даты.rar
      Размер файла:
      15,8 КБ
      Просмотров:
      12
  15. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Всем кто откликнулся большое спасибо. Даты вроде преобразовались к нужному виду. Единственное что это формат у них явно какой то другой. Потому что они имеют отступ. Видимо он их как строку определяет. Но может и так проканает. Главное что формат у них одинаковый.
  16. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    у колонки тип Дата, но если применить к конкретной ячейке команду ТИП,то получается, что как в исходном, так и в получившемся столбике аналогично - где была строка строка и осталась, а где ыла дата там остался тип число. Вот такой он Excel, но в принципе все должно нормально работать. Но проверки никто не отменял.
  17. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Ну вот... Только обрадовался :(
    В общем взял пример Tiger86 из него взял формулу. Проблема в том что она у правильных дат меняет местами месяц и день :(
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в каком месте? приведите пример, сейчас исправим
  19. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Ну вот разобрались, в исходном файле местами нужно поменять. Получается что дата которая "правильная" в исходном файле изначально не правильная и в ней перепутаны местами месяц и год. В общем оставлю это дело до понедельника.

Поделиться этой страницей