Excel формат даты в родительном падеже

 

CosCos

Пользователь

Сообщений: 4
Регистрация: 21.03.2017

Добрый день.
Прошу экспертов помочь советом:
нужно из трех ячеек собрать дату в формате, понятном Excel, при этом в одной из них месяц в родительном падеже. В именительном работает, но вот хочу в родительном.
Пример
А1: 21
А2: марта
А3: 2017

ДАТАЗНАЧ(СЦЕПИТЬ(А1;» «;А2;» «;A3)) выдает ошибку.
Пробовал через текст и формат =ДАТАЗНАЧ(ТЕКСТ(СЦЕПИТЬ(А1;» «;А2;» «;А3);»[$-FC19]ММММ;@»))
тоже не работает.
Возможно это без макросов?

 

Bema

Пользователь

Сообщений: 6750
Регистрация: 15.02.2016

Добрый день.
Упс, не дочитал, что исходник в родительном падеже.

Изменено: Bema21.03.2017 16:36:54
(Залил файл с правильным решением)

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

=—(A1&».»&ПОДСТАВИТЬ(ЛЕВБ(A2;3);»ая»;»ай»)&».»&A3)

 

CosCos

Пользователь

Сообщений: 4
Регистрация: 21.03.2017

vikttur, а если месяц май (мая)?

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

 

CosCos

Пользователь

Сообщений: 4
Регистрация: 21.03.2017

Отлично, спасибо большое!

И все же можно для глупеньких — как это работает?

 

пишете обычные даты, а форматом [$-FC19]Д ММММ ГГГГ «г.» достигаете наименование месяца в родительном падеже
и дата как дата, и глазам представлено то, что требовалось.

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

CosCos

Пользователь

Сообщений: 4
Регистрация: 21.03.2017

Мне, к сожалению, не подходит, нужно именно число, я на его основе вычисляю порядковый номер дня года типа такого:
= ДАТАЗНАЧ(СЦЕПИТЬ($Y$19;» «;ПОДСТАВИТЬ(ЛЕВБ($AA$19;3);»ая»;»ай»);» «;$AH$19))-ДАТА(ГОД(ДАТАЗНАЧ(СЦЕПИТЬ($Y$19;» «;ПОДСТАВИТЬ(ЛЕВБ($AA$19;3);»ая»;»ай»);» «;$AH$19)));1;1)+1

Общий номер приказа по этому числу, когда их в день несколько штук, то удобно.
А рабочий вариант уже подсказал товарищ

vikttur

, за что ему еще раз спасибо.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#9

21.03.2017 16:49:51

Цитата
как это работает?

Двойной минус — преобразование текстовой записи даты в число (дату)
ЛЕВБ(A2;3) — три символа, по которым Excel умеет определять месяц. А чтобы правильно определялся май, специально для него меняем «ая» на «ай«

 

Добрый день. Посоветуйте пж как поставить формат даты чтобы выглядело так: «01» января 2001 г.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#11

24.04.2019 11:04:53

1. Правила форума, об отображаемом имени.
2. Вопрос не по теме

Название месяца прописью в 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-top​Pelena​

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 = dhPossessive​End 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​
​ ВАСИЛЬЕВ​

​ склоняется.​​Else​strName3 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)​а​Sashagor1982​1, 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), «КИЙ»,​ ФИО в таком​Sashagor1982​dhPossessive = dhPossessive​If 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 «ка»: AllWords​Figarotam​ (мужкой или женский)​ дату (всегда ее​Алим-Паша -> Алим-Паши​ в статье Пользовательский формат​ «a » &​ ручную долго.​ написания слов исключений​End If​Select 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 = dhPossessive​Case 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 «на»: AllWords​Dsd​ кусочек из одного​ ММММ ГГГГ «г.»8​ Если кому истчо​ Сегодня 1 сентября,​ или падежИ к​STASonSmol​ в форум возможные​ «а»​ + «а»​ (склоняется), во втором​Вместо​ & Space(1) &​ нужно сильно расширять​ Case «Г¦ГўГ*»: z(i)​ 0 To UBound(c)​ = Mid(s, 1,​: нет таких​ исследования телефонной базы​ марта 2007 г.[$-FC19]Д​ надо то просьба​ но может работать​ этой теме (преобразовать​: Да мне хоть​ ошибки​Else​End 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 = dhPossessive​Else​ прилагательного «зыбкий» (используется​​ 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)​ Гелерман, Павловский…это все​ всего двое. Зато​Например, таким -​И даже приведённые​ можно вывести с​JeyCi​Bema​ связь)​End If​Case «о», «и»,​ решение для ФИО.​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);ЛЕВБ​ Педора и Педячая,​BGA​1) Иванов Лев​ формулы =ВЫБОР(B14;»января»;»февраля»;»марта»;»апреля»;»мая»;»июня»;»июля»;»августа»;»сентября»;»октября»;»ноября»;»декабря»).​: ИВАНОВА Алексе​ склонением сложнее.​ тестируйте сами​: автоматически, т.е при​»м», «н», «п»,​ использования​ — 3) &​ mSTR & Space(1)​ (он — в​ 32 строка Вашего​ Mid(c(i), 1, Len(c(i))​ 4) & «вого»​ (B8;ДЛСТР (B8)-2)&»а»;B8)​ на чьем фоне​: Спасибо всем участникам,​ Иванович​Если требуется решить обратную​й​STASonSmol​Sashagor1982​ каждом новом вводе​ «р», «с», «т»,​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))​ формулу(​ формате ИВАНОВА Ивана​Sashagor1982​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function Possessive(ParamArray cNames() As​dhPossessive = strName1​ просьбой помочь разобраться​Igor_Tr​ mSTR = mSTR​ тестовой процедурой.​ & «кого»n -​ 1) & «Гї»​ «ный»: AllWords =​ может такая тема​ Забабашкин, Дурнопейко, Нарко,​ над меню, мне​(Род.) Иванова Арслан-Али​Название месяца должно быть​copper-top​ Ивановича)​: Пока все что​ Variant) As String​Case «я»​ в нелегкой, на​, спасибо большое!)) варианты​ & Space(1) &​Кликните здесь для​ то неизвестно, т.е.​ Case «Г®»: z(i)​ Mid(s, 1, Len(s)​ уже есть, но​ Шмаль и Глюкин.​ нужно 365 дат​ Ивановича (правильно: Арслана-Али)​ в именительном падеже​: что сказать… да,​Юрий М​ мог исправил. Но​Application.Volatile True​dhPossessive = 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_32​Possessive = «»​End Select​ именительного падежа в​ если что)))) сделала​ Space(1))(i)) — 2)​ иван петрович сидоров​»Зеленыя Автобуса Синия Руля»​ z(i) = Mid(c(i),​ Len(s) — 4)​PureBasic Function AllWords(s)​ попробуйте вбить туда​ храните два падежа?​ мелочи, к тому​ номеру (см. файл​ и именах. я​ полностью Имя и​Sashagor1982​

CyberForum.ru

Автоматическое изменение падежа в ячейке (проблемы с изменением кода макроса)

​Else​​End 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​ подправить и попробую​
​STASonSmol​StasON​ aParam(1), aParam(2))​ & " "​
​ нужно автоматизировать, т.е.​ и отчеств. вроде​ mSTR & Space(1)​
​ String Dim mSTR$,​Igor_Tr​
​ Case "Г»": z(i)​ Mid(s, 1, Len(s)​
​ Case "а": AllWords​ (беглая гласная)​
​: неее, была речь​ вещь!​
​: Помогите научить EXCEL​ подогнать. не обещаю.​: Я не против.​
​: Здравствуйте.​End If​End 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) & "я"​
​ этой теме странички​
​ именительный перевести? Пытаюсь​ или склоняемым по​
​ признаки, позволяющие однозначно​ Падеж As Integer)​
​: . =ПОДСТАВИТЬ(ЛЕВСИМВ(A1;ПОИСК(" ";A1));"​, здравствуйте!​
​ ссылок на ячейки​
​Case "й", "ь"​
​ нажатий в ячейку​ непонятно, что требуется​
​ = mSTR &​
​ "ы" Case "я":​
​»иван петрович сидоров»​ Right(c(i), 2) Case​ когда я например​ Case «ь»: AllWords​
​ в инете)​
​ сама переделать, но​ правилам для исключений,​ определить, является ли​ 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 =​ Если кому истчо​ еще лучше -​ бы определить род​:D
​ а также все​ FunctionВо вложении пример​
​Юрий М​: Sashagor1982, я в​
​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Possessive(F19&» «&F20;F21)или вообще​Case Else​
​Dim strName1 As​ надо знать, во-первых,​
​ «на»: mSTR =​ 1) & «и»​

​»ольга петровна сидорова»​​ z(i) = Mid(c(i),​hands

​ правильно. А когда​​ Mid(s, 1, Len(s)​:(

​ надо то просьба​​ объясните начальную задачу,​ (мужкой или женский)​ исчерпывающие признаки, по​ с использованием UDF​: На всякий случай​ восторге от Вашей​ передать функции одну​

​dhPossessive = dhPossessive​​ String, strName2 As​

​ к какой именно​​ mSTR & Space(1)​hands

​ 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​ столбце А, результат​DrMini​sniperganger​​ «а»​

​ 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) -​​andy1618​BGA​: Подскажите, а как​ ФИО… Тогда посмотрим…​
​ Василий Макарович#ЗНАЧ!Петренко Петр​ Sub Macro1() Dim​Из этой темы​Sashagor1982​Else​ 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),​

​Pelena​​Sashagor1982​dhPossessive = dhPossessive​’ Если в​
​ склонения. Например, при​ & Space(1) &​
​ Mid(Split(s, Space(1))(i), 1,​ успех.​

planetaexcel.ru

​ = Mid(c(i), 1,​

Skip to content

Как изменить формат даты в Excel и создать собственное форматирование

Это руководство посвящено форматированию даты в Excel и объясняет, как установить вид даты и времени по умолчанию, как изменить их формат и создать собственный.

Помимо чисел, наиболее распространенными типами данных, которые используются в Excel, являются дата и время. Однако работать с ними может быть довольно сложно:

  1. Одна и та же дата может отображаться различными способами,
  2. Excel всегда хранит дату в одном и том же виде, независимо от того, как вы оформили её представление.

Более глубокое знание форматов временных показателей поможет вам сэкономить массу времени. И это как раз цель нашего подробного руководства. Мы сосредоточимся на следующих моментах:

  • Что такое формат даты
  • Формат даты по умолчанию
  • Как поменять формат даты
  • Как изменить язык даты
  • Создание собственного формата отображения даты
  • Дата в числовом формате
  • Формат времени
  • Время в числовом формате
  • Создание пользовательского формата времени
  • Формат Дата — Время
  • Почему не работает? Проблемы и их решение.

Формат даты в Excel

Прежде всего нужно чётко уяснить, как Microsoft Excel хранит дату и время. Часто это – основной источник путаницы. Хотя вы ожидаете, что он запоминает день, месяц и год, но это работает не так …

Excel хранит даты как последовательные числа, и только форматирование ячейки приводит к тому, что число отображается как дата, как время или и то, и другое вместе.

Дата в Excel

Все даты хранятся в виде целых чисел, обозначающих количество дней с 1 января 1900 г. (записывается как 1) до 31 декабря 9999 г. (сохраняется как 2958465).

В этой системе:

  • 2 — 2 января 1900 г.
  • 44197 — 1 января 2021 г. (потому что это 44 197 дней после 1 января 1900 г.)

Время в Excel

Время хранится в виде десятичных дробей от 0,0 до 0,99999, которые представляют собой долю дня, где 0,0 — 00:00:00, а 0,99999 — 23:59:59.

Например:

  • 0.25 — 06:00
  • 0.5 — 12:00.
  • 0.541655093 это 12:59:59.

Дата и время в Excel

Дата и время хранятся в виде десятичных чисел, состоящих из целого числа, представляющего день, месяц и год, и десятичной части, представляющей время.

Например: 44197.5 — 1 января 2021 г., 12:00.

Формат даты по умолчанию в Excel и как его быстро изменить

Краткий и длинный форматы даты, которые как раз и установлены по умолчанию как основные, извлекаются из региональных настроек Windows. Они отмечены звездочкой (*) в диалоговом окне:

Они изменяются, как только вы меняете настройки даты и времени в панели управления Windows.

Если вы хотите установить другое представление даты и/или времени по умолчанию на своем компьютере, например, изменить их с американского на русское, перейдите в Панель управления и нажмите “Региональные стандарты»  > «Изменение форматов даты, времени и чисел» .

На вкладке Форматы выберите регион, а затем установите желаемое отображение, щелкнув стрелку рядом с пунктом, который вы хотите изменить, и выбрав затем наиболее подходящий из раскрывающегося списка:

Если вас не устраивают варианты, предложенные на этой вкладке, нажмите кнопку “Дополнительные параметры» в нижней правой части диалогового окна. Откроется новое окно “Настройка …”, в котором вы переключаетесь на вкладку “Дата” и вводите собственный краткий или длинный формат в соответствующее поле.

Как быстро применить форматирование даты и времени по умолчанию

Как мы уже уяснили, в Microsoft Excel есть два формата даты и времени по умолчанию — короткий и длинный.

Чтобы быстро изменить один из них, сделайте следующее:

  • Выберите даты, которые хотите отформатировать.
  • На вкладке «Главная» в группе «Число» щелкните маленькую стрелку рядом с полем “Формат числа» и выберите нужный пункт — краткую дату, длинную или же время.

Если вам нужны дополнительные параметры форматирования, либо выберите “Другие числовые форматы» из раскрывающегося списка, либо нажмите кнопку запуска диалогового окна рядом с “Число».

 Откроется знакомое диалоговое окно “Формат ячеек”, в котором вы сможете изменить любые нужные вам параметры. Об этом и пойдёт речь далее.

Как изменить формат даты в Excel

Даты могут отображаться разными способами. Когда дело доходит до изменения их вида для данной ячейки или диапазона, самый простой способ — открыть диалоговое окно ”Формат ячеек” и выбрать один из имеющихся там стандартных вариантов.

  1. Выберите данные, которые вы хотите изменить, или пустые ячейки, в которые вы хотите вставить даты.
  2. Нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». Кроме того, вы можете кликнуть выделенные ячейки правой кнопкой мыши и выбрать этот пункт в контекстном меню.
  3. В окне “Формат ячеек» перейдите на вкладку “Число” и выберите “Дата» в списке числовых форматов.
  4. В разделе “Тип» выберите наиболее подходящий для вас вариант. После этого в поле “Образец» отобразится предварительный просмотр в выбранном варианте оформления.

  1. Если вас устраивает то, что вы увидели, нажмите кнопку ОК, чтобы сохранить изменение и закрыть окно.

Если, несмотря на ваши усилия, отображение числа, месяца и года в вашей таблице не меняется, скорее всего, ваши данные записаны как текст, и вам сначала нужно преобразовать их в формат даты.

Как сменить язык даты.

Если у вас есть файл, полный иностранных дат, вы, скорее всего, захотите изменить их те, которые используются в вашей стране. Допустим, вы хотите преобразовать американский формат (месяц/день/год) в европейский стиль (день/месяц/год).

Самый простой способ сделать это заключается в следующем:

  1. Выберите столбец, который вы хотите преобразовать в другой язык.
  2. Используйте комбинацию Ctrl + 1, чтобы открыть знакомые нам настройки.
  3. Выберите нужный язык в выпадающем списке «Язык (местоположение)» и нажмите «ОК», чтобы сохранить изменения.

Создание пользовательского формата даты.

Если вам не подходит ни один из стандартных вариантов, вы можете создать свой собственный.

  1. На листе выделите нужные ячейки.
  2. Нажмите Ctrl + 1.
  3. На вкладке Число выберите Все форматы в списке и запишите нужный формат даты в поле Тип. Это показано на скриншоте ниже.
  4. Щелкните ОК, чтобы сохранить изменения.

При настройке пользовательского формата даты вы можете использовать следующие коды.

Код Описание Пример
м Номер месяца без нуля в начале 1
мм Номер месяца с нулем в начале 01
ммм Название месяца, краткая форма Янв
мммм Название месяца, полная форма Январь
ммммм Первая буква месяца М (обозначает март и май)
д Номер дня без нуля в начале 1
дд Номер дня с нулем в начале 01
ддд День недели, краткая форма Пн
дддд День недели, полная форма понедельник
гг Год (последние 2 цифры) 05
гггг Год (4 цифры) 2020

Можно также использовать дополнительные коды, которые обязательно нужно заключать в квадратные скобки [].

Код Пояснение
x-sysdate Системный длинный формат. Месяц в родительном падеже.
x-systime Системное время.
x-genlower Используется родительный падеж в нижнем регистре для любых полных названий месяцев (только для русского языка). Рекомендуется использовать вместе с кодом языка [ru-RU-x-genlower].
x-genupper Используется родительный падеж в верхнем регистре для любых полных названий месяцев (только на русском языке). Например, [ru-RU-x-genupper].
x-nomlower Для любых полных названий месяцев применяется именительный падеж в нижнем регистре (только на русском языке):  [ru-RU-x-nomlower].

Вот как это может выглядеть на примерах:

При создании пользовательского формата в Excel вы можете использовать запятую (,), тире (-), косую черту (/), двоеточие (:) и другие символы.

Как создать собственный формат даты для другого языка

Если вы хотите отображать даты на другом языке, не меняя региональные настройки своего Windows, придётся создать собственный формат и использовать специальный префикс с соответствующим кодом языкового стандарта. 

Код языка должен быть заключен в [квадратные скобки] и предваряться знаком доллара ($) и тире (-). Вот несколько примеров:

  • [$-419] — Россия
  • [$-409] – английский (США)
  • [$-422] — Украина
  • [$-423] — Беларусь
  • [$-407] — Германия

Вы можете найти полный список кодов языков в этом блоге.

Например, вот как это можно настроить для белорусского языка в формате времени  -день-месяц-год (день недели) :

Как показать число вместо даты.

Если вы хотите узнать, какое число представляет определенную дату или время, отображаемые в ячейке, вы можете сделать это двумя способами.

1. Диалоговое окно «Форматирование ячеек»

Выделите эту ячейку, нажмите Ctrl + 1, чтобы открыть знакомое нам окно настроек и переключиться на вкладку «Общие».

Если вы просто хотите узнать число, стоящее за датой, ничего не меняя в вашей таблице, то запишите число, которое вы видите в поле «Образец», и нажмите “Отмена», чтобы закрыть окно. Если вы хотите заменить дату числом в текущей ячейке, нажмите ОК.

Вы также можете выбрать формат «Общий» на ленте в разделе «Число».  Дата будет тут же заменена соответствующим ей числом.

2. Функции ДАТАЗНАЧ и ВРЕМЗНАЧ

Можно также использовать функцию ДАТАЗНАЧ(), для преобразования даты в соответствующее ей число 

=ДАТАЗНАЧ(«20/1/2021»)

Используйте функцию ВРЕМЗНАЧ(), чтобы получить десятичную дробь, представляющую время 

=ВРЕМЗНАЧ(«16:30»)

Чтобы узнать дату и время, объедините эти две функции следующим образом:

= ДАТАЗНАЧ(«20/1/2021») & ВРЕМЗНАЧ(«16:30»)

Получится записанное в виде текста число, соответствующее дате-времени.

А если применить операцию сложения –

= ДАТАЗНАЧ(«20/1/2021») + ВРЕМЗНАЧ(«16:30»)

То получим число, которое можно отформатировать в виде даты-времени и с которым можно производить математические операции (найти разность дат и т.п.)

Если вы запишете, скажем, 31.12.1812, то это будет текстовое значение, а не дата. Это означает, что вы не сможете выполнять обычные арифметические операции с ней. Чтобы убедиться в этом, можете ввести формулу =ДАТАЗНАЧ(«31/12/1812») в какую-нибудь ячейку, и вы получите ожидаемый результат — ошибку #ЗНАЧ!.

Формат времени в Excel

Если помните, выше мы уже говорили, что Excel обрабатывает время как часть дня, и время сохраняется как десятичная часть.

Например:

  • 00:00:00 сохраняется как 0,0
  • 23:59:59 сохраняется как 0,99999
  • 06:00 — 0,25
  • 12:00 — 0,5

Когда в ячейку вводятся и дата, и время, они сохраняются как десятичное число, состоящее из целой части, представляющего дату, и десятичной части, представляющей время. 

Формат времени по умолчанию.

При изменении формата времени в диалоговом окне ”Формат ячеек” вы могли заметить, что один из пунктов начинается со звездочки (*). Это формат времени по умолчанию в вашем Excel. Как и в случае с датой, он определяется региональными настройками Windows.

Чтобы быстро применить формат времени по умолчанию к выбранной ячейке или диапазону ячеек, щелкните стрелку раскрывающегося списка в группе Число на вкладке Главная и выберите Время.

Изменить формат времени по умолчанию, перейдите в Панель управления и перейдите “Региональные стандарты»  > «Изменение форматов даты, времени и чисел». Подробно мы этот процесс описали выше, когда рассматривали установки параметров даты по умолчанию.

Десятичное представление времени.

Быстрый способ выбрать десятичное число, представляющее определенное время, — использовать диалоговое окно ”Формат ячеек”.

Просто выберите ячейку, содержащую время, и нажмите Ctrl + 1, чтобы открыть окно настроек. На вкладке “Число” выберите “Общие» в разделе “Категория», и вы увидите десятичную дробь в поле “Образец».

Теперь вы можете записать это число и нажать “Отмена», чтобы закрыть окно. Или же нажмите OK и замените время соответствующим десятичным числом в ячейке. 

Фактически это самый быстрый, простой и не требующий формул способ преобразования времени в десятичное число. 

Как применить или изменить формат времени.

Microsoft Excel достаточно умен, чтобы распознавать время при вводе и соответствующем форматировании ячейки. Например, если вы наберете 10:30 или 18:40, программа будет воспринимать и отображать это как время в зависимости от установленного по умолчанию формата времени.

Если вы хотите отформатировать некоторые числа как время или применить другой формат времени к существующим значениям, вы можете сделать это с помощью диалогового окна ”Формат ячеек”, как описано ниже.

  1. На листе Excel выберите ячейки, в которых вы хотите применить или изменить формат времени.

2. Откройте диалоговое окно Формат ячеек , нажав Ctrl + 1или щелкнув значок “Панель запуска диалогового окна» рядом с полем ”Число» на вкладке “Главная”.

3. На вкладке “Число” выберите “Время» в списке и укажите подходящий образец в окне “Тип» .

4. Нажмите OK, чтобы применить выбранное.

Создание пользовательского формата времени.

Хотя Microsoft Excel предоставляет несколько различных форматов времени, вы можете создать свой собственный, который лучше всего подходит для конкретной задачи. Для этого откройте знакомое нам окно настроек, выберите “Все форматы» и введите подходящее время в поле “Тип» .

Созданный вами пользовательский формат времени останется в списке Тип в следующий раз, когда он вам понадобится.

Совет. Самый простой способ создать собственный формат времени – использовать один из существующих в качестве отправной точки. Для этого щелкните “Время» в списке «Категория» и выберите один из предустановленных форматов. После этого внесите в него изменения.

При этом вы можете использовать следующие коды.

Код Описание Отображается как
ч Часы без нуля в начале 0:35:00
чч Часы с нулем в начале 03:35:00
м Минуты без нуля в начале 0:0:59
мм Минуты с нулем в начале 00:00:59
c Секунды без нуля в начале 00:00:9
сс Секунды с нулем в начале 00:00:09

Когда вы рассчитываете, к примеру, табель рабочего времени, то сумма может превысить 24 часа. Чтобы Microsoft Excel правильно отображал время, выходящее за пределы суток, примените один из следующих настраиваемых форматов времени. На скриншоте ниже – отображение одного и того же времени разными способами.

Пользовательские форматы для отрицательных значений времени

Пользовательские форматы времени, описанные выше, работают только для положительных значений. Если результат ваших вычислений представляет собой отрицательное число, отформатированное как время (например, когда вы вычитаете большее количество времени из меньшего), результат будет отображаться как #####. И увеличение ширины столбца не поможет избавиться от этих решёток.

Если вы хотите обозначить отрицательные значения времени, вам доступны следующие параметры:

  • Отобразите пустую ячейку для отрицательных значений времени. Для этого введите точку с запятой в конце формата времени, например [ч]: мм;
  • Вывести сообщение об ошибке. Введите точку с запятой в конце формата времени, а затем напишите сообщение в кавычках, например 

[ч]: мм; «Отрицательное время»

Если вы хотите отображать отрицательные значения времени именно как отрицательные значения, например -11:15, самый простой способ — изменить систему дат Excel на систему 1904 года. Для этого щелкните Файл> Параметры> Дополнительно, прокрутите вниз до раздела Вычисления и установите флажок Использовать систему дат 1904.

Формат «Дата – Время».

Если нужно показать и дату, и время, вы можете просто объединить в единое целое те форматы, о которых мы говорили выше.

На скриншоте ниже вы видите несколько вариантов, как могут выглядеть ваши значения:

Ничего сложного: сначала описываем дату, затем – время.

Формат даты Excel не работает – как исправить?

Обычно Microsoft Excel очень хорошо понимает даты, и вы вряд ли столкнетесь с какими-либо серьёзными проблемами при работе с ними. 

Но если всё же у вас возникла проблема с отображением дня, месяца и года, ознакомьтесь со следующими советами по устранению неполадок.

Ячейка недостаточно широка, чтобы вместить всю информацию.

Если вы видите на листе несколько знаков решетки (#####) вместо даты, то скорее всего, ваши ячейки недостаточно широки, чтобы вместить её целиком.

Решение. Дважды кликните по правой границе столбца, чтобы изменить его размер в соответствии с содержимым. Кроме того, вы можете просто перетащить мышкой правую границу, чтобы установить нужную ширину столбца.

Отрицательные числа форматируются как даты

Во всех современных версиях Excel 2013, 2010 и 2007 решетка (#####) также отображается, когда ячейка, отформатированная как дата или время, содержит отрицательное значение. Обычно это результат, возвращаемый какой-либо формулой. Но это также может произойти, когда вы вводите отрицательное значение в ячейку, а затем представляете эту ячейку как дату.

Если вы хотите отображать отрицательные числа как отрицательные даты, вам доступны два варианта:

Решение 1. Переключитесь на систему 1904.

Перейдите в Файл > Параметры > Дополнительно , прокрутите вниз до раздела При вычислении этой книги , установите флажок Использовать систему дат 1904 и нажмите ОК .
В этой системе 0 – это 1 января 1904 года; 1 – 2 января 1904 г .; а -1 отображается как: -2-янв-1904.
Конечно, такое представление очень необычно и требуется время, чтобы к нему привыкнуть.

Решение 2. Используйте функцию ТЕКСТ.

Другой возможный способ отображения отрицательных дат в Excel – использование функции ТЕКСТ. Например, если вы вычитаете C1 из B1, а значение в C1 больше, чем в B1, вы можете использовать следующую формулу для вывода результата в нужном вам виде:

=ТЕКСТ(ABS(B1-C1);»-ДД ММ ГГГГ»)

Получим результат «-01 01 1900».

Вы можете в формуле ТЕКСТ использовать любые другие настраиваемые форматы даты.

Замечание. В отличие от предыдущего решения, функция ТЕКСТ возвращает текстовое значение, поэтому вы не сможете использовать результат в других вычислениях.

Даты импортированы в Excel как текст

Когда вы импортируете данные из файла .csv или какой-либо другой внешней базы данных, даты часто импортируются как текстовые значения. Они могут выглядеть для вас как обычно, но Excel воспринимает их как текст и обрабатывает соответственно.

Решение. Вы можете преобразовать «текстовые даты» в надлежащий для них вид с помощью функции ДАТАЗНАЧ или функции Текст по столбцам. Подробную информацию см. в следующей статье: Как преобразовать текст в дату.

Мы рассмотрели возможные способы представления даты и времени в Excel. Спасибо за чтение!

Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
как форматировать Google таблицу Как сделать пользовательский числовой формат в Excel В этом руководстве объясняются основы форматирования чисел в Excel и предоставляется подробное руководство по созданию настраиваемого пользователем формата. Вы узнаете, как отображать нужное количество десятичных знаков, изменять выравнивание или цвет шрифта,…
7 способов поменять формат ячеек в Excel Мы рассмотрим, какие форматы данных используются в Excel.  Кроме того, расскажем, как можно быстро изменять внешний вид ячеек самыми различными способами. Когда дело доходит до форматирования ячеек в Excel, большинство…
Как удалить формат ячеек в Excel В этом коротком руководстве показано несколько быстрых способов очистки форматирования в Excel и объясняется, как удалить форматы в выбранных ячейках. Самый очевидный способ сделать часть информации более заметной — это…
8 способов разделить ячейку Excel на две или несколько Как разделить ячейку в Excel? С помощью функции «Текст по столбцам», мгновенного заполнения, формул или вставив в нее фигуру. В этом руководстве описаны все варианты, которые помогут вам выбрать технику, наиболее подходящую…

Склонение при форматировании дат

Irysha

Дата: Четверг, 26.07.2012, 17:13 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 68


Репутация:

17

±

Замечаний:
0% ±


2007,2013

Здравствуйте! Проконсультируйте, пожалуйста по такому вопросу: есть ли таблица кодировки склонения дат?
Так при оформлении документов часто нужно прописью писать дату, например __ июля 2012 г., в пользовательском формате мы видим запись [$-FC19]»__» mmmm yyyy» г.»;@
При указании за какой период, например за июль 2012 г., аналогичный код [$-F419] «за» mmmm yyyy» г.»;@

А есть ли другие падежи в Excel?

Я методом подбора не смогла их найти, хотя при попытках поиска в Инете встречала упоминания о кодировках в старых версиях, но на падежи они не распространялись sad

 

Ответить

Serge_007

Дата: Четверг, 26.07.2012, 17:17 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Irysha)

А есть ли другие падежи в Excel?

Насколько я знаю — нет


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Irysha

Дата: Четверг, 26.07.2012, 17:35 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 68


Репутация:

17

±

Замечаний:
0% ±


2007,2013

Спасибочки! Жаль, придется макрос писать, а то лень замучила, да и приходится помнить что в каком-то месте объемного документа у тебя есть не привязанное к дате указание на месяц только в другом падеже, которое нужно ввести вручную, а при «неопытных» пользователях этих файлов так и вовсе постоянно следит да ошибки исправлять sad

 

Ответить

Serge_007

Дата: Четверг, 26.07.2012, 17:43 |
Сообщение № 4

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Не совсем понял, а какой цели Вы хотите добиться?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Irysha

Дата: Пятница, 27.07.2012, 08:36 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 68


Репутация:

17

±

Замечаний:
0% ±


2007,2013

Необходимо просклонять название месяцев.
Это можно использовать, когда в документе есть, например, дата составления, дата утверждения и указание за какой месяц. Тогда дата указывается только в одном месте, а остальные с помощью формул и форматов отображают ту же дату но в другом виде

Отдельно приношу извинения за национальный язык примера, но в целом кириллица позволяет понять суть вопроса smile

К сообщению приложен файл:

primer.xls
(44.0 Kb)

 

Ответить

Pelena

Дата: Пятница, 27.07.2012, 08:55 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Quote (Irysha)

Необходимо просклонять название месяцев

Irysha, не совсем понятно, какие из падежей (кроме родительного и винительного, которые Вы уже использовали) могут применяться в документах

Именительный — март
Родительный — марта (22 марта)
Дательный — марту
Винительный — март (за март)
Творительный — мартом
Предложный — о марте


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Irysha

Дата: Пятница, 27.07.2012, 09:06 |
Сообщение № 7

Группа: Пользователи

Ранг: Участник

Сообщений: 68


Репутация:

17

±

Замечаний:
0% ±


2007,2013

В данном примере использованы только именительный и родительный падежи, он приведен для того чтобы стало понятно каких целей я добиваюсь в работе. Но в других документах есть необходимость указывать даты и в других падежах, а это приходится делать вручную

 

Ответить

vikttur

Дата: Пятница, 27.07.2012, 09:19 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Самое простое в этом случае — создать таблицу соответствий (месяц/падежи) и название месяца подтягивать в ячейку функцией ВПР()
Обратите внимание, что другие решения, которые могут быть предложены, в Полтаве могут быть неприменимы. Например, в украинском языке названия месяцев пишутся одинаково в именительном, винительном и предложном , правила склонения хоть и одинаковы, но формирование окончаний отличается.

Сообщение отредактировал viktturПятница, 27.07.2012, 09:19

 

Ответить

Pelena

Дата: Пятница, 27.07.2012, 09:35 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Вариант с формулами, но надо учитывать замечание vikttur

Quote (vikttur)

в украинском языке … правила склонения хоть и одинаковы, но формирование окончаний отличается.

К сообщению приложен файл:

2163701.xls
(44.0 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

vikttur

Дата: Пятница, 27.07.2012, 10:12 |
Сообщение № 10

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Пример для родительного, месяц (русский) из даты:

Code

=СТРОЧН(ЕСЛИ(ИЛИ(МЕСЯЦ(A15)={3;8});ТЕКСТ(A15;»ММММ»)&»а»;ЛЕВСИМВ(ТЕКСТ(A15;»ММММ»);ДЛСТР(ТЕКСТ(A15;»ММММ»))-1)&»я»))

Для других падежей изменять буковки в двух местах.

Или

Code

=СТРОЧН(ЕСЛИ(ИЛИ(МЕСЯЦ(A15)={3;8});ТЕКСТ(A15;»ММММ»)&»а»;ЕСЛИ(МЕСЯЦ(A15)=5;»мая»;ПОДСТАВИТЬ(ТЕКСТ(A15;»ММММ»);»ь»;»я»))))

В украинском сложнее: из даты название месяца можно извлечь, но его нужно перевести на украинский.

Совсем забыл про ВЫБОР! Ведь в конкретной ячейке не нужно изменять падеж. Вписать необходимое сразу:

Code

=ВЫБОР(МЕСЯЦ(A15);»січня»;»лютого»;»березня»;»квітня»;»травня»;»червня»;»липня»;»серпня»;»вересня»;»жовтня»;»листопада»;»грудня»)

Сообщение отредактировал viktturПятница, 27.07.2012, 10:38

 

Ответить

Irysha

Дата: Пятница, 27.07.2012, 20:26 |
Сообщение № 11

Группа: Пользователи

Ранг: Участник

Сообщений: 68


Репутация:

17

±

Замечаний:
0% ±


2007,2013

А вот об этой функции я и не думала, что возьмешь из самоучки
Спасибочки!

 

Ответить

Vadim

Дата: Четверг, 20.06.2013, 11:28 |
Сообщение № 12

Код

=»по состоянию на «&СТРОЧН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ($G$5;»»ДД» ММММ ГГГГ»);»ь»;»я»;1);»т «;»та «;1);»й»;»я»;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!ДатаПрописью()

Если вы планируете книгу с функцией «ДатаПрописью» передавать на другой компьютер, модуль с ней должен быть в передаваемой книге.

Понравилась статья? Поделить с друзьями:
  • Excel формат даты в днях
  • Excel формат даты без точек
  • Excel формат даты без года
  • Excel формат дата по умолчанию
  • Excel формат данных число с запятой