Страницы: 1
RSS
преобразование текста в дату
 
Скажите как сделать так, чтобы такие данные    
с декабря 2009г.  
с октября 2009г.  
с октября 2009г.  
с октября 2009г.  
с апреля 2010г.  
с июня 2010г.  
с февраля 2009г.  
с октября 2009г.  
с ноября 2009г.  
с июня 2009г.  
с июля 2009г.  
с августа 2009г.  
с сентября 2009г.  
с октября 2009г.  
с декабря 2009г.  
с января 2010г.  
с февраля 2010г.  
с марта 2010г.  
с апреля 2010г.  
с мая 2010г.  
с декабря 2008г.  
 
преобразовывались в ячейки с датой
 
один из вариантов
 
{quote}{login=Михаил}{date=29.08.2010 08:34}{thema=}{post}один из вариантов{/post}{/quote}Класс! Я только собрался макрос...
Я сам - дурнее всякого примера! ...
 
а без макроса можно? с помощью формулы?
 
{quote}{login=acornwalle}{date=29.08.2010 08:47}{thema=}{post}а без макроса можно? с помощью формулы?{/post}{/quote}  
а ответ Михаила Вам не по душе?
Спасибо
 
Дим, а вопрос ТС Вам по душе?:-)
Я сам - дурнее всякого примера! ...
 
Да у меня просто Макинтош, а там в 2008 Excel нету макросов на Визуал Бейсике, он их не поддерживает. Я уже пошел качать виртуализацию и ставить виндовс, решил спросить на всякий случай, вдруг есть решения другие.
 
Ну если мой пример в макинтоше не работает, тогда не знаю...
 
acornwalle, вставьте эту формулу в ячейку В1  
 
=ДАТАЗНАЧ("1 "&ПОДСТАВИТЬ(ПСТР(A1;3;3);"ая";"ай")&" "&ЛЕВСИМВ(ПРАВСИМВ(A1;6);4))  
 
P.S. это формула Михаила
 
У вас локализация какая? русская, английская или...
 
{quote}{login=}{date=29.08.2010 09:06}{thema=}{post}acornwalle, вставьте эту формулу в ячейку В1  
 
=ДАТАЗНАЧ("1 "&ПОДСТАВИТЬ(ПСТР(A1;3;3);"ая";"ай")&" "&ЛЕВСИМВ(ПРАВСИМВ(A1;6);4))  
 
P.S. это формула Михаила{/post}{/quote}  
без пробелов тоже работает.. это я просто по привычке к виду даты..  
=ДАТАЗНАЧ("1"&ПОДСТАВИТЬ(ПСТР(A1;3;3);"ая";"ай")&ЛЕВСИМВ(ПРАВСИМВ(A1;6);4))
 
{quote}{login=acornwalle}{date=29.08.2010 09:03}{thema=}{post}Да у меня просто Макинтош, а там в 2008 Excel нету макросов на Визуал Бейсике, он их не поддерживает. Я уже пошел качать виртуализацию и ставить виндовс, решил спросить на всякий случай, вдруг есть решения другие.{/post}{/quote}А может сразу родить надо было? На форуме есть Макинтошевцы. Не отнимали бы время. Хотя... Если мозг не ампутирован, легко сможете подстроить под свои - надо.  
С ув. Сергей.
Я сам - дурнее всякого примера! ...
 
KuklP)) как ты жесток
 
англ локализация
 
{quote}{login=}{date=29.08.2010 09:17}{thema=}{post}KuklP)) как ты жесток{/post}{/quote}Да не так уж, что бы. Прсто иногда сутками приходится подгонять решение из-за неграмотного вопроса:-( А так я добрый, всем хочу помочь... А почему аноним? Авторизоваться слабо?
Я сам - дурнее всякого примера! ...
 
KuklP, вы правы, не подумал, что это так скажется на результате решения. В следующий раз не буду так делать. Приношу свои извинения.
 
acornwalle, не мне Вас учить, как общаться в форумах. Но от Вас зависит в большой степени, как быстро возможно получение ответа. Рад буду, если Вы извлечете из нашей переписки что-нибудь полезное.
Я сам - дурнее всякого примера! ...
 
acornwalle, я не знаю, как там в Макинтоше, но в Анг. версии Excel формула Михаила будет таккая  
 
=DATEVALUE("1"&SUBSTITUTE(MID(A1,3,3),"ая","ай")&LEFT(RIGHT(A1,6),4))
 
=1&ПСТР(A1;НАЙТИ(" ";A1);НАЙТИ("г";A1)-2)&" г."
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, у ТС английская локализация )  
Так же что-то не так преобразует в строке "с августа 2009г." по вашей формуле получается "1 ав г."
 
{quote}{login=acornwalle}{date=29.08.2010 09:20}{thema=}{post}англ локализация{/post}{/quote}Дла английской должно так сработать  
=ДАТА(--ЛЕВСИМВ(ПРАВСИМВ(A1;6);4);ПОИСКПОЗ(ПРАВСИМВ(ЛЕВСИМВ(A1;ДЛСТР(A1)-7);ДЛСТР(A1)-9);{"января";"февраля";"марта";"апреля";"мая";"июня";"июля";"августа";"сентября";"октября";"ноября";"декабря"};0);1)
 
чуть упростил
 
{quote}{login=Михаил}{date=29.08.2010 09:47}{thema=Re: }{post}{quote}{login=acornwalle}{date=29.08.2010 09:20}{thema=}{post}англ локализация{/post}{/quote}Дла английской должно так сработать  
=ДАТА(--ЛЕВСИМВ(ПРАВСИМВ(A1;6);4);ПОИСКПОЗ(ПРАВСИМВ(ЛЕВСИМВ(A1;ДЛСТР(A1)-7);ДЛСТР(A1)-9);{"января";"февраля";"марта";"апреля";"мая";"июня";"июля";"августа";"сентября";"октября";"ноября";"декабря"};0);1){/post}{/quote}  
 
благодарю, всё работает. только пока не скинули файл - оказывается у экселя маковского синтаксис другой
 
Вариант:  
Cells(1, 1) = CDate(Format(Replace("1 " & Split(Cells(1, 1))(1) & " " & Split(Cells(1, 1))(2), "г.", ""), "dd.mm.yyyy"))
 
А макросы и не нужны, оказывается...
 
Юр, а ответ автра от 29.08.2010, 20:47? Тут хоть какая локализация...
Я сам - дурнее всякого примера! ...
 
Дуплетом:-)
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Наверх