Страницы: 1
RSS
Из названия месяца в формат даты
 
Добрый день. Подскажите пожалуйста, как самым легким путем вернуть первый день месяца в формате даты с добавлением нужного года из его текстового названия. То есть "Январь" - 01.01.2020, "Февраль" 01.02.2020 и т.д. Заранее спасибо.  
 
Цитата
iLichek написал:
с добавлением нужного года из его текстового названия
И где в слове январь просматривается год? )
 
Не просматривается, имеется ввиду добавить текстом. Например, 2020
 
Код
= ЗНАЧЕН(месяц & " 2020")
где месяц - ссылка на ячейку с названием месяца
Изменено: Ігор Гончаренко - 13.10.2019 07:37:43
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
=--("январь"&2020)
Но оба варианта имеют ограничение - Формат времени в установках системы должен быть соответвующим
По вопросам из тем форума, личку не читаю.
 
Осмелюсь уточнить ограничение в ответе #5 Михаила. Кодовая страница Windows по умолчанию должна быть 1251.
Владимир
 
Подскажите пожалуйста, что не так в формуле?!

Из текста:
"не позднее 29 мая 2024 г."
Нужно получить:
"29.05.2024);"

Думал преобразовать в дату, через ДАТАЗНАЧ() (столбец - B), а потом через ТЕКСТ() отформатировать как надо  (столбец - C).

Не получается! ДАТАЗНАЧ() не срабатывает...
 
Цитата
zorkon71 написал:
ДАТАЗНАЧ() не срабатывает
Не нравится родительный падеж названия месяца. Нужен именительный падеж или первые три буквы названия месяца в именительном падеже.
Изменено: sokol92 - 16.04.2024 20:10:20
Владимир
 
UDF
Код
Function toDate(str As String) As Date
Dim temp As String
    temp = Replace(str, "не позднее", "")
    toDate = CDate(Replace(temp, " г.", ""))
End Function
 
В А12 много пробелов лишних, поэтому использовал СЖПРОБЕЛЫ()
Код
=--(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A5);"я ";"й ");13;6)&ЛЕВБ(ПРАВБ(A5;7);4))
Алексей М.
 
Здравствуйте . UDF
Код
Function StrToDate(txt$)
Dim Arr1: Const Rz$ = " "
Arr1 = VBA.Split(txt, Rz)
For i = 0 To UBound(Arr1)
If VBA.IsNumeric(Arr1(i)) Then Exit For
Next i
StrToDate = VBA.CDate(Arr1(i) & Rz & Arr1(i + 1) & Rz & Arr1(i + 2))
End Function
Страницы: 1
Наверх