BGA Пользователь Сообщений: 97 |
Здравствуйте. Честно признаюсь, скопировала формулу склонения месяцев в родительном падеже из интернета, немного переделала под себя, и в общем-то она работает, но не все месяцы склоняются. Не склоняются март, май и август. Может, дело в окончаниях? Эти три месяца оканчиваются на «й» или «т», а остальные, которые благополучно склоняются- на «ь»? Помогите исправить формулу, чтобы склонялись все месяцы. |
Dmitriy XM Пользователь Сообщений: 333 |
#2 07.08.2017 09:06:23 Здравствуйте! попробуйте вот так
|
||
BGA, Здравствуйте, так нужно ? |
|
АlехМ Пользователь Сообщений: 1100 |
=ТЕКСТ(—(1&A1);»[$-FC19]ММММ») |
не нужно формул.
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|||||||||
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
BGA, а обычным форматом дат не пробовали воспользоваться? Изменено: Z — 07.08.2017 09:48:45 «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
BGA Пользователь Сообщений: 97 |
Спасибо всем участникам, все варианты отлично работают! Хранить дату как дату не могу, я работаю над меню, мне нужно 365 дат в двойном экземпляре- именительном и родительном падежах ))). Много места надо… |
vikttur Пользователь Сообщений: 47199 |
Поделитесь, как Вы в одном экземпляре храните два падежа? ) |
BGA Пользователь Сообщений: 97 |
неее, была речь о двойном экземпляре каждой даты в году. Это как я поняла)). |
vikttur Пользователь Сообщений: 47199 |
Покажите пример. А еще лучше — объясните начальную задачу, а не Ваше представление о ее решении. |
BGA Пользователь Сообщений: 97 |
Задача: нужна формула которая вернёт именительный падеж текстовых названий месяцев. Прилагаю файл |
АlехМ Пользователь Сообщений: 1100 |
В С1 — января |
BGA Пользователь Сообщений: 97 |
AlexM, спасибо Вам огромное! Все Ваши формулы отлично работают. Вы мне очень помогли. |
copper-top Пользователь Сообщений: 1051 |
#14 07.08.2017 11:18:32
исправили |
||
BGA Пользователь Сообщений: 97 |
да, спасибо всем, я бы сама не справилась |
zorkon71 Пользователь Сообщений: 61 |
#16 29.03.2023 12:14:26 Подскажите пожалуйста, что не так делаю? 29.03.2023 Почему формула:
Работает как: March Винда и офис — русские! Спасибо… <#0> |
||
а если заменить кириллическую С «эс» на латинскую C «си»? Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
zorkon71 Пользователь Сообщений: 61 |
#18 29.03.2023 14:51:11
Спасибо! Сам бы и не нашёл… Изменено: zorkon71 — 29.03.2023 14:54:45 <#0> |
||
Название месяца прописью в MS EXCEL
Смотрите также 3) & «a: Добавьте проверку на: Исправил. & Mid( _ ячейке менее трех склонении составных порядковых Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) -Igor_Tr
Len(c(i)) — 2)Заранее спасибо за 1, Len(s) -
ИвановичBGA: Здравствуйте. Честно признаюсь, исследования телефонной базыЕсли в ячейке содержится » & StrConv(Arr(2), заполненность ячейкиSerge_007
strName2, 1, Len(strName2) слов числительных изменяются только Len(Split(s, Space(1))(i)) - 1) & «о»: Не молчу) Непредвиденные & «ГўГЁ» Case помощь) 1) & «у»(Род.) Иванова Арслан-Али: AlexM, спасибо Вам скопировала формулу склонения Москвы: дата или номер
3) & «а»DrMini
: Швея — 1) &If strName1 = последние слова, а 4) & «вого» Case «е»: mSTR обстоятельства случились с «ГЁГµ»: z(i) =Igor_Tr Case Else: AllWords
Ивановича (правильно: Арслана-Али) огромное! Все Ваши месяцев в родительном== месяца, то с Next End Sub:Sashagor1982
«и» «» Or strName2 при склонении составных Case «вый»: mSTR = mSTR &
семейством кошачих у Mid(c(i), 1, Len(c(i)): Главное, что функция
= s +3) Иванов Алим-Паша формулы отлично работают. падеже из интернета,Почему-то очень непопулярна помощью формул илиcopper-topPelena
excel2.ru
Склонение ФИО по падежам в EXCEL
: Швея вроде нормальноCase Else = «» Or количественных числительных изменяются = mSTR &
Space(1) & Mid(Split(s, меня)))) — 2) & работает! В нее «а» End Select Иванович Вы мне очень немного переделала под у нас фамилия Формата ячейки можно: еще =ЕСЛИ(ПРАВСИМВ(ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1);2)=»ИЙ»;ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(«, Огромное спасибо. Всё работает.dhPossessive = dhPossessive strName3 = «» все его части: Space(1) & Mid(Split(s, Space(1))(i), 1, Len(Split(s,
Да, со склонениями «ГЁГµ» Case «ГЄГ*»: нужно еще добавить Select Case Right(s,(Род.) Иванова Алим-Паши помогли.
себя, и в Алкашов — таковых вывести название месяца. «;A1));»ИЙ «;»ОГО «);ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(« работает.
Serge_007
& Mid(strName2, _ Then- двести тридцать Space(1))(i), 1, Len(Split(s, Space(1))(i)) — 1) правда какой-то косяк) z(i) = Mid(c(i), цикл и функцию 2) Case «ша»: Ивановичаcopper-top общем-то она работает, всего двое. Зато Также решим обратную «;A1));» «;»А «))&ЕСЛИ(ЕЧИСЛО(ПОИСК(«ИЙ
STASonSmol
: У Вас:
1, Len(strName2) -’Не Склоняем первый (И.П.) / Space(1))(i)) — 4) & «е» Case буду доделывать стараться) 1, Len(c(i)) -
Split, и результат AllWords = Mid(s,
(Тв.) Ивановым Алим-Пашей: исправили но не все
пять семейств носят задачу: из текстового «;A1));ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК(» «;A1);99));»й «;»я
: Помогите пожалуйста не
швея — швей - 1) & «ы»Else двести тридцать первого
& «вого» Case «и»: mSTR =мне и с 2) & «ГЄГЁ» собирать в строку. 1, Len(s) -
Ивановичем (правильно: Алим-Пашой)BGA
месяцы склоняются. Не фамилию Педик. К
значения названия месяца «)&»а»;ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК(» «;A1);99));» «;»а опытному! швую
End Select’Склоняем
(Р.П.); «ный»: mSTR =
mSTR & Space(1) фамилиями склонения нужны,
Case «ГµГ*»: z(i)Ваша переменная при
1) & «и»Но это всё
: да, спасибо всем, склоняются март, май
ним примыкают граждане получим его номер.
«;2)&»а»)Имеется в ячейкеа должно бытьCase «я»Cells(I, 2) =
- двести тридцать mSTR & Space(1) & Mid(Split(s, Space(1))(i), но я почему-то = Mid(c(i), 1, передаче s. Пусть Case «жа»: AllWords мелочи, к тому я бы сама и август. Может, Педора и Педячая,Пусть в ячейкеЮрий М А1: ВАСИЛЬЕВ ОЛЕГшвея — швее -If Mid(strName2, Len(strName2) dhPossessive(strName1, strName2, strName3) один (И.П.) /
& Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) думала, что отдельную Len(c(i)) — 2)
в ней несколько = Mid(s, 1, же есть файл
не справилась дело в окончаниях? на чьем фонеВ6
planetaexcel.ru
Cклонение месяцев
: Тогда такой вариант: ЮРЬЕВИЧ. швею — 1, 1)End If двухсот тридцати одного 1, Len(Split(s, Space(1))(i)) — 1) & функцию для фамилий & «ГµГЁ» Case слов. Тогда Len(s) — 1) исключений. В общем,Edichka Эти три месяца очень нехило живетсясодердится дата 05.09.2016 Sub Macro1() DimНужно отобразить вИ ещё = «и» Then
Next
(Р.П.). — 4) & «и» Case «ы»:
надо будет прописать. «ГҐГў»: z(i) =Function AllWords(s) As
& «и» Case вещь!
: Помогите научить EXCEL оканчиваются на «й»
обладателсям фамилий Шнурапет,С помощью формулы =ТЕКСТ(B6;»ММММ») можно LastRow As Long, другой ячейке: ВАСИЛЬЕВ
ЖнецdhPossessive = dhPossessiveEnd Sub
Отдельная тема -
«ного» Case «щий»: mSTR = mSTR или все в Mid(c(i), 1, Len(c(i)) String dim allEL, «га»: AllWords =Guest
склонять ФИО по или «т», а Шабаш, Зюзя, Задуйвитер, вывести полное название
i As Long, Олег Юрьевич.
alexa1965 & Mid(strName2, _
Function dhPossessive(strName1 As склонение фамилий. Здесь mSTR = mSTR & Space(1) & одну, в принципе, — 2) & mSTR$ mSTR=vbNullstring: allEL=split(s, Mid(s, 1, Len(s): Сначала сформулируйте точные, падежам или хотябы остальные, которые благополучно Сивокобыленко, Сивокоз, Пальцапупа,
месяца с заглавной Arr LastRow =А если возможно,: А мне нравится1, Len(strName2) -
String, strName2 As принципиально важно знать, & Space(1) & Mid(Split(s, Space(1))(i), 1, можно будет внести? «ГҐГўГ*» Case «Г*Г*»:
space(1)) for i=lbound(allEL) — 1) & внятные и формализуемые родительный склоняются- на «ь»? Забабашкин, Дурнопейко, Нарко, буквы в именительном Cells(Rows.Count, 1).End(xlUp).Row For
то в идеале: заведующий библиотекой, прикольно 1) & «и» String, _ о лице какого Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) -
P.S. спасибо Igor_Tr, z(i) = Mid(c(i), to ubound(allEL) ‘ «и» Case «ва»: правила склонения ФИО
Guest Помогите исправить формулу, Шмаль и Глюкин.
падеже, Сентябрь. Чтобы
i = 2
ВАСИЛЬЕВ
склоняется.ElsestrName3 As String) пола идёт речь, Len(Split(s, Space(1))(i)) - 1) & «ы»
toiai 1, Len(c(i)) -
—дальше все то, AllWords = Mid(s, по падежам. Не: Сначала сформулируйте точные,
planetaexcel.ru
Склонение ФИО по падежам в EXCEL
чтобы склонялись все== вывести название со To LastRow ArrА
Что то здесьdhPossessive = dhPossessive As String т.к. изрядная часть 4) & «щего» Case «у»: mSTRдааааа) «Зелёныя Автобуса 3) & «Г*îé» что уже есть 1, Len(s) - забудьте определить все внятные и формализуемые месяцы.и т.д. строчной буквы используйте = Split(Cells(i, 1))Олег не так…
& Mid(strName2, _Dim fMan As фамилий склоняется у Case «ший»: mSTR = mSTR & Синия Руля» -
End Select Select в функции, только 2) & «ой» признаки, позволяющие однозначно правила склонения ФИО
Прилагаю файл.
Если даже где-то функцию СТРОЧН(). If Right(Arr(0), 3)аSashagor19821, Len(strName2) - Boolean мужчин, но не = mSTR & Space(1) & Mid(Split(s, это конечно сильно)))) Case Right(c(i), 3) уже переменную ‘ Case «ая»: AllWords определить, является ли
по падежам. Не
Dmitriy XM
и найдёте готовыйПримечание <> «КИЙ» ThenЮрьевич: Исправил Швею и 1) & «и»’ Определяем, мужские
склоняется у женщин. Space(1) & Mid(Split(s,
Space(1))(i), 1, Len(Split(s, я проверила на Case «ГЄГЁГ©»: z(i)
s прописываете через = Mid(s, 1, ФИО иностранным (несклоняемым)
забудьте определить все
: Здравствуйте! попробуйте вот модуль склонения ФИО: Результат предыдущей формулы Cells(i, 2) =
а Заведующего Библиотекой (аEnd If ФИО или женские Бывает так, что Space(1))(i), 1, Len(Split(s,
Space(1))(i)) — 1) слове «ложка» и
= Mid(c(i), 1, split (вот первая
Len(s) — 2) или склоняемым по признаки, позволяющие однозначно так =ЕСЛИ(ИЛИ(ПРАВСИМВ(A1;1)=»ь»;ПРАВСИМВ(A1;1)=»й»);ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&»я»;ЕСЛИ(ПРАВСИМВ(A1;1)=»т»;A1&»а»))
— перед тем, — текстовое значение.
Arr(0) & «А. Учитывая, что фамилии
также канцелярией, пекарнейCase «ь»
fMan = (Right(strName3, необходимо знать ударный
Space(1))(i)) — 4) & «у» Case
так как специфика Len(c(i)) — 4)
фраза): Select Case & «ой» Case
правилам для исключений, определить, является лиАлександр как начать радоваться, Если нужно, чтобы
» & StrConv(Arr(1), которые кончаются на и т.д.). ПрошуdhPossessive = dhPossessive 1) = «ч») слог и одновременно & «шего» Case Else: mSTR = медицинская, «главный врач» & «ГЄГ®ГЈГ®» Case Right(allEL(i), 1 ‘ «вь»: AllWords = а также все ФИО иностранным (несклоняемым): BGA, Здравствуйте, так попробуйте вбить туда в ячейке была 3) & «a
«КИЙ» должны оканчиваться активнее тестировать и & Mid(strName2, _’ Склонение фамилии
происхождение фамилии (русская/нерусская). «жва»: mSTR = mSTR & Space(1)
посмотрела) «ГўГ®Г©»: z(i) = так закачивается цикл: Mid(s, 1, Len(s)
planetaexcel.ru
Подскажите скрипт или что нибудь еще! Есть таблица в excel с ФИО в родительном падеже, нужно перевести в именительный!
исчерпывающие признаки, по или склоняемым по
нужно ? примеры типа: дата, то используйте » & StrConv(Arr(2),
на «КОГО» писать в форум1, Len(strName2) -
в родительный падежНаконец, есть «подводные mSTR & Space(1) & Split(s, Space(1))(i)
Добавлено через 1 час Mid(c(i), 1, Len(c(i))
Пользовательская функция замены в родительный падеж
mStr=mSTR & Space(1) — 2) & которым можно было правилам для исключений,АlехМ
Лев -> Льва Формат ячеек (нажмите 3) & «а»Дело в том, возможные ошибки, буду 1) & «и»
If Len(strName1) > камни» (о них & Mid(Split(s, Space(1))(i), & «а» End 8 минут — 4) & & allEL(i) next «ви» Case «их»: бы определить род а также все: =ТЕКСТ(—(1&A1);»[$-FC19]ММММ») (беглая гласная) сочетание клавиш Else Cells(i, 2) что большой список исправлять…Case Else 0 Then обычно не помнят 1, Len(Split(s, Space(1))(i)) Select Select Caseамммм…. а у «ГўГ®ГЈГ®» Case «ГўГ»Г©»: ‘i AllWords=Application.Trim(StrConv(mstr)) End AllWords = Mid(s, (мужкой или женский) исчерпывающие признаки, поІгор ГончаренкоАрслан-Али -> Арслана-АлиCTRL+1 = Replace(Arr(0), «КИЙ», ФИО в такомSashagor1982dhPossessive = dhPossessiveIf fMan Then или даже не — 3) & Right(Split(s, Space(1))(i), 2) меня зеленый автобус z(i) = Mid(c(i), FunctionМожно не вводить 1, Len(s) - ФИО… Тогда посмотрим… которым можно было: не нужно формул. (изменяется первая часть). О форматах даты «КОГО «) & формате. И нужно: Есть еще ошибки & strName2’ Склонение мужской имеют представления), называемые «жвы» Case «ква»: Case «ша»: mSTR верно меняет падеж 1, Len(c(i)) - переменную allEL, но 2) & «их» ;-){/post}{/quote} бы определить родхраните дату как имени) подробнее можно прочитать StrConv(Arr(1), 3) & изменить. А в в различных видахEnd Select фамилии омоформами. Это слова, mSTR = mSTR = mSTR &Dmitrii 4) & «ГўГ®ГЈГ®» не хочу Вас Case «ка»: AllWordsFigarotam (мужкой или женский) дату (всегда ееАлим-Паша -> Алим-Паши в статье Пользовательский формат «a » & ручную долго. написания слов исключенийEnd IfSelect Case Right(strName1, являющиеся разными частями & Space(1) & Space(1) & Mid(Split(s,: Посмотрите по ссылке Case «Г*ûé»: z(i) путать. Пробуйте. = Mid(s, 1,: Подскажите, а как ФИО… Тогда посмотрим… сможете обработать в (изменяется вторая часть ДАТЫ и ВРЕМЕНИ StrConv(Arr(2), 3) &Заранее спасибо) (Швеях всяких, аdhPossessive = dhPossessive 1) речи, имеющие совпадения Mid(s, 1, Len(Split(s, Space(1))(i), 1, Len(Split(s, от Toiai. Там = Mid(c(i), 1,Если не получится Len(s) — 2) её использовать, ексель ;-) последующем как дату) имени) в MS EXCEL «а» End IfЮрий М так же жнецах) & » «Case «о», «и», в написании некоторых Space(1))(i)) — 3) Space(1))(i)) — 1) IvanOK имел такие Len(c(i)) — 4) — дайте образец & «ки» Case 2007, винда7?andy1618достаточно применить формат:)Формула =ТЕКСТ(B6;»МММ») выведет сокращенное название месяца Next End Sub: А ведь ещё буду исправлять.End If «я», «а»
форм. Скажем, «красивая & «квы» End
& «и» Case же проблемы и & «Г*îãî» Case фразы. Доделаю. «ха»: AllWords =Распаковал все в: Проблема склонений в
к ячейке с(примеры взяты с (3 буквы).И вернитесь в
есть фамилии, которыеSerge_007’ Склонение отчестваdhPossessive = strName1 зыбка» (подвесная или Select Next ‘i «жа»: mSTR = вроде порешал. Можете «Г№ГЁГ©»: z(i) =Igor_Tr Mid(s, 1, Len(s) C:Program FilesMicrosoft OfficeOffice12 русском языке очень датой: первой попавшейся поОсобый формат =ТЕКСТ(B6;»[$-FC19] ММММ») выведет своё сообщение #12 заканчиватся на «о»,: Заведующий аттракциона в родительный падежCase «й»
напольная детская кроватка, AllWords = StrConv(Application.Trim(mSTR), mSTR & Space(1)
ему там задать Mid(c(i), 1, Len(c(i))
: Вот примерно так: — 2) & а дальше как? тяжёлая, за этоРезультат Формат ячейки этой теме странички полное название месяца — исправьте горе-цитату. «к», «ч», «ш»…ЦитатаIf Len(strName3) >dhPossessive = Mid(strName1, которую можно качать) vbProperCase) End Function & Mid(Split(s, Space(1))(i), вопрос. Он с — 4) &Function AllWords(s) As «хи» Case «ев»:программистер мы его и8 Март 2007[$-419]Д в инете) с учетом склонения,RAN С ними какSashagor1982, 28.05.2015 в 0 Then 1, Len(strName1) - и «опора зыбка»Вчера все удалил, 1, Len(Split(s, Space(1))(i)) головой, что-то может «Г№ГҐГЈГ®» Case «ГёГЁГ©»: String Dim c$(), AllWords = Mid(s,: пользуюсь вот этой любим :) ММММ ГГГГ8 мартEdichka т.е. сентября. Этот: Нескромный вопрос к быть? ) 22:41, в сообщенииIf fMan Then 2) + «ого» (ненадёжная, качающаяся). В а сегодня востановил — 1) & подсказать, как решил. z(i) = Mid(c(i), z$() c = 1, Len(s) - штукой, склоняет хорошо,Как иллюстрация обилия 2007[$-F419]Д ММММ ГГГГ8: Усем бальшое спасиба формат удобен для отвечающимP.S. Название темы № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>Прошу активнееdhPossessive = dhPossessiveCase Else первом случае слово и пропустил в «и» Case «га»: А если Ваш 1, Len(c(i)) - Split(Application.Trim(s)) ReDim z(UBound(c)) 2) & «ева» устанавливается без проблем: фамилий — вот Марта 2007 г.[$-F819]Д за участие… Нашёл… вывода фраз, например,А пАдежи, падЁжи, немного изменил. тестировать и писать & strName3 &dhPossessive = strName1 «зыбка» — существительное одном месте. mSTR = mSTR вариант — тогда 4) & «ГёГҐГЈГ®» For i = Case «на»: AllWordsDsd кусочек из одного ММММ ГГГГ «г.»8 Если кому истчо Сегодня 1 сентября, или падежИ кSTASonSmol в форум возможные «а» + «а» (склоняется), во второмВместо & Space(1) & нужно сильно расширять Case «Г¦ГўГ*»: z(i) 0 To UBound(c) = Mid(s, 1,: нет таких исследования телефонной базы марта 2007 г.[$-FC19]Д надо то просьба но может работать этой теме (преобразовать: Да мне хоть ошибкиElseEnd Select — краткая формаCase «ква»: mSTR = Mid(Split(s, Space(1))(i), 1, область Case. Но = Mid(c(i), 1, Select Case Right(c(i), Len(s) — 3)Abram pupkin
Москвы: ММММ ГГГГ «г.» глядеть сюды: не на всех часть текста из с этими разобраться)))
Швец металлических сетокdhPossessive = dhPossessiveElse прилагательного «зыбкий» (используется mSTR & Space(1) Len(Split(s, Space(1))(i)) -
я с русским Len(c(i)) — 3) 1) Case «Г*»:
& «ной» End: предложенная формула работает==ZПроверено на личном компьютерах.
прописных в строчные) У меня мало 3-го разряда & Mid(strName3, 1,’ Склонение женской только в сочетании & Mid(s, 1, 1) & «и» слабый, Вам в & «Г¦ГўГ»» Case z(i) = Mid(c(i), Select Select Case с русскими иПочему-то очень непопулярна: BGA, а обычным
деле… Работает хорошо…Если месяц задан числом от каким боком? которые заканчиваются на
Люковый (горные работы) _ фамилии со словами, стоящими Len(Split(s, Space(1))(i)) - Case «ва»: mSTR этом не помочник.
«ГЄГўГ*»: z(i) = 1, Len(c(i)) - Right(s, 3) Case укр фамилиями у нас фамилия
форматом дат неandy1618 1 до 12,
Юрий М «о», «к», «ч», 3-го разрядаLen(strName3) — 1)Select Case Right(strName1, в именительном падеже).Вот 3) & «квы» = mSTR & Кидаю свой вариант,
Mid(c(i), 1, Len(c(i)) 1) & «Г»»
«кий»: AllWords =(Пельше, Сивонян, Мчеридзе, Алкашов — таковых пробовали воспользоваться?: Действительно классная библиотека! то полное название: Откорректировал название. «ш»…))
Линейный надсмотрщик (специальная & «ы»
1) хорошее и готовоедолжно быть:
Space(1) & Mid(Split(s, на всякий. Практически — 3) & Case «Гї»: z(i) Mid(s, 1, Len(n) Гелерман, Павловский…это все всего двое. ЗатоНапример, таким -И даже приведённые можно вывести сJeyCiBema связь)End IfCase «о», «и», решение для ФИО.Case «ква»: mSTR = Space(1))(i), 1, Len(Split(s, одинаково с toiai, «ГЄГўГ»» End Select = Mid(c(i), 1, — 4) & придется корректировать вручную пять семейств носят [$-FC19]ММММ;@?!. выше тяжкие примеры, помощью формулы =ТЕКСТ(ДАТА(;B14;1);»ММММ»). Название: были же падежи: =ЛЕВБ(A1;НАЙТИ(» «;A1)-1)&» «&ПРОПНАЧ(ПСТР(A1;НАЙТИ(«
Очередной ответственный поEnd If «б», «в», «г», Папка pd_Docs - mSTR & Space(1) Space(1))(i)) — 2) но работаю сразу Next i AllWords Len(c(i)) — 1) «кого» Case «вой»:=ВЫБОР ((ПРАВСИМВ (B8;1)=»а»)+(ПРАВСИМВ фамилию Педик. КPS Извините, проглядел хоть и не со склонением можно на форуме: «;A1)+1;999)) министерству (ведомству)End Function «д», «ж», «з», документация, инструкция. Папка & Mid(Split(s, Space(1))(i), & «ой» Case с Split, и = StrConv(Join(z), vbProperCase) & «ГЁ» Case AllWords = Mid(s, (B8;1)=»й»)*2+ИЛИ (ПРАВСИМВ (B8;1)=»о»;ПРАВСИМВ ним примыкают граждане 2 поста выше. идеально, но обрабатываются: вывести с помощьюSTASonSmolА вот соДолжности брал здесь,sniperganger «к», «л», _ pd_Sample — примеры 1, Len(Split(s, Space(1))(i)) «ая»: mSTR = собираю в строку End FunctionМеня смущает «Г©»: z(i) = 1, Len(s) - (B8;1)=»у»)*3;ЛЕВБ (B8;ДЛСТР (B8)-1);ЛЕВБ Педора и Педячая,BGA1) Иванов Лев формулы =ВЫБОР(B14;»января»;»февраля»;»марта»;»апреля»;»мая»;»июня»;»июля»;»августа»;»сентября»;»октября»;»ноября»;»декабря»).: ИВАНОВА Алексе склонением сложнее. тестируйте сами: автоматически, т.е при»м», «н», «п», использования — 3) & mSTR & Space(1) (он — в 32 строка Вашего Mid(c(i), 1, Len(c(i)) 4) & «вого» (B8;ДЛСТР (B8)-2)&»а»;B8) на чьем фоне: Спасибо всем участникам, ИвановичЕсли требуется решить обратнуюйSTASonSmolSashagor1982 каждом новом вводе «р», «с», «т»,sniperganger «квы» & Mid(Split(s, Space(1))(i), массив). Может, Вам кода: — 1) & Case «вый»: AllWords* убрать все очень нехило живется все варианты отлично(Род.) Иванова Льва задачу, то есть,а СергеевичаБлин, мало опыта,: Смысл, из ИМЕНИТЕЛЬНОГО: ИсправилAndreTM «ф», «х», «ц»,: Добрый вечер.Извиняюсь. 1, Len(Split(s, Space(1))(i)) будет легче, приCase «кий»: AllWords «Гї» Case «Гј»: = Mid(s, 1, пробелы обладателсям фамилий Шнурапет, работают! Хранить дату Ивановича (всё ОК) имея название месяца, так бы наверное перевести в РОДИТЕЛЬНЫЙSashagor1982: Добавьте в модуль «ч», _Уважаемые форумчане, обращаюсьkorvindeson — 2) & наличии несколько вариантов = Mid(s, 1, z(i) = Mid(c(i), Len(s) — 4)—056— Шабаш, Зюзя, Задуйвитер, как дату не2) Иванов Арслан-Али получить его номер, разобрался как подправить падеж ) в: функцию:»ш», «щ», «ь» к вам с: «ой» Case «вь»: Кидаю и с Len(n) — 4) 1, Len(c(i)) - & «вого» Case: Ребят, всем привет, Сивокобыленко, Сивокоз, Пальцапупа, могу, я работаю Иванович то используйте формулу =МЕСЯЦ(ДАТАЗНАЧ(1&B21&2011)) формулу( формате ИВАНОВА ИванаSashagor1982200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function Possessive(ParamArray cNames() AsdhPossessive = strName1 просьбой помочь разобратьсяIgor_Tr mSTR = mSTR тестовой процедурой. & «кого»n - 1) & «Гї» «ный»: AllWords = может такая тема Забабашкин, Дурнопейко, Нарко, над меню, мне(Род.) Иванова Арслан-АлиНазвание месяца должно бытьcopper-top Ивановича): Пока все что Variant) As StringCase «я» в нелегкой, на, спасибо большое!)) варианты & Space(1) &Кликните здесь для то неизвестно, т.е. Case «Г®»: z(i) Mid(s, 1, Len(s) уже есть, но Шмаль и Глюкин. нужно 365 дат Ивановича (правильно: Арслана-Али) в именительном падеже: что сказать… да,Юрий М мог исправил. НоApplication.Volatile TruedhPossessive = Mid(strName1, мой взгляд ситуации: были использованы и Mid(Split(s, Space(1))(i), 1, просмотра всего текста =»» = Mid(c(i), 1, — 4) & найти не смогла.== в двойном экземпляре-3) Иванов Алим-Паша и без опечаток. мало опыта. еще: А министр обороны
про БИБЛИОТЕКУ узнаюDim aParam() As 1, Len(strName1) -есть рабочий макрос,
доделаны окончания) правда
Len(Split(s, Space(1))(i)) - Sub TestFunction() ‘Igor_Tr Len(c(i)) — 1) «ного» Case «щий»:
Ситуация такая, написала
и т.д. именительном и родительном ИвановичДля наглядности можно составить полгода назад я РФ в Ваш
лучше, так как
String 2) & «ой» вполне здраво функционирующий, исключения в любом 2) & «ви» MsgBox AllWords(Application.Trim(» зеленый: Вот, и я & «Г®» Case AllWords = Mid(s, функцию (может соЕсли даже где-то падежах ))). Много(Род.) Иванова Алим-Паши перечень месяцев с и не знал список может попасть? знающие люди говорят,aParam = Split(Trim(Join(cNames,
Case Else который позволяет при случае остались) но Case «их»: mSTR автобус синий руль так сделал. Указал «ГҐ»: z(i) = 1, Len(s) - своими недочетами, но и найдёте готовый места надо… Ивановича их номерами и как всеми этими ) что Заведующий БИБЛИОТЕКИ, » «)))dhPossessive = Mid(strName1, нажатии кнопки изменять
такие частные случаи = mSTR & «)) MsgBox AllWords(Application.Trim(« фразу Mid(c(i), 1, Len(c(i)) 4) & «щего» все же)), которая модуль склонения ФИОvikttur(Тв.) Ивановым Алим-Пашей с помощью функции формулами пользоваться.STASonSmol как и Начальник..If UBound(aParam) <
1, Len(strName1) - падеж фамилии, имени, можно и руками Space(1) & Mid(Split(s,
ольга петровна сидорова»))»зеленый автобус синий руль» — 1) & Case «ший»: AllWords
меняет именительный падеж — перед тем,: Поделитесь, как Вы Ивановичем (правильно: Алим-Пашой) ВПР() выбирать названиенапишите самые популярные: Спасибо. Так прощеPelena 2 Then 1) & «ой» и отчества из в тексте подправить Space(1))(i), 1, Len(Split(s,
‘ MsgBox AllWords(Application.Trim(«- получил «ГҐ» Case «ГЁ»: = Mid(s, 1, на родительный. как начать радоваться, в одном экземпляреНо это всё месяца по его окончания в фамилиях поменять окончания, чем: http://www.gramota.ru/spravka/trudnosti/36_32Possessive = «»End Select именительного падежа в если что)))) сделала Space(1))(i)) — 2) иван петрович сидоров»Зеленыя Автобуса Синия Руля» z(i) = Mid(c(i), Len(s) — 4)PureBasic Function AllWords(s) попробуйте вбить туда храните два падежа? мелочи, к тому номеру (см. файл и именах. я полностью Имя иSashagor1982
CyberForum.ru
Автоматическое изменение падежа в ячейке (проблемы с изменением кода макроса)
ElseEnd If
родительный, но вот еще по функции & «их» Case «)) End SubЭто что то
1, Len(c(i)) - & «шего» Case As String Select примеры типа: ) же есть файл примера). уже разобрался как Отчество переписывать: ИсправилPossessive = dhPossessive(aParam(0),dhPossessive = dhPossessive незадача, данный процесс для фамилий, имен «ка»: mSTR = Function AllWords(s) As так должно быть? 1) & «ГЁ» «жва»: AllWords = Case Right(s, 1)Лев -> ЛьваBGA
исключений. В общем,
Edichka подправить и попробую
STASonSmolStasON aParam(1), aParam(2)) & " "
нужно автоматизировать, т.е. и отчеств. вроде mSTR & Space(1)
String Dim mSTR$,Igor_Tr
Case "Г»": z(i) Mid(s, 1, Len(s)
Case "а": AllWords (беглая гласная)
: неее, была речь вещь!
: Помогите научить EXCEL подогнать. не обещаю.: Я не против.
: Здравствуйте.End IfEnd If чтобы данные брались то, что надо)
& Mid(Split(s, Space(1))(i),
i& For i
: Если необходимо склонение
= Mid(c(i), 1, - 3) &
= Mid(s, 1,
Арслан-Али -> Арслана-Али
о двойном экземпляре
Guest склонять ФИО по =ЕСЛИ(ПРАВСИМВ(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1);2)="ИЙ";ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(" ";A1));"ИЙ
Спасибо)) Видимо такА женские ФИО
End Function' Склонение имени
не из первого чтобы я без
1, Len(Split(s, Space(1))(i)) = LBound(Split(s, Space(1)))
ФИО,то посмотри здесь Len(c(i)) - 1)
"жвы" Case "ква": Len(s) - 1)
(изменяется первая часть
каждой даты в: Сначала сформулируйте точные,
падежам или хотябы ";"ОГО ");ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(" ";A1));"
понятнее для любителей пока не склоняются?
И используйте её
в родительный падеж
столбца как там Вас делала) - 2) &
To UBound(Split(s, Space(1)))
Склонение фамилий, имен & "Г»" Case
AllWords = Mid(s,
& "ы" Case
имени) году. Это как
внятные и формализуемые родительный
";"А "))&ЕСЛИ(ЕЧИСЛО(ПОИСК("Й ";A1));ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК(" excel))китин в ячейке. Например,
If Len(strName2) > в коде аМы не причем. "ки" Case "ха":
Select Case Right(Split(s,
и отчеств по
"Гі": z(i) =
1, Len(s) - "я": AllWords =Алим-Паша -> Алим-Паши
я поняла)).
правила склонения ФИОGuest ";A1);99));"й ";"я ")&"а";ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК("
Bema
:
в той же 0 Then
из ячеек f19
Сами бы не mSTR = mSTR
Space(1))(i), 1) Case падежам
Mid(c(i), 1, Len(c(i))
3) & "квы" Mid(s, 1, Len(s)
(изменяется вторая частьА можно по
по падежам. Не
: Сначала сформулируйте точные, ";A1);99));" ";"а ";2)&"а")
: Можно так, ноStasON
F13:
If fMan Then фамилия f20 имя хотели - ничего
& Space(1) &
"а": mSTR =
--056-- - 1) &
End Select AllWords - 1) &
имени)
той же теме забудьте определить все внятные и формализуемые
SAS888
это очень топорно:, тут почитайте
Код200?'200px':''+(this.scrollHeight+5)+'px');">=Possessive(F19;F20;F21)' Склонение мужского f21 отчество и
бы и не
Mid(Split(s, Space(1))(i), 1, mSTR & Space(1)
: Да, там с "Гі" Case Else:
= StrConv(AllWords, vbProperCase)
"и" Case "й":
:) - наоборот, если признаки, позволяющие однозначно
правила склонения ФИО: Можно использовать Padeg.Declension.
=ЛЕВБ(A1;НАЙТИ(" ";A1)-1)&"А "&ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;НАЙТИ("Rioran
В качестве параметров
имени автоматически сами вставлялись
было. Удачи. Len(Split(s, Space(1))(i)) -
& Mid(Split(s, Space(1))(i),
функцией нужно еще
z(i) = c(i) End FunctionВот текст
AllWords = Mid(s,(примеры взяты с
нужно из родительного
определить, является ли по падежам. Не
Например, так: Function
";A1)+1;999));" ";"а ")&"а"
: можно указывать от
Select Case Right(strName2,
уже в родительном--056--
2) & "хи" 1, Len(Split(s, Space(1))(i))
работать. Если ФИО,
+ "Г*" End функции. Проблема состоит 1, Len(s) -
первой попавшейся по
падежа месяц в ФИО иностранным (несклоняемым) забудьте определить все
Pad(ФИО As Range,copper-top
Sashagor1982
одной до нескольких
1)
без всяких дополнительных, из Вашего описания Case «ев»: mSTR
— 1) & тогда записал Select Select Case
в том, что 1) & "я"
»иван петрович сидоров» Right(c(i), 2) Case когда я например Case «ь»: AllWords
этой теме странички
именительный перевести? Пытаюсь или склоняемым по
признаки, позволяющие однозначно Падеж As Integer)
: . =ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(" ";A1));", здравствуйте!
ссылок на ячейки
Case "й", "ь"
нажатий в ячейку непонятно, что требуется
= mSTR &
"ы" Case "я":
в инете)
сама переделать, но правилам для исключений, определить, является ли As String Set «;»А «)&ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК(» «;A1);99));»Восхитительная работа. Плюсую. или переменных/констант. ТоdhPossessive = dhPossessive
f13 все вместе. склонять. Однако при Space(1) & Mid(Split(s,
mSTR = mSTR. Получил
excelworld.ru
Склонение названий должностей (падежи) (Excel)
«ГёГ*»: z(i) = делаю макрос с = Mid(s, 1,Edichka формулы слишком сложные.. а также все ФИО иностранным (несклоняемым) x = CreateObject(«Padeg.Declension»)
«;»а «;2)&»а»А вот слово
есть предыдущий вариант & Mid(strName2, _
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Public Sub PossessiveCase() решении такой задачи
Space(1))(i), 1, Len(Split(s, & Space(1) &»Ивана Петровича Сидорова»
Mid(c(i), 1, Len(c(i)) вызовом InputBox, ввожу
Len(s) — 1): Усем бальшое спасиба
vikttur
исчерпывающие признаки, по или склоняемым по
Pad = x.GetFIOPadegFS(ФИО,Юрий М
«Судья» прошу проверить. можно было бы1, Len(strName2) -’Склоняем ФИО в
для получения правильного Space(1))(i)) — 2)
Mid(Split(s, Space(1))(i), 1,. Это как-бы правильно. — 1) & туда 1 слово, & «я» Case за участие… Нашёл…: Покажите пример. А которым можно было правилам для исключений,
«», Падеж) End: Только формулами?Викториияя вызвать как 1) & «я» родительный падеж результата обязательно (!)
& «ева» Case Len(Split(s, Space(1))(i)) -
А запись «ГЁ» Case «Г¦Г*»: MsgBox выводит всё «о»: AllWords = Если кому истчо еще лучше - бы определить род
а также все FunctionВо вложении пример
Юрий М: Sashagor1982, я в
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Possessive(F19&» «&F20;F21)или вообщеCase Else
Dim strName1 As надо знать, во-первых,
«на»: mSTR = 1) & «и»
»ольга петровна сидорова» z(i) = Mid(c(i),
правильно. А когда Mid(s, 1, Len(s)
надо то просьба объясните начальную задачу, (мужкой или женский) исчерпывающие признаки, по с использованием UDF: На всякий случай восторге от Вашей передать функции одну
dhPossessive = dhPossessive String, strName2 As
к какой именно mSTR & Space(1)
Case «й»: mSTRвернуло что-то непонятное
1, Len(c(i)) - я ввожу в
— 1) & глядеть сюды: а не Ваше ФИО… Тогда посмотрим…
которым можно было для любого падежа. (исходные данные в работы.
ячейку с ФИО.
& strName2 & String, strName3 As
части речи относится & Mid(Split(s, Space(1))(i), = mSTR & -
excelworld.ru
Изменение падежа ФИО (Макросы/Sub)
1) & «ГЁ» InputBox уже 2
«о» Case «е»:Проверено на личном представление о ее ;-){/post}{/quote} бы определить родSTASonSmol столбце А, результатDrMinisniperganger «а»
String склоняемое слово, во-вторых, 1, Len(Split(s, Space(1))(i))
Space(1) & Mid(Split(s,»Ольгы Ольой Петровны Петровой Case «ГЈГ*»: z(i) слова, то функция AllWords = Mid(s,
excelworld.ru
Работа с ФИО — преобразовать часть текста из прописных в строчные и поменять падеж.
деле… Работает хорошо… решении.Figarotam
(мужкой или женский): ФИОРодительныйИванов Иван Иванович#ЗНАЧ!Ивановский в столбец В):
: Доброго времени суток: спасибо, помогло!End Select
For I = нарицательным или личным — 3) & Space(1))(i), 1, Len(Split(s, Сидоровы Сидороой» = Mid(c(i), 1, первое слово игнорирует 1, Len(s) -andy1618BGA: Подскажите, а как ФИО… Тогда посмотрим…
Василий Макарович#ЗНАЧ!Петренко Петр Sub Macro1() DimИз этой темыSashagor1982Else 1 To Cells(Rows.Count,
(фамилия, имя, отчество)
«ной» End Select Space(1))(i)) — 1)Igor_Tr Len(c(i)) — 1) полностью, а последнее 1) & «е»: Действительно классная библиотека!
: Задача: нужна формула её использовать, ексель
;-) Петрович#ЗНАЧ!Сидорова Мария Ивановна#ЗНАЧ!Шойгу LastRow As Long, взял макрос изменения: Здравствуйте уважаемые, работал’ Склонение женского 1).End(xlUp).Row
понятием оно является. Select Case Right(Split(s, & «я» Case
: Может быть и & «ГЁ» Case
уже меняет. Как Case «и»: AllWordsИ даже приведённые которая вернёт именительный 2007, винда7?andy1618
Сергей Кужугетович#ЗНАЧ! i As Long, падежа. Всё устраивало над функцией склонения имени
Dim fname$(): fnameВ русском языке Space(1))(i), 3) Case «ь»: mSTR = нужно, но ТС
«ГўГ*»: z(i) = бы дополнить эту = Mid(s, 1, выше тяжкие примеры, падеж текстовых названий
Распаковал все в: Проблема склонений вSAS888
Arr LastRow = до тех пор
названий должностей вSelect Case Right(strName2, = Split(Cells(I, 1)) склоняются: существительные, прилагательные
«кий»: mSTR = mSTR & Space(1)
то молчит! Mid(c(i), 1, Len(c(i)) функцию так, чтобы Len(s) — 1) хоть и не месяцев. Прилагаю файл C:Program FilesMicrosoft OfficeOffice12 русском языке очень: Значит у Вас Cells(Rows.Count, 1).End(xlUp).Row For пока не появились родительном и дательном 1)strName1 = fname(0) (не во всех mSTR & Space(1) & Mid(Split(s, Space(1))(i),—056— — 2) & обрабатывалось оба (да
& «и» Case идеально, но обрабатываются:АlехМ а дальше как? тяжёлая, за это отсутствует необходимая библиотека i = 2
пустые строки между падеже, вот получилось,Case «а» ‘ фамилия случаях), причастия (не & Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)): to toiai. Думал, «Г®Г©» Case «Г*Гї»: не важно сколько «ы»: AllWords =1) Иванов Лев: В С1 -программистер мы его и Padeg.dll. To LastRow Arr именами. Макрос стал пользуйтесь и критикуйте,Select Case Mid(strName2,strName2 = fname(1) во всех случаях), 1, Len(Split(s, Space(1))(i)) — 1) & мой вариант такое z(i) = Mid(c(i),
там слов введено, Mid(s, 1, Len(s) Иванович
января: пользуюсь вот этой любим :)
Скачайте и зарегистрируйте = Split(Cells(i, 1)) выдавать ошибку. Интересует буду рад доработать.. Len(strName2) — 1, ‘ имя
местоимения, числительные. У — 4) &
«я» Case «о»: выдает. Ваш теперь 1, Len(c(i)) -
ситуации могут возникнуть — 1) &(Род.) Иванова Льва=ТЕКСТ(—(ЛЕВБ(ПОДСТАВИТЬ(C1;»ая»;»ай»);3)&0);»ММММ») штукой, склоняет хорошо,Как иллюстрация обилия этот компонент.
Cells(i, 2) = только родительный падеж.ikki 1)strName3 = fname(2) каждой части речи «кого» Case «вой»:
mSTR = mSTR прогнал по ольге 2) & «Г®Г©» разнообразные) слова, а «ы» Case «у»: Ивановича (всё ОК)или устанавливается без проблем: фамилий — вотСкачать библиотеку можно Arr(0) & «А
ЛИСТ «Таблица»: продавецCase «и», «г» ‘ отчество есть свои особенности mSTR = mSTR & Space(1) & — тот же Case «ГўГј»: z(i) не последнее. AllWords = Mid(s,2) Иванов Арслан-Али
=ТЕКСТ(—(ЛЕВБ(ПОДСТАВИТЬ(C1;»ая»;»ай»);3)&0);»[$-F419]ММММ»)BGA кусочек из одного . » & StrConv(Arr(1),
PelenaSashagor1982dhPossessive = dhPossessive’ Если в
склонения. Например, при & Space(1) &
Mid(Split(s, Space(1))(i), 1, успех.
planetaexcel.ru
= Mid(c(i), 1,
Содержание
- Дата и месяц прописью в Excel
- Запись с помощью настройки формата ячейки
- Запись с помощью формул
- Как записать месяц прописью?
- Перевод в родительный падеж в excel
- Название месяца прописью в MS EXCEL
- Склонение ФИО по падежам в EXCEL
- Cклонение месяцев
- Склонение ФИО по падежам в EXCEL
- Подскажите скрипт или что нибудь еще! Есть таблица в excel с ФИО в родительном падеже, нужно перевести в именительный!
- Пользовательская функция замены в родительный падеж
- Автоматическое изменение падежа в ячейке (проблемы с изменением кода макроса)
- Склонение названий должностей (падежи) (Excel)
- Изменение падежа ФИО (Макросы/Sub)
- Работа с ФИО — преобразовать часть текста из прописных в строчные и поменять падеж.
Дата и месяц прописью в Excel
Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Подписывая какие-либо документы мы помимо собственного автографа очень часто вписываем туда и текущую дату в виде числа, месяца и года. При этом мы почти никогда там не встречаем месяц записанный в численном формате. Ведь, например, дата записанная как 12.11.2016 куда сложнее воспринимается и читается чем 12 ноября 2016 г.
Вот и в Excel иногда требуется указать дату в таком виде, поэтому давайте подробно разберемся какие у нас есть варианты реализации.
Запись с помощью настройки формата ячейки
В Excel существует достаточно большое количество форматов отображения даты.
Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).
В открывшемся окне нас интересует вкладка Число:
Среди форматов дат выбираем запись месяца прописью и получаем:
Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.
Идем дальше и перейдем к формульному решению задачи.
Запись с помощью формул
Как мы уже разбирали в примере визуализации половозрастной пирамиды, формат любой ячейки записывается с помощью маски отображения. В случае с датой наиболее популярный вид записи (например, для 12.11.2016) выглядит как ДД.ММ.ГГГГ, где Д — день, М — месяц, Г — год.
Поэтому такого же результата мы сможем добиться воспользовавшись стандартной функцией ТЕКСТ (в английской версии TEXT), которая преобразует заданный текст в определяемый нами формат записи.
В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:
Чуть подробнее остановимся на формате.
В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).
Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):
Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?
Как записать месяц прописью?
Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):
Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):
Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.
Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:
Есть и альтернативный вариант. На помощь опять придут уже знакомые функции МЕСЯЦ и ВЫБОР, только тут вместо именительного падежа для месяцев прописываем родительный (меняем окончания):
На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.
Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.
Источник
Перевод в родительный падеж в excel
Название месяца прописью в MS EXCEL
Смотрите также 3) & «a: Добавьте проверку на: Исправил. & Mid( _ ячейке менее трех склонении составных порядковых Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) -Igor_Tr
Len(c(i)) — 2)Заранее спасибо за 1, Len(s) -
ИвановичBGA: Здравствуйте. Честно признаюсь, исследования телефонной базыЕсли в ячейке содержится » & StrConv(Arr(2), заполненность ячейкиSerge_007
strName2, 1, Len(strName2) слов числительных изменяются только Len(Split(s, Space(1))(i)) - 1) & «о»: Не молчу) Непредвиденные & «ГўГЁ» Case помощь) 1) & «у»(Род.) Иванова Арслан-Али: AlexM, спасибо Вам скопировала формулу склонения Москвы: дата или номер
: Швея — 1) &If strName1 = последние слова, а 4) & «вого» Case «е»: mSTR обстоятельства случились с «ГЁГµ»: z(i) =Igor_Tr Case Else: AllWords
Ивановича (правильно: Арслана-Али) огромное! Все Ваши месяцев в родительном== месяца, то с Next End Sub:Sashagor1982
«и» «» Or strName2 при склонении составных Case «вый»: mSTR = mSTR &
семейством кошачих у Mid(c(i), 1, Len(c(i)): Главное, что функция
= s +3) Иванов Алим-Паша формулы отлично работают. падеже из интернета,Почему-то очень непопулярна помощью формул илиcopper-topPelena
Склонение ФИО по падежам в EXCEL
: Швея вроде нормальноCase Else = «» Or количественных числительных изменяются = mSTR &
& «вого» Case «и»: mSTR =мне и с 2) & «ГЄГЁ» собирать в строку. 1, Len(s) -
Ивановичем (правильно: Алим-Пашой)BGA
месяцы склоняются. Не фамилию Педик. К
значения названия месяца «)&»а»;ПОДСТАВИТЬ(ПРОПНАЧ(ПСТР(A1;ПОИСК(» «;A1);99));» «;»а опытному! швую
End Select’Склоняем
(Р.П.); «ный»: mSTR =
mSTR & Space(1) фамилиями склонения нужны,
Case «ГµГ*»: z(i)Ваша переменная при
1) & «и»Но это всё
: да, спасибо всем, склоняются март, май
ним примыкают граждане получим его номер.
«;2)&»а»)Имеется в ячейкеа должно бытьCase «я»Cells(I, 2) =
- двести тридцать mSTR & Space(1) & Mid(Split(s, Space(1))(i), но я почему-то = Mid(c(i), 1, передаче s. Пусть Case «жа»: AllWords мелочи, к тому я бы сама и август. Может, Педора и Педячая,Пусть в ячейкеЮрий М А1: ВАСИЛЬЕВ ОЛЕГшвея — швее -If Mid(strName2, Len(strName2) dhPossessive(strName1, strName2, strName3) один (И.П.) /
& Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) думала, что отдельную Len(c(i)) — 2)
в ней несколько = Mid(s, 1, же есть файл
не справилась дело в окончаниях? на чьем фонеВ6
Cклонение месяцев
: Тогда такой вариант: ЮРЬЕВИЧ. швею — 1, 1)End If двухсот тридцати одного 1, Len(Split(s, Space(1))(i)) — 1) & функцию для фамилий & «ГµГЁ» Case слов. Тогда Len(s) — 1) исключений. В общем,Edichka Эти три месяца очень нехило живетсясодердится дата 05.09.2016 Sub Macro1() DimНужно отобразить вИ ещё = «и» Then
Next
надо будет прописать. «ГҐГў»: z(i) =Function AllWords(s) As
: Помогите научить EXCEL оканчиваются на «й»
обладателсям фамилий Шнурапет,С помощью формулы =ТЕКСТ(B6;»ММММ») можно LastRow As Long, другой ячейке: ВАСИЛЬЕВ
ЖнецdhPossessive = dhPossessiveEnd Sub
Отдельная тема -
«ного» Case «щий»: mSTR = mSTR или все в Mid(c(i), 1, Len(c(i)) String dim allEL, «га»: AllWords =Guest
склонять ФИО по или «т», а Шабаш, Зюзя, Задуйвитер, вывести полное название
i As Long, Олег Юрьевич.
alexa1965 & Mid(strName2, _
Function dhPossessive(strName1 As склонение фамилий. Здесь mSTR = mSTR & Space(1) & одну, в принципе, — 2) & mSTR$ mSTR=vbNullstring: allEL=split(s, Mid(s, 1, Len(s): Сначала сформулируйте точные, падежам или хотябы остальные, которые благополучно Сивокобыленко, Сивокоз, Пальцапупа,
месяца с заглавной Arr LastRow =А если возможно,: А мне нравится1, Len(strName2) -
String, strName2 As принципиально важно знать, & Space(1) & Mid(Split(s, Space(1))(i), 1, можно будет внести? «ГҐГўГ*» Case «Г*Г*»:
space(1)) for i=lbound(allEL) — 1) & внятные и формализуемые родительный склоняются- на «ь»? Забабашкин, Дурнопейко, Нарко, буквы в именительном Cells(Rows.Count, 1).End(xlUp).Row For
то в идеале: заведующий библиотекой, прикольно 1) & «и» String, _ о лице какого Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)) -
P.S. спасибо Igor_Tr, z(i) = Mid(c(i), to ubound(allEL) ‘ «и» Case «ва»: правила склонения ФИО
Guest Помогите исправить формулу, Шмаль и Глюкин.
падеже, Сентябрь. Чтобы
i = 2
ВАСИЛЬЕВ
склоняется.ElsestrName3 As String) пола идёт речь, Len(Split(s, Space(1))(i)) - 1) & «ы»
toiai 1, Len(c(i)) -
—дальше все то, AllWords = Mid(s, по падежам. Не: Сначала сформулируйте точные,
Склонение ФИО по падежам в EXCEL
чтобы склонялись все== вывести название со To LastRow ArrА
Что то здесьdhPossessive = dhPossessive As String т.к. изрядная часть 4) & «щего» Case «у»: mSTRдааааа) «Зелёныя Автобуса 3) & «Г*îé» что уже есть 1, Len(s) - забудьте определить все внятные и формализуемые месяцы.и т.д. строчной буквы используйте = Split(Cells(i, 1))Олег не так.
& Mid(strName2, _Dim fMan As фамилий склоняется у Case «ший»: mSTR = mSTR & Синия Руля» -
End Select Select в функции, только 2) & «ой» признаки, позволяющие однозначно правила склонения ФИО
Прилагаю файл.
Если даже где-то функцию СТРОЧН(). If Right(Arr(0), 3)аSashagor19821, Len(strName2) - Boolean мужчин, но не = mSTR & Space(1) & Mid(Split(s, это конечно сильно)))) Case Right(c(i), 3) уже переменную ‘ Case «ая»: AllWords определить, является ли
по падежам. Не
Dmitriy XM
и найдёте готовыйПримечание <> «КИЙ» ThenЮрьевич: Исправил Швею и 1) & «и»’ Определяем, мужские
склоняется у женщин. Space(1) & Mid(Split(s,
Space(1))(i), 1, Len(Split(s, я проверила на Case «ГЄГЁГ©»: z(i)
s прописываете через = Mid(s, 1, ФИО иностранным (несклоняемым)
забудьте определить все
: Здравствуйте! попробуйте вот модуль склонения ФИО: Результат предыдущей формулы Cells(i, 2) =
а Заведующего Библиотекой (аEnd If ФИО или женские Бывает так, что Space(1))(i), 1, Len(Split(s,
Space(1))(i)) — 1) слове «ложка» и
= Mid(c(i), 1, split (вот первая
Len(s) — 2) или склоняемым по признаки, позволяющие однозначно так =ЕСЛИ(ИЛИ(ПРАВСИМВ(A1;1)=»ь»;ПРАВСИМВ(A1;1)=»й»);ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&»я»;ЕСЛИ(ПРАВСИМВ(A1;1)=»т»;A1&»а»))
— перед тем, — текстовое значение.
Arr(0) & «А. Учитывая, что фамилии
также канцелярией, пекарнейCase «ь»
fMan = (Right(strName3, необходимо знать ударный
Space(1))(i)) — 4) & «у» Case
так как специфика Len(c(i)) — 4)
фраза): Select Case & «ой» Case
правилам для исключений, определить, является лиАлександр как начать радоваться, Если нужно, чтобы
» & StrConv(Arr(1), которые кончаются на и т.д.). ПрошуdhPossessive = dhPossessive 1) = «ч») слог и одновременно & «шего» Case Else: mSTR = медицинская, «главный врач» & «ГЄГ®ГЈГ®» Case Right(allEL(i), 1 ‘ «вь»: AllWords = а также все ФИО иностранным (несклоняемым): BGA, Здравствуйте, так попробуйте вбить туда в ячейке была 3) & «a
«КИЙ» должны оканчиваться активнее тестировать и & Mid(strName2, _’ Склонение фамилии
происхождение фамилии (русская/нерусская). «жва»: mSTR = mSTR & Space(1)
посмотрела) «ГўГ®Г©»: z(i) = так закачивается цикл: Mid(s, 1, Len(s)
Подскажите скрипт или что нибудь еще! Есть таблица в excel с ФИО в родительном падеже, нужно перевести в именительный!
исчерпывающие признаки, по или склоняемым по
нужно ? примеры типа: дата, то используйте » & StrConv(Arr(2),
на «КОГО» писать в форум1, Len(strName2) -
в родительный падежНаконец, есть «подводные mSTR & Space(1) & Split(s, Space(1))(i)
Добавлено через 1 час Mid(c(i), 1, Len(c(i))
Пользовательская функция замены в родительный падеж
ему там задать Mid(c(i), 1, Len(c(i))
: Вот примерно так: — 2) & а дальше как? тяжёлая, за этоРезультат Формат ячейки этой теме странички полное название месяца — исправьте горе-цитату. «к», «ч», «ш». ЦитатаIf Len(strName3) >dhPossessive = Mid(strName1, которую можно качать) vbProperCase) End Function & Mid(Split(s, Space(1))(i), вопрос. Он с — 4) &Function AllWords(s) As «хи» Case «ев»:программистер мы его и8 Март 2007[$-419]Д в инете) с учетом склонения,RAN С ними какSashagor1982, 28.05.2015 в 0 Then 1, Len(strName1) - и «опора зыбка»Вчера все удалил, 1, Len(Split(s, Space(1))(i)) головой, что-то может «Г№ГҐГЈГ®» Case «ГёГЁГ©»: String Dim c$(), AllWords = Mid(s,: пользуюсь вот этой любим :) ММММ ГГГГ8 мартEdichka т.е. сентября. Этот: Нескромный вопрос к быть? ) 22:41, в сообщенииIf fMan Then 2) + «ого» (ненадёжная, качающаяся). В а сегодня востановил — 1) & подсказать, как решил. z(i) = Mid(c(i), z$() c = 1, Len(s) - штукой, склоняет хорошо,Как иллюстрация обилия 2007[$-F419]Д ММММ ГГГГ8: Усем бальшое спасиба формат удобен для отвечающимP.S. Название темы № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>Прошу активнееdhPossessive = dhPossessiveCase Else первом случае слово и пропустил в «и» Case «га»: А если Ваш 1, Len(c(i)) - Split(Application.Trim(s)) ReDim z(UBound(c)) 2) & «ева» устанавливается без проблем: фамилий — вот Марта 2007 г.[$-F819]Д за участие. Нашёл. вывода фраз, например,А пАдежи, падЁжи, немного изменил. тестировать и писать & strName3 &dhPossessive = strName1 «зыбка» — существительное одном месте. mSTR = mSTR вариант — тогда 4) & «ГёГҐГЈГ®» For i = Case «на»: AllWordsDsd кусочек из одного ММММ ГГГГ «г.»8 Если кому истчо Сегодня 1 сентября, или падежИ кSTASonSmol в форум возможные «а» + «а» (склоняется), во второмВместо & Space(1) & нужно сильно расширять Case «Г¦ГўГ*»: z(i) 0 To UBound(c) = Mid(s, 1,: нет таких исследования телефонной базы марта 2007 г.[$-FC19]Д надо то просьба но может работать этой теме (преобразовать: Да мне хоть ошибкиElseEnd Select — краткая формаCase «ква»: mSTR = Mid(Split(s, Space(1))(i), 1, область Case. Но = Mid(c(i), 1, Select Case Right(c(i), Len(s) — 3)Abram pupkin
Москвы: ММММ ГГГГ «г.» глядеть сюды: не на всех часть текста из с этими разобраться)))
Швец металлических сетокdhPossessive = dhPossessiveElse прилагательного «зыбкий» (используется mSTR & Space(1) Len(Split(s, Space(1))(i)) -
я с русским Len(c(i)) — 3) 1) Case «Г*»:
& «ной» End: предложенная формула работает==ZПроверено на личном компьютерах.
прописных в строчные) У меня мало 3-го разряда & Mid(strName3, 1,’ Склонение женской только в сочетании & Mid(s, 1, 1) & «и» слабый, Вам в & «Г¦ГўГ»» Case z(i) = Mid(c(i), Select Select Case с русскими иПочему-то очень непопулярна: BGA, а обычным
деле. Работает хорошо. Если месяц задан числом от каким боком? которые заканчиваются на
Люковый (горные работы) _ фамилии со словами, стоящими Len(Split(s, Space(1))(i)) - Case «ва»: mSTR этом не помочник.
«ГЄГўГ*»: z(i) = 1, Len(c(i)) - Right(s, 3) Case укр фамилиями у нас фамилия
форматом дат неandy1618 1 до 12,
Юрий М «о», «к», «ч», 3-го разрядаLen(strName3) — 1)Select Case Right(strName1, в именительном падеже).Вот 3) & «квы» = mSTR & Кидаю свой вариант,
Mid(c(i), 1, Len(c(i)) 1) & «Г»»
«кий»: AllWords =(Пельше, Сивонян, Мчеридзе, Алкашов — таковых пробовали воспользоваться?: Действительно классная библиотека! то полное название: Откорректировал название. «ш». ))
Линейный надсмотрщик (специальная & «ы»
1) хорошее и готовоедолжно быть:
Space(1) & Mid(Split(s, на всякий. Практически — 3) & Case «Гї»: z(i) Mid(s, 1, Len(n) Гелерман, Павловский. это все всего двое. ЗатоНапример, таким -И даже приведённые можно вывести сJeyCiBema связь)End IfCase «о», «и», решение для ФИО.Case «ква»: mSTR = Space(1))(i), 1, Len(Split(s, одинаково с toiai, «ГЄГўГ»» End Select = Mid(c(i), 1, — 4) & придется корректировать вручную пять семейств носят [$-FC19]ММММ;@. выше тяжкие примеры, помощью формулы =ТЕКСТ(ДАТА(;B14;1);»ММММ»). Название: были же падежи: =ЛЕВБ(A1;НАЙТИ(» «;A1)-1)&» «&ПРОПНАЧ(ПСТР(A1;НАЙТИ(«
Очередной ответственный поEnd If «б», «в», «г», Папка pd_Docs - mSTR & Space(1) Space(1))(i)) — 2) но работаю сразу Next i AllWords Len(c(i)) — 1) «кого» Case «вой»:=ВЫБОР ((ПРАВСИМВ (B8;1)=»а»)+(ПРАВСИМВ фамилию Педик. КPS Извините, проглядел хоть и не со склонением можно на форуме: «;A1)+1;999)) министерству (ведомству)End Function «д», «ж», «з», документация, инструкция. Папка & Mid(Split(s, Space(1))(i), & «ой» Case с Split, и = StrConv(Join(z), vbProperCase) & «ГЁ» Case AllWords = Mid(s, (B8;1)=»й»)*2+ИЛИ (ПРАВСИМВ (B8;1)=»о»;ПРАВСИМВ ним примыкают граждане 2 поста выше. идеально, но обрабатываются: вывести с помощьюSTASonSmolА вот соДолжности брал здесь,sniperganger «к», «л», _ pd_Sample — примеры 1, Len(Split(s, Space(1))(i)) «ая»: mSTR = собираю в строку End FunctionМеня смущает «Г©»: z(i) = 1, Len(s) - (B8;1)=»у»)*3;ЛЕВБ (B8;ДЛСТР (B8)-1);ЛЕВБ Педора и Педячая,BGA1) Иванов Лев формулы =ВЫБОР(B14;»января»;»февраля»;»марта»;»апреля»;»мая»;»июня»;»июля»;»августа»;»сентября»;»октября»;»ноября»;»декабря»).: ИВАНОВА Алексе склонением сложнее. тестируйте сами: автоматически, т.е при»м», «н», «п», использования — 3) & mSTR & Space(1) (он — в 32 строка Вашего Mid(c(i), 1, Len(c(i)) 4) & «вого» (B8;ДЛСТР (B8)-2)&»а»;B8) на чьем фоне: Спасибо всем участникам, ИвановичЕсли требуется решить обратнуюйSTASonSmolSashagor1982 каждом новом вводе «р», «с», «т»,sniperganger «квы» & Mid(Split(s, Space(1))(i), массив). Может, Вам кода: — 1) & Case «вый»: AllWords* убрать все очень нехило живется все варианты отлично(Род.) Иванова Льва задачу, то есть,а СергеевичаБлин, мало опыта,: Смысл, из ИМЕНИТЕЛЬНОГО: ИсправилAndreTM «ф», «х», «ц»,: Добрый вечер.Извиняюсь. 1, Len(Split(s, Space(1))(i)) будет легче, приCase «кий»: AllWords «Гї» Case «Гј»: = Mid(s, 1, пробелы обладателсям фамилий Шнурапет, работают! Хранить дату Ивановича (всё ОК) имея название месяца, так бы наверное перевести в РОДИТЕЛЬНЫЙSashagor1982: Добавьте в модуль «ч», _Уважаемые форумчане, обращаюсьkorvindeson — 2) & наличии несколько вариантов = Mid(s, 1, z(i) = Mid(c(i), Len(s) — 4)—056— Шабаш, Зюзя, Задуйвитер, как дату не2) Иванов Арслан-Али получить его номер, разобрался как подправить падеж ) в: функцию:»ш», «щ», «ь» к вам с: «ой» Case «вь»: Кидаю и с Len(n) — 4) 1, Len(c(i)) - & «вого» Case: Ребят, всем привет, Сивокобыленко, Сивокоз, Пальцапупа, могу, я работаю Иванович то используйте формулу =МЕСЯЦ(ДАТАЗНАЧ(1&B21&2011)) формулу( формате ИВАНОВА ИванаSashagor1982200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function Possessive(ParamArray cNames() AsdhPossessive = strName1 просьбой помочь разобратьсяIgor_Tr mSTR = mSTR тестовой процедурой. & «кого»n - 1) & «Гї» «ный»: AllWords = может такая тема Забабашкин, Дурнопейко, Нарко, над меню, мне(Род.) Иванова Арслан-АлиНазвание месяца должно бытьcopper-top Ивановича): Пока все что Variant) As StringCase «я» в нелегкой, на, спасибо большое!)) варианты & Space(1) &Кликните здесь для то неизвестно, т.е. Case «Г®»: z(i) Mid(s, 1, Len(s) уже есть, но Шмаль и Глюкин. нужно 365 дат Ивановича (правильно: Арслана-Али) в именительном падеже: что сказать. да,Юрий М мог исправил. НоApplication.Volatile TruedhPossessive = Mid(strName1, мой взгляд ситуации: были использованы и Mid(Split(s, Space(1))(i), 1, просмотра всего текста =»» = Mid(c(i), 1, — 4) & найти не смогла.== в двойном экземпляре-3) Иванов Алим-Паша и без опечаток. мало опыта. еще: А министр обороны
про БИБЛИОТЕКУ узнаюDim aParam() As 1, Len(strName1) -есть рабочий макрос,
доделаны окончания) правда
Len(Split(s, Space(1))(i)) - Sub TestFunction() ‘Igor_Tr Len(c(i)) — 1) «ного» Case «щий»:
Ситуация такая, написала
и т.д. именительном и родительном ИвановичДля наглядности можно составить полгода назад я РФ в Ваш
лучше, так как
String 2) & «ой» вполне здраво функционирующий, исключения в любом 2) & «ви» MsgBox AllWords(Application.Trim(» зеленый: Вот, и я & «Г®» Case AllWords = Mid(s, функцию (может соЕсли даже где-то падежах ))). Много(Род.) Иванова Алим-Паши перечень месяцев с и не знал список может попасть? знающие люди говорят,aParam = Split(Trim(Join(cNames,
Case Else который позволяет при случае остались) но Case «их»: mSTR автобус синий руль так сделал. Указал «ГҐ»: z(i) = 1, Len(s) - своими недочетами, но и найдёте готовый места надо. Ивановича их номерами и как всеми этими ) что Заведующий БИБЛИОТЕКИ, » «)))dhPossessive = Mid(strName1, нажатии кнопки изменять
такие частные случаи = mSTR & «)) MsgBox AllWords(Application.Trim(« фразу Mid(c(i), 1, Len(c(i)) 4) & «щего» все же)), которая модуль склонения ФИОvikttur(Тв.) Ивановым Алим-Пашей с помощью функции формулами пользоваться.STASonSmol как и Начальник..If UBound(aParam)
Автоматическое изменение падежа в ячейке (проблемы с изменением кода макроса)
без всяких дополнительных, из Вашего описания Case «ев»: mSTR
mSTR = mSTR. Получил
Склонение названий должностей (падежи) (Excel)
«ГёГ*»: z(i) = делаю макрос с = Mid(s, 1,Edichka формулы слишком сложные.. а также все ФИО иностранным (несклоняемым) x = CreateObject(«Padeg.Declension»)
есть предыдущий вариант & Mid(strName2, _
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Public Sub PossessiveCase() решении такой задачи
Space(1))(i), 1, Len(Split(s, & Space(1) &»Ивана Петровича Сидорова»
Mid(c(i), 1, Len(c(i)) вызовом InputBox, ввожу
Len(s) — 1): Усем бальшое спасиба
vikttur
исчерпывающие признаки, по или склоняемым по
Pad = x.GetFIOPadegFS(ФИО,Юрий М
«Судья» прошу проверить. можно было бы1, Len(strName2) -’Склоняем ФИО в
для получения правильного Space(1))(i)) — 2)
Mid(Split(s, Space(1))(i), 1,. Это как-бы правильно. — 1) & туда 1 слово, & «я» Case за участие. Нашёл. : Покажите пример. А которым можно было правилам для исключений,
«», Падеж) End: Только формулами?Викториияя вызвать как 1) & «я» родительный падеж результата обязательно (!)
& «ева» Case Len(Split(s, Space(1))(i)) -
А запись «ГЁ» Case «Г¦Г*»: MsgBox выводит всё «о»: AllWords = Если кому истчо еще лучше - бы определить род
а также все FunctionВо вложении пример
Юрий М: Sashagor1982, я в
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Possessive(F19&» «&F20;F21)или вообщеCase Else
Dim strName1 As надо знать, во-первых,
«на»: mSTR = 1) & «и»
»ольга петровна сидорова» z(i) = Mid(c(i),
правильно. А когда Mid(s, 1, Len(s)
надо то просьба объясните начальную задачу, (мужкой или женский) исчерпывающие признаки, по с использованием UDF: На всякий случай восторге от Вашей передать функции одну
dhPossessive = dhPossessive String, strName2 As
к какой именно mSTR & Space(1)
Case «й»: mSTRвернуло что-то непонятное
1, Len(c(i)) - я ввожу в
— 1) & глядеть сюды: а не Ваше ФИО. Тогда посмотрим.
которым можно было для любого падежа. (исходные данные в работы.
ячейку с ФИО.
& strName2 & String, strName3 As
части речи относится & Mid(Split(s, Space(1))(i), = mSTR & -
Изменение падежа ФИО (Макросы/Sub)
String склоняемое слово, во-вторых, 1, Len(Split(s, Space(1))(i))
Space(1) & Mid(Split(s,»Ольгы Ольой Петровны Петровой Case «ГЈГ*»: z(i) слова, то функция AllWords = Mid(s,
Работа с ФИО — преобразовать часть текста из прописных в строчные и поменять падеж.
деле. Работает хорошо. решении.Figarotam
(мужкой или женский): ФИОРодительныйИванов Иван Иванович#ЗНАЧ!Ивановский в столбец В):
: Доброго времени суток: спасибо, помогло!End Select
For I = нарицательным или личным — 3) & Space(1))(i), 1, Len(Split(s, Сидоровы Сидороой» = Mid(c(i), 1, первое слово игнорирует 1, Len(s) -andy1618BGA: Подскажите, а как ФИО. Тогда посмотрим.
Василий Макарович#ЗНАЧ!Петренко Петр Sub Macro1() DimИз этой темыSashagor1982Else 1 To Cells(Rows.Count,
(фамилия, имя, отчество)
«ной» End Select Space(1))(i)) — 1)Igor_Tr Len(c(i)) — 1) полностью, а последнее 1) & «е»: Действительно классная библиотека!
: Задача: нужна формула её использовать, ексель
;-) Петрович#ЗНАЧ!Сидорова Мария Ивановна#ЗНАЧ!Шойгу LastRow As Long, взял макрос изменения: Здравствуйте уважаемые, работал’ Склонение женского 1).End(xlUp).Row
понятием оно является. Select Case Right(Split(s, & «я» Case
: Может быть и & «ГЁ» Case
уже меняет. Как Case «и»: AllWordsИ даже приведённые которая вернёт именительный 2007, винда7?andy1618
Сергей Кужугетович#ЗНАЧ! i As Long, падежа. Всё устраивало над функцией склонения имени
Dim fname$(): fnameВ русском языке Space(1))(i), 3) Case «ь»: mSTR = нужно, но ТС
«ГўГ*»: z(i) = бы дополнить эту = Mid(s, 1, выше тяжкие примеры, падеж текстовых названий
Распаковал все в: Проблема склонений вSAS888
Arr LastRow = до тех пор
названий должностей вSelect Case Right(strName2, = Split(Cells(I, 1)) склоняются: существительные, прилагательные
«кий»: mSTR = mSTR & Space(1)
то молчит! Mid(c(i), 1, Len(c(i)) функцию так, чтобы Len(s) — 1) хоть и не месяцев. Прилагаю файл C:Program FilesMicrosoft OfficeOffice12 русском языке очень: Значит у Вас Cells(Rows.Count, 1).End(xlUp).Row For пока не появились родительном и дательном 1)strName1 = fname(0) (не во всех mSTR & Space(1) & Mid(Split(s, Space(1))(i),—056— — 2) & обрабатывалось оба (да
& «и» Case идеально, но обрабатываются:АlехМ а дальше как? тяжёлая, за это отсутствует необходимая библиотека i = 2
пустые строки между падеже, вот получилось,Case «а» ‘ фамилия случаях), причастия (не & Mid(Split(s, Space(1))(i), 1, Len(Split(s, Space(1))(i)): to toiai. Думал, «Г®Г©» Case «Г*Гї»: не важно сколько «ы»: AllWords =1) Иванов Лев: В С1 -программистер мы его и Padeg.dll. To LastRow Arr именами. Макрос стал пользуйтесь и критикуйте,Select Case Mid(strName2,strName2 = fname(1) во всех случаях), 1, Len(Split(s, Space(1))(i)) — 1) & мой вариант такое z(i) = Mid(c(i),
там слов введено, Mid(s, 1, Len(s) Иванович
января: пользуюсь вот этой любим :)
Скачайте и зарегистрируйте = Split(Cells(i, 1)) выдавать ошибку. Интересует буду рад доработать.. Len(strName2) — 1, ‘ имя
местоимения, числительные. У — 4) &
«я» Case «о»: выдает. Ваш теперь 1, Len(c(i)) -
ситуации могут возникнуть — 1) &(Род.) Иванова Льва=ТЕКСТ(—(ЛЕВБ(ПОДСТАВИТЬ(C1;»ая»;»ай»);3)&0);»ММММ») штукой, склоняет хорошо,Как иллюстрация обилия этот компонент.
Cells(i, 2) = только родительный падеж.ikki 1)strName3 = fname(2) каждой части речи «кого» Case «вой»:
mSTR = mSTR прогнал по ольге 2) & «Г®Г©» разнообразные) слова, а «ы» Case «у»: Ивановича (всё ОК)или устанавливается без проблем: фамилий — вотСкачать библиотеку можно Arr(0) & «А
ЛИСТ «Таблица»: продавецCase «и», «г» ‘ отчество есть свои особенности mSTR = mSTR & Space(1) & — тот же Case «ГўГј»: z(i) не последнее. AllWords = Mid(s,2) Иванов Арслан-Али
=ТЕКСТ(—(ЛЕВБ(ПОДСТАВИТЬ(C1;»ая»;»ай»);3)&0);»[$-F419]ММММ»)BGA кусочек из одного . » & StrConv(Arr(1),
PelenaSashagor1982dhPossessive = dhPossessive’ Если в
склонения. Например, при & Space(1) &
Mid(Split(s, Space(1))(i), 1, успех.
Источник
Как в Excel получить месяц из даты (функция ТЕКСТ и МЕСЯЦ)
Получить месяц из даты требуется довольно часто. Предположим, что у вас есть выгрузка продаж по дням. Даты указаны вот в таком формате:
Каждая строчка — это отдельная сделка. Вам необходимо сделать отчет за месяц. Какое количество товаров было продано в каждом месяце. Есть разные способы решения данной задачи, но предположим, что у нас стоит задача вытащить из даты месяц, чтобы потом было легко просуммировать по ним данные.
Способ 1. Получить месяц из даты с помощью функции МЕСЯЦ в Excel
Протягиваем формулу и получаем месяц из даты в виде цифры. 5 — это месяц май, 8 — это август и так далее.
Иногда требуется получить месяц из даты в формате текста: «Январь, Февраль, Март. » в этом случае воспользуемся другой функцией.
Способ 2. Получить месяц из даты с помощью функции ТЕКСТ в Excel
Синтаксис будет следующий
Значение это ссылка на ячейку с датой
Формат — для получения месяцев необходимо использовать заглавную букву «М». Причем от ее количества будет зависеть формат отображения (Первая буква месяца, Полное название месяца, короткое название, в виде двойной цифры и одной цифры)
Наглядно это можно посмотреть на скриншоте.
Так например, чтобы получить месяц в формате «Январь, Февраль, Март», необходимо ввести «ММММ».
Формул будет выглядеть следующим образом.
Дата и месяц прописью в Excel
Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Подписывая какие-либо документы мы помимо собственного автографа очень часто вписываем туда и текущую дату в виде числа, месяца и года. При этом мы почти никогда там не встречаем месяц записанный в численном формате. Ведь, например, дата записанная как 12.11.2016 куда сложнее воспринимается и читается чем 12 ноября 2016 г.
Вот и в Excel иногда требуется указать дату в таком виде, поэтому давайте подробно разберемся какие у нас есть варианты реализации.
Запись с помощью настройки формата ячейки
В Excel существует достаточно большое количество форматов отображения даты.
Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).
В открывшемся окне нас интересует вкладка Число:
Среди форматов дат выбираем запись месяца прописью и получаем:
Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.
Идем дальше и перейдем к формульному решению задачи.
Запись с помощью формул
Как мы уже разбирали в примере визуализации половозрастной пирамиды, формат любой ячейки записывается с помощью маски отображения. В случае с датой наиболее популярный вид записи (например, для 12.11.2016) выглядит как ДД.ММ.ГГГГ, где Д — день, М — месяц, Г — год.
Поэтому такого же результата мы сможем добиться воспользовавшись стандартной функцией ТЕКСТ (в английской версии TEXT), которая преобразует заданный текст в определяемый нами формат записи.
В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:
Чуть подробнее остановимся на формате.
В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).
Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):
Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?
Как записать месяц прописью?
Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):
Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):
Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.
Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:
Есть и альтернативный вариант. На помощь опять придут уже знакомые функции МЕСЯЦ и ВЫБОР, только тут вместо именительного падежа для месяцев прописываем родительный (меняем окончания):
На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.
Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.
Как в Эксель написать после числа месяц текстом в правильной форме?
В Экселе функция ТЕКСТ позволяет название месяца либо в сокращенной форме, либо в именительном падеже, а как написать текстом название месяца правильно?
Если написать формулу: =ТЕКСТ(«01.04.2019» ; «Д ММММ»)
то в результате будет написано: «1 Апрель»
Как в Excel написать словами название месяца в правильной форме (например «1 апреля»)?
Как в Экселе вывести после числа название месяца текстом в правильном падеже?
Какой формулой в Microsoft Excel можно получить по дате название месяца прописью?
В принципе можно составить громоздкую формулу, что-то типа
Только тут легко запутаться в регистрах и в скобках. Даже редактор БВ не может правильно прожевать этот набор слов.
Поэтому существует специальный вариант подобной формулы (в ячейке A1 — дата):
Обратите внимание на середину формулы, именно такая запись возвращает название месяца в нужном склонении. Остальное — дело техники.
Предлагаю такой вариант.
Имеется дата 30.10.2019 в ячейке А1. Требуется сделать: « 30 » октября 2019 г.
Полностью вся формула для данного значения будет иметь вид:
=СЦЕПИТЬ(«« «;ТЕКСТ(ДЕНЬ(A1);»00 «);» » «;ВЫБОР(МЕСЯЦ(A1);»я нваря»;»февраля»;»мар та»;»апреля»;»мая»;»и юня»;»июля»;»августа» ;»сентября»;»октября» ;»ноября»;»декабря»); » «;ГОД(A1);» г.»)
Если нужно записать конкретно один месяц из определённой даты, тогда формула будет такой:
=ВЫБОР(МЕСЯЦ(А1);»ян варя»;»февраля»;»март а»;»апреля»;»мая»;»ию ня»;»июля»;»августа»; «сентября»;»октября»; «ноября»;»декабря»)
Обратите внимание, месяца здесь написаны вручную и не являются постоянными значениями. Так что вместо них можно написать всё что вашей душе угодно. Суть этой формулы в том, что функция МЕСЯЦ(А1) возвращает номер месяца числом: от 1 до 12. Что является «номером_индекса» для функции ВЫБОР. Сами же значения (или можно задать действия) индексов прописываются следом, по порядку. Таким образом, если номер_индекса равен 1 (что соответствует январю), то функция ВЫБОР возвращает значение1 («января»); если он равен 2, возвращается значение2 («февраля») и так далее.
Формула ТЕКСТ(ДЕНЬ(A1);»00″) добавляет 0 перед днём, который пишется одним числом (преобразует формат написания числа с 1 цифры до двух), таким образом цифры от 1 до 9 будут отображаться как 01, 02 . 09.
Название месяца прописью в MS EXCEL
Если в ячейке содержится дата или номер месяца, то с помощью формул или Формата ячейки можно вывести название месяца. Также решим обратную задачу: из текстового значения названия месяца получим его номер.
Пусть в ячейке В6 содердится дата 05.09.2016
С помощью формулы =ТЕКСТ(B6;»ММММ») можно вывести полное название месяца с заглавной буквы в именительном падеже, Сентябрь. Чтобы вывести название со строчной буквы используйте функцию СТРОЧН() .
Примечание: Результат предыдущей формулы — текстовое значение. Если нужно, чтобы в ячейке была дата, то используйте Формат ячеек (нажмите сочетание клавиш CTRL+1). О форматах даты подробнее можно прочитать в статье Пользовательский формат ДАТЫ и ВРЕМЕНИ в MS EXCEL
Формула =ТЕКСТ(B6;»МММ») выведет сокращенное название месяца (3 буквы).
Особый формат =ТЕКСТ(B6;»[$-FC19] ММММ») выведет полное название месяца с учетом склонения, т.е. сентября. Этот формат удобен для вывода фраз, например, Сегодня 1 сентября, но может работать не на всех компьютерах.
Если месяц задан числом от 1 до 12, то полное название можно вывести с помощью формулы =ТЕКСТ(ДАТА(;B14;1);»ММММ») . Название со склонением можно вывести с помощью формулы =ВЫБОР(B14;»января»;»февраля»;»марта»;»апреля»;»мая»;»июня»;»июля»;»августа»;»сентября»;»октября»;»ноября»;»декабря») .
Если требуется решить обратную задачу, то есть, имея название месяца, получить его номер, то используйте формулу =МЕСЯЦ(ДАТАЗНАЧ(1&B21&2011))
Название месяца должно быть в именительном падеже и без опечаток.
Для наглядности можно составить перечень месяцев с их номерами и с помощью функции ВПР() выбирать название месяца по его номеру (см. файл примера ).
Дата прописью в Excel
Пользовательская функция «ДатаПрописью» предназначена для преобразования даты из числового формата Excel в полную текстовую форму. Интервал преобразуемых дат составляет с 2001 по 2099 год. Используется в шаблонах доверенностей, договоров, соглашений, решений, уставов и других документов, заполняющихся в программе Excel и предусматривающих наличие строки с датой прописью. Формат преобразования: 01.01.2001 — «Первого января две тысячи первого года».
Добавить функцию «ДатаПрописью» в рабочую книгу Excel можно двумя способами: импортировать готовый модуль с функцией или самостоятельно добавить программный код в имеющийся модуль, или создав для этого новый.
Импорт модуля с функцией в проект
Импорт готового модуля в книгу Excel — самый простой способ добавления функции «ДатаПрописью».
- Скачайте модуль с функцией.
- Импортируйте модуль в рабочую книгу, следуя инструкциям из этой статьи.
Если вы хотите, чтобы функция «ДатаПрописью» была доступна из всех рабочих книг на вашем компьютере, импортируйте скачанный модуль в Личную книгу макросов.
Вставка кода в стандартный модуль
- Создайте новый стандартный модуль и откройте его (или откройте уже имеющийся).
- Скопируйте и вставьте в открытый модуль код функции «ДатаПрописью», приведенный ниже.
Если вы хотите, чтобы функция «ДатаПрописью» была доступна из всех рабочих книг на вашем компьютере, вставьте приведенный код в модуль, расположенный в Личной книге макросов.
Работа с функцией в Excel
Итак, если вы импортировали модуль или создали новый и вставили в него код, можете вызывать Мастер функций и работать с функцией «ДатаПрописью», как с любой другой, встроенной в Excel. Найти ее вы сможете в разделе «Определенные пользователем». В настройках вашей программы Excel должно быть разрешено выполнение макросов.
Функцию «ДатаПрописью» в ячейки рабочего листа можно вписывать и вручную. Текст вводимой формулы будет зависеть от того, где расположен модуль с функцией:
- в текущей рабочей книге — =ДатаПрописью()
- в Личной книге макросов — =PERSONAL.XLSB!ДатаПрописью()
Если вы планируете книгу с функцией «ДатаПрописью» передавать на другой компьютер, модуль с ней должен быть в передаваемой книге.
Склонение при форматировании дат |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Если в ячейке содержится дата или номер месяца, то с помощью формул или Формата ячейки можно вывести название месяца. Также решим обратную задачу: из текстового значения названия месяца получим его номер.
Пусть в ячейке В6 содердится дата 05.09.2016
С помощью формулы =ТЕКСТ(B6;»ММММ») можно вывести полное название месяца с заглавной буквы в именительном падеже, Сентябрь . Чтобы вывести название со строчной буквы используйте функцию СТРОЧН() .
Примечание : Результат предыдущей формулы — текстовое значение. Если нужно, чтобы в ячейке была дата, то используйте Формат ячеек (нажмите сочетание клавиш CTRL+1 ). О форматах даты подробнее можно прочитать в статье Пользовательский формат ДАТЫ и ВРЕМЕНИ в MS EXCEL
Формула =ТЕКСТ(B6;»МММ») выведет сокращенное название месяца (3 буквы).
Особый формат =ТЕКСТ(B6;»[$-FC19] ММММ») выведет полное название месяца с учетом склонения, т.е. сентября . Этот формат удобен для вывода фраз, например, Сегодня 1 сентября , но может работать не на всех компьютерах.
Если месяц задан числом от 1 до 12, то полное название можно вывести с помощью формулы =ТЕКСТ(ДАТА(;B14;1);»ММММ») . Название со склонением можно вывести с помощью формулы =ВЫБОР(B14;»января»;»февраля»;»марта»;»апреля»;»мая»;»июня»;»июля»;»августа»;»сентября»;»октября»;»ноября»;»декабря») .
Если требуется решить обратную задачу, то есть, имея название месяца, получить его номер, то используйте формулу =МЕСЯЦ(ДАТАЗНАЧ(1&B21&2011))
Название месяца должно быть в именительном падеже и без опечаток.
Для наглядности можно составить перечень месяцев с их номерами и с помощью функции ВПР() выбирать название месяца по его номеру (см. файл примера ).
О написании месяца на английском языке см. статью https://excel2.ru/articles/nazvanie-mesiatsa-na-angliiskom-iazyke-v-ms-excel
Как склонять месяцы в 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
5 ответов
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
=ПОДСТАВИТЬ(ТЕКСТ(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 (ЭтаКнига)
Дата и месяц прописью в Excel
Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Подписывая какие-либо документы мы помимо собственного автографа очень часто вписываем туда и текущую дату в виде числа, месяца и года. При этом мы почти никогда там не встречаем месяц записанный в численном формате. Ведь, например, дата записанная как 12.11.2016 куда сложнее воспринимается и читается чем 12 ноября 2016 г.
Вот и в Excel иногда требуется указать дату в таком виде, поэтому давайте подробно разберемся какие у нас есть варианты реализации.
Запись с помощью настройки формата ячейки
В Excel существует достаточно большое количество форматов отображения даты.
Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).
В открывшемся окне нас интересует вкладка Число:
Среди форматов дат выбираем запись месяца прописью и получаем:
Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.
Идем дальше и перейдем к формульному решению задачи.
Запись с помощью формул
Как мы уже разбирали в примере визуализации половозрастной пирамиды, формат любой ячейки записывается с помощью маски отображения. В случае с датой наиболее популярный вид записи (например, для 12.11.2016) выглядит как ДД.ММ.ГГГГ, где Д — день, М — месяц, Г — год.
Поэтому такого же результата мы сможем добиться воспользовавшись стандартной функцией ТЕКСТ (в английской версии TEXT), которая преобразует заданный текст в определяемый нами формат записи.
В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:
Чуть подробнее остановимся на формате.
В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).
Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):
Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?
Как записать месяц прописью?
Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):
Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):
Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.
Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:
Есть и альтернативный вариант. На помощь опять придут уже знакомые функции МЕСЯЦ и ВЫБОР, только тут вместо именительного падежа для месяцев прописываем родительный (меняем окончания):
На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.
Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.
Источник статьи: http://tutorexcel.ru/tekst/data-i-mesyac-propisyu-v-excel/
Склонение по падежам в Excel
Функция СКЛОНЕНИЕ
Не сложно догадаться, для чего необходима функция =СКЛОНЕНИЕ(ТЕКСТ;ПАДЕЖ). Практически любое существительное или ФИО она переведет из именительного падежа в нужный падеж.
Подчеркну слово практически, так как имеются фамилии, которые без программы то сложно просклонять, но в 90% случаев макрос отрабатывает достойно. Проверяйте сложные или необычные фамилии дополнительно.
Формула имеет всего 2 аргумента:
- ТЕКСТ – Существительное, имя, фамилия или отчество в именительном падеже, который необходимо просклонять. Вы также можете использовать несколько слов в качестве аргумента. Например, указать полностью ФИО.
- ПАДЕЖ – Числовое значение определяющее падеж:
- Именительный.
- Родительный.
- Дательный.
- Винительный.
- Творительный.
- Предложный.
Вот так выглядит стандартное окно ввода параметров функции СКЛОНЕНИЕ
Функция СКЛОНЕНИЕУКР
Аналогичная функция, которая склоняет ФИО и существительные, но только на украинском языке. Синтаксис у нее также не отличается =СКЛОНЕНИЕУКР(ТЕКСТ;ПАДЕЖ).
Далее приводятся примеры, наглядно демонстрирующие работу функции.
Обращаю ваше внимание, что для корректной работы данных функций необходимо стабильное подключение к интернету, а точнее к сайту Морфер.ру. Имеется также суточное ограничение на использование функций, которое в настоящий момент составляет 1000 склонений.
Пример 1
Склонение простой фамилии по всем падежам.
Пример 2
Склонение сразу фамилии имени и отчества по всем падежам.
Пример 3
Склонение сложных фамилий и имен в родительный падеж.
Источник статьи: http://micro-solution.ru/projects/addin_vba-excel/declension
Название месяца прописью в EXCEL
Если в ячейке содержится дата или номер месяца, то с помощью формул или Формата ячейки можно вывести название месяца. Также решим обратную задачу: из текстового значения названия месяца получим его номер.
Пусть в ячейке В6 содердится дата 05.09.2016
С помощью формулы =ТЕКСТ(B6;”ММММ”) можно вывести полное название месяца с заглавной буквы в именительном падеже, Сентябрь . Чтобы вывести название со строчной буквы используйте функцию СТРОЧН() .
Примечание : Результат предыдущей формулы – текстовое значение. Если нужно, чтобы в ячейке была дата, то используйте Формат ячеек (нажмите сочетание клавиш CTRL+1 ). О форматах даты подробнее можно прочитать в статье Пользовательский формат ДАТЫ и ВРЕМЕНИ в MS EXCEL
Формула =ТЕКСТ(B6;”МММ”) выведет сокращенное название месяца (3 буквы).
Особый формат =ТЕКСТ(B6;”[$-FC19] ММММ”) выведет полное название месяца с учетом склонения, т.е. сентября . Этот формат удобен для вывода фраз, например, Сегодня 1 сентября , но может работать не на всех компьютерах.
Если месяц задан числом от 1 до 12, то полное название можно вывести с помощью формулы =ТЕКСТ(ДАТА(;B14;1);”ММММ”) . Название со склонением можно вывести с помощью формулы =ВЫБОР(B14;”января”;”февраля”;”марта”;”апреля”;”мая”;”июня”;”июля”;”августа”;”сентября”;”октября”;”ноября”;”декабря”) .
Если требуется решить обратную задачу, то есть, имея название месяца, получить его номер, то используйте формулу =МЕСЯЦ(ДАТАЗНАЧ(1&B21&2011))
Название месяца должно быть в именительном падеже и без опечаток.
Для наглядности можно составить перечень месяцев с их номерами и с помощью функции ВПР() выбирать название месяца по его номеру (см. файл примера ).
Источник статьи: http://excel2.ru/articles/nazvanie-mesyaca-propisyu-v-ms-excel
Месяц в родительном падеже в excel
Здравствуйте! Проконсультируйте, пожалуйста по такому вопросу: есть ли таблица кодировки склонения дат?
Так при оформлении документов часто нужно прописью писать дату, например __ июля 2012 г., в пользовательском формате мы видим запись [$-FC19]”__” mmmm yyyy” г.”;@
При указании за какой период, например за июль 2012 г., аналогичный код [$-F419] “за” mmmm yyyy” г.”;@
А есть ли другие падежи в Excel?
Я методом подбора не смогла их найти, хотя при попытках поиска в Инете встречала упоминания о кодировках в старых версиях, но на падежи они не распространялись
Здравствуйте! Проконсультируйте, пожалуйста по такому вопросу: есть ли таблица кодировки склонения дат?
Так при оформлении документов часто нужно прописью писать дату, например __ июля 2012 г., в пользовательском формате мы видим запись [$-FC19]”__” mmmm yyyy” г.”;@
При указании за какой период, например за июль 2012 г., аналогичный код [$-F419] “за” mmmm yyyy” г.”;@
А есть ли другие падежи в Excel?
Я методом подбора не смогла их найти, хотя при попытках поиска в Инете встречала упоминания о кодировках в старых версиях, но на падежи они не распространялись Irysha
Сообщение Здравствуйте! Проконсультируйте, пожалуйста по такому вопросу: есть ли таблица кодировки склонения дат?
Так при оформлении документов часто нужно прописью писать дату, например __ июля 2012 г., в пользовательском формате мы видим запись [$-FC19]”__” mmmm yyyy” г.”;@
При указании за какой период, например за июль 2012 г., аналогичный код [$-F419] “за” mmmm yyyy” г.”;@
А есть ли другие падежи в Excel?
Я методом подбора не смогла их найти, хотя при попытках поиска в Инете встречала упоминания о кодировках в старых версиях, но на падежи они не распространялись Автор – Irysha
Дата добавления – 26.07.2012 в 17:13
Источник статьи: http://www.excelworld.ru/forum/2-2068-1
Добрый день уважаемый пользователь!
В этой статье мы поговорим о трёх основных функций дат, это функция ГОД, функция МЕСЯЦ и функция ДЕНЬ в Excel. Это три составляющие любой даты и теперь рассмотрим, как с ними работать и для чего это нам надо. В первую очередь, эти функции служат для извлечения определенного параметра из имеющейся даты, мы может отдельно изъять год, числовую последовательность месяца или дня. Использование этих функций будет актуально когда, к примеру, нужно будет поделить ваши данные по временным отрезкам по годам, по месяцам или по дням. Часто использование этих функций оправдано при работе со статистическими данными, когда их применение улучшают показатели анализа.
Теперь давайте рассмотрим каждую из функций времени по отдельности:
Функция ГОД в Excel
Основная обязанность, которую выполняет функция ГОД в Excel, является возврат года, который будет соответствовать указанной дате. Сам год будет определять функция ГОД как целое число в диапазоне от 1900 года до 9999 года.
Синтаксис, который использует функция ГОД в Excel очень простой: =ГОД(указаная_дата_в_числовом_формате), где:
- Дата_в_числовом_формате, является обязательным аргументом и представляет собой дату, год которой следует вычислить. Даты нужно вводить при помощи функции ДАТА, указывать ссылкой на ячейку, которая содержит дату в соответствующем формате или это будет результат отдельных расчётов иных функций и формул. Важно!В случае, когда дата будет введена как текст, это приведёт к ошибкам и проблемам.
Стоит знать что значения, которое возвращает функция ГОД в Excel полностью, ведется по григорианскому календарю, без разницы какой формат для даты был указан. Даже если вы указываете дату по другому летоисчислению или альтернативному календарю, значение которое функция ГОД вернет, будет соответствовать дате григорианского календаря.
Все даты MS Excel хранит как последовательные числа и именно это позволяет нам работать с ними и использовать в своих вычислениях. По умолчанию первая дата под номером 1, это 1 января 1900 года, а вот, к примеру, 1 января 2018 года будет предоставлен числом 43101, так разница между этими двумя датами будет составлять 43101 день.
Функция МЕСЯЦ в Excel
Главная особенность, как используется функция МЕСЯЦ в Excel, это возврат значения месяца из даты, который заданный как числовой формат. Месяц будет возвращен функцией как целое число в диапазоне чисел от 1 до 12, что соответствует месяцам от января до декабря.
Синтаксис, который использует функция МЕСЯЦ в Excel, простой и незатейливый: =МЕСЯЦ(ваша_дата_в_числовом_формате), где:
- Дата_в_числовом_формате, является обязательным аргументом и представляет собой дату, месяц которой следует вычислить. Даты нужно вводить при помощи функции ДАТА, указывать ссылкой на ячейку, которая содержит дату в соответствующем формате или это будет результат отдельных расчётов иных функций и формул. Важно!В случае, когда дата будет введена как текст, это приведёт к ошибкам и проблемам.
Особенности, как используется функция МЕСЯЦ в Excel, соответствуют аналогично предыдущей рассматриваемой функции, так как формат дат распространяется на все функции времени.
Функция ДЕНЬ в Excel
Основная обязанность, которую выполняет функция ДЕНЬ в Excel, является возврат число дня, которое будет в указанной дате. День будет возвращен функцией как целое число в диапазоне чисел от 1 до 31, что зависит от максимального количества дней в месяце.
Синтаксис, который использует функция ДЕНЬ в Excel, так же не отличаеться обилием аргументов: =ДЕНЬ(ваша_дата_в_числовом_формате), где:
- Дата_в_числовом_формате, является обязательным аргументом и представляет собой дату, день которой следует вычислить. Даты нужно вводить при помощи функции ДАТА, указывать ссылкой на ячейку, которая содержит дату в соответствующем формате или это будет результат отдельных расчётов иных функций и формул. Важно!В случае, когда дата будет введена как текст, это приведёт к ошибкам и проблемам.
Как и предыдущие функции, функция ДЕНЬ в Excel хранит даты как последовательные числа и значения которые она возвращает, соответствуют датам григорианского календаря.
Отдельно для каждой функции я решил не создавать примеры их использования, поскольку они очень схожи в характере работы, рознятся только полученные результаты, разницу вы можете изучить на скриншоте: Также, для примера, можете изучить варианты работы этих функций в моей статье «Как посчитать количество дней в Excel».
Ну, вот и всё что я, пока, хотел вам рассказать о таких функциях работы с датами как функция ГОД, функция МЕСЯЦ и функция ДЕНЬ. Очень надеюсь, что моя статья вам помогла в решении вашей проблемы. Жду ваши лайки и комментарии, делитесь статьей с друзьями и коллегами, пусть нас будет много!
«Я хочу жить как бедный человек с деньгами.
»
Пабло Пикассо
Дата и месяц прописью в Excel
Узнаем как написать дату и месяц прописью в Excel (в том числе в именительном и родительном падежах).
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
Подписывая какие-либо документы мы помимо собственного автографа очень часто вписываем туда и текущую дату в виде числа, месяца и года. При этом мы почти никогда там не встречаем месяц записанный в численном формате. Ведь, например, дата записанная как 12.11.2016 куда сложнее воспринимается и читается чем 12 ноября 2016 г.
Вот и в Excel иногда требуется указать дату в таком виде, поэтому давайте подробно разберемся какие у нас есть варианты реализации.
Запись с помощью настройки формата ячейки
В Excel существует достаточно большое количество форматов отображения даты.
Давайте запишем дату в произвольную ячейку и перейдем в ее формат (щелкаем по ячейке правой кнопкой мыши и выбираем Формат ячейки, или просто нажимаем сочетание клавиш Ctrl + 1).
В открывшемся окне нас интересует вкладка Число:
Среди форматов дат выбираем запись месяца прописью и получаем:
Можно выбрать запись как со звездочкой (символ «*»), так и без, при этом различие отображения будет заключаться в изменении вида записи при смене настроек времени и даты операционной системы.
Идем дальше и перейдем к формульному решению задачи.
Запись с помощью формул
Как мы уже разбирали в примере визуализации половозрастной пирамиды, формат любой ячейки записывается с помощью маски отображения. В случае с датой наиболее популярный вид записи (например, для 12.11.2016) выглядит как ДД.ММ.ГГГГ, где Д — день, М — месяц, Г — год.
Поэтому такого же результата мы сможем добиться воспользовавшись стандартной функцией ТЕКСТ (в английской версии TEXT), которая преобразует заданный текст в определяемый нами формат записи.
В качестве формата записи в данном случае указываем [$-FC19]Д ММММ ГГГГ г.;@, применяем функцию для даты и получаем:
Чуть подробнее остановимся на формате.
В записи формата [$-FC19] как раз и отвечает за корректный формат отображения даты в родительном падеже (можете попробовать убрать [$-FC19] и посмотреть что получится).
Если же нужно отобразить месяц не на русском, а, например, на украинском языке, то используйте [$-FC22] (для белорусского [$-FC23]):
Ок, с полной записью даты и месяца разобрались, но что если нам нужен только месяц?
Как записать месяц прописью?
Как и в примере выше воспользуемся функцией ТЕКСТ. Формат «ММММ» даст нам полную запись месяца (в именительном падеже):
Ещё одним способом является совместное применение функций МЕСЯЦ (в английской версии MONTH) и ВЫБОР (английский вариант CHOOSE).
Месяц вернёт нам порядковый номер месяца указанной даты (от 1 до 12), а ВЫБОР сопоставит числовому значению текстовое (где 1 — январь, 2 — февраль, …, 12 — декабрь):
Если же мы пишем число с месяцем и годом, то зачастую месяц нужно указать в родительном падеже (а не в именительном как в примере выше), например, 2 февраля 2015 года или 14 августа 2012 года и т.п.
Здесь нам опять поможет формат [$-FC19]ММММ, который записывает месяц в дате в родительном падеже, отличие от предыдущего варианта записи только в том, что мы убрали из записи день и год:
Есть и альтернативный вариант. На помощь опять придут уже знакомые функции МЕСЯЦ и ВЫБОР, только тут вместо именительного падежа для месяцев прописываем родительный (меняем окончания):
На этом все. Выбирайте наиболее понравившийся и удобный для вас способ.
Спасибо за внимание!
Если у вас остались вопросы по теме статьи — пишите в комментариях.
Преобразование дат из текстового формата в формат даты
В некоторых случаях даты могут быть отформатированы и храниться в ячейках в виде текста. Например, возможно, вы ввели дату в ячейку, отформатированную как текст, или данные были импортированы или вставлены из внешнего источника данных в виде текста.
Даты, отформатированные как текст, выравниваются по левому краю в ячейке (вместо выравнивания по правому краю). Если включена Проверка ошибок , Текстовая дата с двумя цифрами года также может помечаться индикатором ошибки: .
Поскольку функция проверки ошибок в Excel распознает даты в текстовом формате с двузначным номером года, можно воспользоваться средством автозамены и преобразовать их в даты в формате даты. С помощью функции ДАТАЗНАЧ можно преобразовывать в даты большинство типов текстовых дат.
Если вы импортируете данные в Excel из другого источника или вводите даты с двумя цифрами года в ячейки, которые ранее были отформатированы как текст, в левом верхнем углу ячейки может появиться маленький зеленый треугольник. Этот индикатор ошибки указывает на то, что дата хранится в текстовом формате, как показано в данном примере.
Вы можете использовать индикатор ошибки для преобразования дат из текстового формата в формат даты.
Примечания: Сначала убедитесь в том, что в Excel включена проверка ошибок. Для этого:
Щелкните Файл > Параметры > Формулы.
В Excel 2007 нажмите кнопку Microsoft Office и выберите Параметры Excel > формулы.
При проверке ошибокустановите флажок Включить фоновую проверку ошибок. Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.
В разделе правила проверки ошибоквыделите ячейки, которые содержат годы, представленные 2 цифрами.
Выполните указанные ниже действия, чтобы преобразовать дату в текстовом формате в обычную дату.
Выделите ячейку или диапазон смежных ячеек с индикатором ошибки в верхнем левом углу. Дополнительные сведения можно найти в разделе выделение ячеек, диапазонов, строк и столбцов на листе.
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
Нажмите появившуюся рядом с выделенной ячейкой кнопку ошибки.
В меню выберите команду Преобразовать XX в 20XX или Преобразовать XX в 19XX. Если вы хотите отключить индикатор ошибки, не преобразуя число, нажмите кнопку пропустить ошибку.
Текстовые даты с двумя цифрами года преобразуются в стандартные даты с четырьмя цифрами года.
После преобразования ячеек с текстовыми значениями можно изменить внешний вид дат путем применения формата даты.
Если на листе есть даты, которые, возможно, были импортированы или вставлены так, как показано на рисунке ниже, вам, возможно, потребуется переформатировать их так, чтобы они выводились в виде коротких или длинных дат. Формат даты также будет более полезен, если вы хотите отфильтровать, отсортировать или использовать его в вычислениях дат.
Выделите ячейку, диапазон ячеек или столбец, которые нужно переформатировать.
Нажмите кнопку числовой формат и выберите нужный формат даты.
Краткий формат даты выглядит следующим образом:
В длинный формат даты содержатся дополнительные сведения, как показано на рисунке:
Чтобы преобразовать текстовую дату в ячейку в серийный номер, используйте функцию ДАТАЗНАЧ. Затем скопируйте формулу, выделите ячейки, содержащие текстовые даты, и используйте команду Специальная Вставка , чтобы применить к ним формат даты.
Выполните указанные ниже действия.
Выберите пустую ячейку и убедитесь в том, что ее числовой формат является общим.
В пустой ячейке сделайте следующее.
Щелкните ячейку, содержащую дату в текстовом формате, которую следует преобразовать.
Нажмите клавишу ВВОД, и функция ДАТАЗНАЧ возвращает порядковый номер даты, представленной текстовым форматом даты.
Что такое серийный номер Excel?
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 г. является порядковым номером 1, а 1 января 2008 — порядковый номер 39448, так как это составляет 39 448 дней после 1 января, 1900.To скопировать формулу преобразования в диапазон смежных ячеек, выделите ячейку, содержащую введенную формулу, а затем перетащите маркер заполнения по диапазонам пустых ячеек, которые соответствуют диапазону ячеек с текстовыми датами.
В результате получится диапазон ячеек с порядковыми номерами, который соответствует диапазону ячеек с датами в текстовом формате.
Выделите ячейку или диапазон ячеек, которые содержат серийные номера, а затем на вкладке Главная в группе буфер обмена нажмите кнопку Копировать.
Сочетание клавиш: Кроме того, можно нажать клавиши CTRL + C.
Выделите ячейку или диапазон ячеек, которые содержат даты в текстовом формате, и на вкладке Главная в группе Буфер обмена нажмите стрелку под кнопкой Вставить и выберите команду Специальная вставка.
В диалоговом окне Специальная вставка в разделе Вставить выберите параметр Значения и нажмите кнопку ОК.
На вкладке Главная нажмите кнопку вызова всплывающего окна рядом с полем число.
В поле Категория выберите пункт Дата, после чего укажите необходимый формат даты в списке Тип.
Чтобы удалить серийные номера после того, как все даты будут успешно преобразованы, выделите ячейки, содержащие их, а затем нажмите клавишу DELETE.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Примеры функций для работы с датами: ГОД, МЕСЯЦ и ДЕНЬ в Excel
В таблицах Excel предусмотрена возможность работы с различными видами текстовой и числовой информации. Доступна и обработка дат. При этом может возникнуть потребность вычленения из общего значения конкретного числа, например, года. Для этого существует отдельные функции: ГОД, МЕСЯЦ, ДЕНЬ и ДЕНЬНЕД.
Примеры использования функций для обработки даты в Excel
Таблицы Excel хранят даты, которые представлены в качестве последовательности числовых значений. Начинается она с 1 января 1900 года. Этой дате будет соответствовать число 1. При этом 1 января 2009 года заложено в таблицах, как число 39813. Именно такое количество дней между двумя обозначенными датами.
Функция ГОД используется аналогично смежным:
- МЕСЯЦ;
- ДЕНЬ;
- ДЕНЬНЕД.
Все они отображают числовые значения, соответствующие григорианскому календарю. Даже если в таблице Excel для отображения введенной даты был выбран календарь Хиджра, то при вычленении года и других составных значений посредством функций, приложение представит число, которое является эквивалентом по григорианской системе летоисчисления.
Чтобы воспользоваться функцией ГОД, нужно ввести в ячейку следующую формулу функции с одним аргументом:
=ГОД(адрес ячейки с датой в числовом формате)
Аргумент функции является обязательным для заполнения. Он может быть заменен на «дата_в_числовом_формате». В примерах ниже, вы сможете наглядно увидеть это. Важно помнить, что при отображении даты в качестве текста (автоматическая ориентация по левому краю ячейки), функция ГОД не будет выполнена. Ее результатом станет отображение #ЗНАЧ. Поэтому форматируемые даты должны быть представлены в числовом варианте. Дни, месяцы и год могут быть разделены точкой, слешем или запятой.
Рассмотрим пример работы с функцией ГОД в Excel. Если нам нужно получить год из исходной даты нам не поможет функция ПРАВСИМВ так как она не работает с датами, а только лишь текстовыми и числовыми значениями. Чтобы отделить год, месяц или день от полной даты для этого в Excel предусмотрены функции для работы с датами.
Пример: Есть таблица с перечнем дат и в каждой из них необходимо отделить значение только года.
Введем исходные данные в Excel.
Для решения поставленной задачи, необходимо в ячейки столбца B ввести формулу:
=ГОД (адрес ячейки, из даты которой нужно вычленить значение года)
В результате мы извлекаем года из каждой даты.
Аналогичный пример работы функции МЕСЯЦ в Excel:
Пример работы c функциями ДЕНЬ и ДЕНЬНЕД. Функция ДЕНЬ получает вычислить из даты число любого дня:
Функция ДЕНЬНЕД возвращает номер дня недели (1-понедельник, 2-второник… и т.д.) для любой даты:
Во втором опциональном аргументе функции ДЕНЬНЕД следует указать число 2 для нашего формата отсчета дня недели (с понедельника-1 по восркесенье-7):
Если пропустить второй необязательный для заполнения аргумент, тогда будет использоваться формат по умолчанию (английский с воскресенья-1 по суботу-7).
Создадим формулу из комбинаций функций ИНДЕКС и ДЕНЬНЕД:
Получим более понятный вид реализации данной функции.
Примеры практического применения функций для работы с датами
Эти примитивные функции очень полезны при группировки данных по: годам, месяцам, дням недели и конкретным дням.
Допустим у нас имеется простой отчет по продажам:
Нам нужно быстро организовать данные для визуального анализа без использования сводных таблиц. Для этого приведем отчет в таблицу где можно удобно и быстро группировать данные по годам месяцам и дням недели:
Теперь у нас есть инструмент для работы с этим отчетом по продажам. Мы можем фильтровать и сегментировать данные по определенным критериям времени:
Кроме того, можно составить гистограмму для анализа самых продаваемых дней недели, понять на какой день недели приходится наибольшее количество продаж:
В таком виде очень удобно сегментировать отчеты по продажам за длительные, средние и короткие периоды времени.
Стоит сразу отметить что для того чтобы получить разницу между двумя датами нам не поможет ни одна из выше описанных функций. Для данной задачи следует воспользоваться специально предназначенной функцией РАЗНДАТ:
Тип значений в ячейках «дата» требует особого подхода при обработке данных. Поэтому следует использовать соответствующие данному типу функции в Excel.
Developing.ru
Универсальная формула перевода дат в годы, месяцы, недели.
. дни, часы, минуты секунды.
Возможно ли создать такую формулу?
То есть, например, вводятся 2 значения:
14.01.1946 23:48:51
и
12.12.2005 16:00:02
Можно ли в Экселе написать такую формулу (или несколько), чтобы введя две даты можно было на выходе (в разных ячейках) получить целое число: лет, месяцев, недель, дней, часов, минут, секунд.
Какое название соответствует DATEDIF в русифицированном офисе не помню.
Найдите у себя файл Funcs.xls и посмотрите там русское название.
Или то же самое, если не хотите скачивать:
$C$6 = 15.12.2005 00:00:00
$C$7 = 15.12.2005 10:15:15
$C$9=$C$7-$C$6
ДОЛЯГОДА
Возвращает долю года, которую составляет количество дней между двумя датами.
Возврат функцией значения ошибки #ИМЯ? свидетельствует о необходимости установить библиотеку msowcf.dll.
ДОЛЯГОДА(нач_дата;кон_дата;базис)
Нач_дата — это дата, соответствующая начальной дате.
Кон_дата — это дата, соответствующая конечной дате.
Базис — это число от 0 до 4, которое определяет используемый способ вычисления дня.
В оригинальном релизе есть функция DATEDIF.
Если офис русифицированный (или локализованный для другой страны), то среди его файлов есть Funcs.xls.
Этот файл показывает соответствие оригинальных и локализованных названий функций, а также содержит гиперссылки на соответствующие разделы справочной системы.
Черт. Щас пойду русский офис где нибудь поищу.
Функция называется РАЗНДАТ
Хм. Прикольно! В русском офисе по ней нет хелпа.
Calculates the number of days, months, or years between two dates. This function is provided for compatibility with Lotus 1-2-3.
Start_date is a date that represents the first, or starting, date of the period. Dates may be entered as text strings within quotation marks (for example, «2001/1/30»), as serial numbers (for example, 36921, which represents January 30, 2001, if you’re using the 1900 date system), or as the results of other formulas or functions (for example, DATEVALUE(«2001/1/30»)). For more information about date serial numbers, see NOW.
End_date is a date that represents the last, or ending, date of the period.
Unit is the type of information you want returned.
Unit Returns
«Y» The number of complete years in the period.
«M» The number of complete months in the period.
«D» The number of days in the period.
«MD» The difference between the days in start_date and end_date. The months and years of the dates are ignored.
«YM» The difference between the months in start_date and end_date. The days and years of the dates are ignored.
«YD» The difference between the days of start_date and end_date. The years of the dates are ignored.
Microsoft Excel stores dates as sequential serial numbers so that it can perform calculations on them. Excel stores January 1, 1900, as serial number 1 if your workbook uses the 1900 date system. If your workbook uses the 1904 date system, Excel stores January 1, 1904, as serial number 0 (January 2, 1904, is serial number 1). For example, in the 1900 date system, Excel stores January 1, 1998, as serial number 35796 because it is 35,795 days after January 1, 1900. Learn more about how Microsoft Excel stores dates and times.
Excel for Windows and Excel for the Macintosh use different date systems as their default. For more information, see NOW.
Examples
DATEDIF(«2001/1/1″,»2003/1/1″,»Y») equals 2, or two complete years in the period.
DATEDIF(«2001/6/1″,»2002/8/15″,»D») equals 440, or 440 days between June 1, 2001, and August 15, 2002.
DATEDIF(«2001/6/1″,»2002/8/15″,»YD») equals 75, or 75 days between June 1 and August 15, ignoring the years of the dates.
DATEDIF(«2001/6/1″,»2002/8/15″,»MD») equals 14, or the difference between 1 and 15 — the day of start_date and the day of end_date — ignoring the months and the years of the dates.