|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
18.01.2009, 17:52 | #1 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 11
|
Преобразовать в дату
Приветствую Всех, нужна Ваша помошь.
Суть в следующем: есть прайс-листы в них есть графа срок годности, но разные поставщики ее пишут по разному, примеры: 01.01.10 - нормально 10.05.2010 - нормально 04.10 - только месяц и год 0512 - только месяц и год 11210 - распозновать как 01.12.2010 62610 - распозновать как 26.06.2010 (т.к. 26 месяца нету) Нужно соответсвенно правильно распознать и привести к виду ДД.ММ.ГГГГ Если дата как в 3,4 примере значит надо дописать 01 к месяцу и году, т.е. к виду 01.04.2010, 01.05.2012 Последний раз редактировалось Marvel; 18.01.2009 в 17:59. |
18.01.2009, 17:59 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Но не проще ли искоренить причину проблемы, нежели бороться с её следствием? В Вашем прайс-листе назначьте список допустимых значений для этого поля, предварительно назначив ячейке формат "Дата" --------- вдруг кому пригодится -------------- На сайте ExcelVBA.ru можно скачать универсальную программу обработки прайс-листов: http://excelvba.ru/programmes/Unification которая умеет распознавать даты, в каком бы виде они не были написаны. Цитата:
Программа умеет объединять данные из самых разных прайсов (формата CSV и Excel), в том числе из файлов иерархической структуры (выгрузки из 1С).
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 24.02.2013 в 12:47. |
||
18.01.2009, 18:09 | #3 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 11
|
На макросы я и расчитываю... т.к. ручками перелопатить каждый прайс не реально.
Источник проблемы в том, что прайсы формируются в 1С-ке, номенклатура которой забита уже давно и давно не редактировалась, если только не новые позиции (сфера медикаменты) Если меняем формат ячейки в "Дата" то меняется ее содержимое, точно не не помню, но точно не в формат "Дата" Вижу решение только в написании макроса, который распознает где дата, где месяц, где год и преобразует ее в значение (можно текстовое) 01.01.2010 (на пример) |
18.01.2009, 18:17 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Макрос-то написать можно, но, учитывая "разнообразие форматов даты" в Вашем файле, не факт, что удастся всё предусмотреть...
Пока попробуйте такой вариант решения проблемы (см. вложение) Изменить значения в зелененьких ячейках на листе так просто не получится. Единственная возможность - выполнив двойной щелчок на ячейке, выбрать дату из появляющегося календарика: |
19.01.2009, 07:03 | #5 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 11
|
Вот примеры прайс-листов в которых надо привести столбец Срок годности к нормальному виду ДД.ММ.ГГГГ
|
19.01.2009, 15:48 | #6 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
EducatedFool, крутой календарь, Спасибо!
|
19.01.2009, 17:56 | #7 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Нашел на соседнем форуме в этой теме. Автор - Avsha Правда, чуточку переделал под свои нужды. Если запустить поиск по слову календарь в разделах по VBA, можно найти множество интересных реализаций. Мне больше других понравился именно этот календарик - так как он выполнен с использованием только стандартных элементов управления.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 19.01.2009 в 17:58. |
|
21.01.2009, 06:49 | #8 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 11
|
Народ, тут кто-нибудь поможет мне?
|
21.01.2009, 07:29 | #9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если Вы оговорите все возможные варианты, тогда поможем.
Давайте рассуждать: в файле "Прайс-лист1", вроде бы, все понятно. Здесь, по видимому, введены месяц и год, разделенные запятой (так?). Но это только один вариант. В файле "Прайс-лист" не все ясно. Вы говорили, что Цитата:
Давайте так: напишите два столбца соответствия всех возможных вариантов. Как в принципе может быть введена дата, и как это нужно интерпретировать.
Чем шире угол зрения, тем он тупее.
|
|
21.01.2009, 08:00 | #10 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 11
|
Поиск по месяцу я имел в виду следующие действия:
Можно же пройтись по столбцу дата с определением месяца? Т.е. проверить весь список дат и из них сделать вывод в каком месте у нас месяц. Ну зная месяц можно уже дальше двигаться с определением даты и года. Сейчас просчитаю все возможных варианты и выложу чуть позже. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразовать текст в числовой | olimpus | Microsoft Office Excel | 17 | 12.11.2008 07:58 |
Как преобразовать код | SeRhy | HTML и CSS | 1 | 17.08.2008 15:50 |
Как преобразовать типы | NeiL | Общие вопросы C/C++ | 1 | 31.05.2008 14:43 |
Преобразовать форму в ссылку | Pekc | HTML и CSS | 1 | 06.12.2007 20:10 |
ПРЕОБРАЗОВАТЬ | malevich | Общие вопросы Delphi | 1 | 07.12.2006 21:08 |