Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как склонять месяцы в excel'e? (оч. нужно)

15K
31 декабря 2006 года
olen
11 / / 04.04.2006
Как склонять месяцы в excel'e (у меня 2000 офис)?

набиваю дату, например - 22.07.2006, правой кн. мыши --- формат ячеек ---- дата ---- тип: 14 Март, 1999 --- пишет 22 Июнь, 2006.
Мне нужно чтобы дата выглядела так: 22 июня 2006 г.
Как это сделать?

Вариант "вручную" не подходит. Но подходит вариант создание нового формата даты или мудрёной логической формулы.

Вот что мне подсказали сделать, но почему-то не работает когда набиваю в ячейке =МЕСЯЦРОД (1). потом не знаю как внедрить эту функцию внутрь даты.
Если кто знает как создать формат буду благодарен.

Public Function МЕСЯЦРОД(n As Byte) As String

If n = 1 Then
МЕСЯЦРОД = "января"
ElseIf n = 2 Then
МЕСЯЦРОД = "февраля"
ElseIf n = 3 Then
МЕСЯЦРОД = "марта"
ElseIf n = 4 Then
МЕСЯЦРОД = "апреля"
ElseIf n = 5 Then
МЕСЯЦРОД = "мая"
ElseIf n = 6 Then
МЕСЯЦРОД = "июня"
ElseIf n = 7 Then
МЕСЯЦРОД = "июля"
ElseIf n = 8 Then
МЕСЯЦРОД = "августа"
ElseIf n = 9 Then
МЕСЯЦРОД = "сентября"
ElseIf n = 10 Then
МЕСЯЦРОД = "октября"
ElseIf n = 11 Then
МЕСЯЦРОД = "ноября"
ElseIf n = 12 Then
МЕСЯЦРОД = "декабря"
Else
МЕСЯЦРОД = "а х.з."
End If

End Function
275
01 января 2007 года
pashulka
985 / / 19.09.2004
Возможность получения 22 июня 2006 г. с использованием соответствующего формата маски появилась только в MS Excel XP и там нужный формат выглядит следующим образом [$-F800]ДДДД, ММММ ДД, ГГГГ

В более ранних версиях, для получения текста, можно воспользоваться, например, следующей формулой :

=ПОДСТАВИТЬ(ТЕКСТ(A2;"ДД ММММ ГГГГ \г.");ВЫБОР(МЕСЯЦ(A2);"ь";"ь";"т";"ь";"й";"ь";"ь";"т";"ь";"ь";"ь");ВЫБОР(МЕСЯЦ(A2);"я";"я";"та";"я";"я";"я";"я";"та";"я";"я";"я"))
=СТРОЧН(...)

Или пользовательской функцией :

 
Код:
Function DateString$(vData)
    If IsDate(vData) = True Then
       DateString$ = Format(vData, "dd mmmm yyyy\ г.")
    Else
       DateString$ = "нет даты"
    End If
End Function


Пример вызова пользовательской функции : =DateString(A2) или =DateString("22.07.2006")
15K
01 января 2007 года
olen
11 / / 04.04.2006
Цитата: pashulka

=ПОДСТАВИТЬ(ТЕКСТ(A2;"ДД ММММ ГГГГ \г.");ВЫБОР(МЕСЯЦ(A2);"ь";"ь";"т";"ь";"й";"ь";"ь"; "т";"ь";"ь";"ь");ВЫБОР(МЕСЯЦ(A2);"я";"я";"та";"я"; "я";"я";"я";"та";"я";"я";"я"))
=СТРОЧН(...)



Эта формула работает! Спасибо большое.
Только не понятно - зачем =СТРОЧН(...) нужно? Работает и без этого.

Функция почему-то не работает :(

275
01 января 2007 года
pashulka
985 / / 19.09.2004
[QUOTE=olen]Только не понятно - зачем =СТРОЧН(...) нужно?[/QUOTE]

Ответ на этот вопрос заключается в Ваших требованиях, цитирую :

[QUOTE=olen]Мне нужно чтобы дата выглядела так: 22 июня 2006 г.[/QUOTE]

P.S. А пользовательская функция естественно работает, так что разбирайтесь, где Вы разместили свою функцию, как вызываете, включены ли макросы ...
15K
02 января 2007 года
olen
11 / / 04.04.2006
Нашёл небольшую ошибку в формуле - нехватает декабря

Вот исправленная, если кому понадобится

=ПОДСТАВИТЬ(ТЕКСТ(C4;"ДД ММММ ГГГГ \г.");ВЫБОР(МЕСЯЦ(C4);"ь";"ь";"т";"ь";"й";"ь";"ь"; "т";"ь";"ь";"ь";"ь");ВЫБОР(МЕСЯЦ(C4);"я";"я";"та";"я"; "я";"я";"я";"та";"я";"я";"я";"я"))

По поводу функции - мои действия (учтите что я профан в программировании):
- alt+F11
- выбрал "эта книга" справа - появилось окошко
- вставил функцию в general, в другом списке появилось Datestring
- сохранил файл
- зашёл в excel не отключая макросы
- не работает

Интересно что я не так сделал (в любом случае - не критично - формула мне удобней)? Просто самому интересно.
Может версия экселя старая?
275
02 января 2007 года
pashulka
985 / / 19.09.2004
Безусловно, добавить пропущенный во время празднования, месяц, никто из читателей этого топика, самостоятельно просто не в состоянии …

Что касается пользовательской функции, то её нужно разместить в стандартном модуле, а не в модуле класса, коим является модуль книги ThisWorkbook (ЭтаКнига)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог