- Перевод в именительный падеж в Excel
- Перевод из начальной формы в другие падежи
- Макросы склонения по падежам в Excel
- Склонение существительных
- Склонение прилагательных
- Склонение чисел (имен числительных)
- Склонение ФИО в Excel
- Склонение ФИО в родительный падеж
- Склонение ФИО в дательный падеж
- Склонение ФИО в винительный падеж
- Остальные падежи
- Просклонять фразы целиком
- Склонение списка услуг (пример)
- Склонение должностей в Excel (пример)
Реализовать изменение падежей в экселе — одна из самых сложных задач для разработки, поскольку в русском языке масса правил склонения, окончаний, чередующихся гласных и прочих исключений из общих правил.
Обычная формула, которая сможет автоматически поменять падеж любого слова, попросту отсутствует, поскольку ограничения формул по длине просто не позволят учесть в ней все нюансы. Невозможно не то что сделать одну формулу для всех падежей, даже если вы гений Excel, вам не удастся сделать даже формулу для родительного падежа.
Тем более сложно представить себе бесплатное решение. Я разрабатывал алгоритм в своей надстройке с нуля и самостоятельно, опираясь на разные открытые источники данных по морфологии русского языка, и разработка заняла несколько месяцев, после чего я всё еще периодически произвожу улучшения своего алгоритма и исправление ошибок.
Надстройка !SEMTools может похвастать несколькими особенностями, выделяющими её на фоне других решений по морфологии в Excel. Например, она позволяет переводить слова в именительный падеж, а также изменять число и падеж составных фраз, не ломая их смысл.
Что ж, расскажу подробнее.
Перевод слов в Excel в именительный падеж — часть процесса лемматизации. Лемматизация в Excel также поддерживается моей надстройкой, но здесь речь не о ней, а об обратном процессе — склонении начальной формы в остальные.
Перевод из начальной формы в другие падежи
Периодически специалистам, чья деятельность связана с написанием большого количества текстов — SEO/PPC специалистам, контент-менеджерам, администраторам баз данных и каталогов, копирайтерам и т.д. — бывает нужна возможность просклонять слова по падежам.
Мечта таких специалистов (знаю, т.к. выполнял похожие задачи) — поменять падеж ФИО, ключевых слов или товарных позиций прямо в Excel с помощью простых функций или процедур.
И надстройка !SEMTools дает такую возможность!
Надстройка совместима с Excel 2010, 2013, 2016, 2019, 2021 и Excel 365 на ОС Windows.
Процедуры можно потестировать в бесплатной версии, но присутствует ограничение — обрабатываются только часть исходных данных, треть данных заменяется дисклеймером «Доступно в полной версии».
Макросы склонения по падежам в Excel
Полная версия надстройки обрабатывает 100% данных. Процедуры можно вызывать с помощью меню «Изменить слова» в группе «ИЗМЕНИТЬ».
Для корректной работы слова должны быть в начальной форме — именительном падеже.
Посмотрите видео демонстрацию работы процедур ниже:
ВАЖНО: процедуры склонения не знают, какие части речи им дали на вход, и смотрят только на окончания, склоняя все слова в ячейке как существительные или прилагательные в именительном падеже. Исключение – процедуры склонения фраз.
Склонение существительных
Число | Доступные словоформы для склонения |
---|---|
Единственное | Единственное число: родительный, дательный, винительный, творительный, предложный Множественное число: именительный, родительный, дательный, винительный, творительный, предложный |
Множественное | Родительный, дательный, винительный, творительный, предложный — любой вариант |
Объяснение к таблице ниже: если исходная словоформа в именительном падеже множественного числа, из нее можно произвести только падежи множественного. Чтобы получить словоформы единственного числа, потребуется сначала преобразовать слова в их леммы (именительный падеж единственного числа) с помощью процедуры лемматизации. И уже после этого склонять в любые другие.
Очень хочется довести функционал до совершенства, но склонение существительных практически не поддается простой алгоритмизации – есть десятки правил и сотни исключений из них.
Склонение прилагательных
Аналогично склонению существительных, надстройка может генерировать любые словоформы для леммы
Форма | Отвечает на вопрос | Доступные словоформы для склонения |
---|---|---|
Лемма (единственное число, именительный падеж, мужской род) | Какой? | Все остальные из 36 словоформ, кроме исходной: 3 рода (мужской, женский, средний) * 2 числа (единственное, множественное) * 6 падежей (именительный, родительный, дательный, винительный, творительный, предложный) |
Именительный падеж, женский род | Какая? | 11 падежей женского рода: Единственное число: родительный, дательный, винительный, творительный, предложный Множественное число: именительный, родительный, дательный, винительный, творительный, предложный |
Именительный падеж, средний род | Какое? | 11 падежей среднего рода: Единственное число: родительный, дательный, винительный, творительный, предложный Множественное число: именительный, родительный, дательный, винительный, творительный, предложный |
Склонение чисел (имен числительных)
Числительные при склонении меняют не только окончания, но и меняются в середине. Алгоритм разработки решения, которое учитывало бы все вариации, довольно сложен и пестрит множеством условий. Надстройка решает и эту задачу. Особенно здорово функции выглядят в сочетании с функционалом число прописью, смотрите пример:
На примере ниже показано склонение обычных числительных. Используется макрос склонения существительных в единственном числе. При этом, если числительные созвучны с прилагательными (например, «тридцать четвёртая»), нужно использовать макросы склонения прилагательных.
Склонение ФИО в Excel
Склонение ФИО отличается от обычного склонения слов по падежам и имеет ряд особенностей:
- Склонение фамилий зависит от рода имени-отчества — армянские фамилии и фамилии, созвучные с нарицательными существительными, не склоняются для женщин (Абрамян Аревик Альбертовны);
- При этом они склоняются для мужчин (Хачатуряна Артура Сергеевича);
- Фамилии склоняются как прилагательные, но в некоторых падежах — иначе
- Есть ряд исключений в склонении женских имен, например, Любовь — Любови (а не Любви);
- Есть огромное количество несклоняемых мужских и женских имен, заканчивающихся на те же сочетания букв, что и склоняемые (Эрик склоняется, Аревик — нет);
- И даже есть имена (например, Адель), являющиеся одновременно и мужскими и женскими, и склоняющиеся по-разному в зависимости от этого.
Реализовать функцию или макрос, которые бы идеально обрабатывали эти кейсы, невероятно сложно. Но все эти проблемы были решены при разработке специальных макросов склонения фамилий-имен-отчеств в !SEMTools.
Корректность работы была проверена на базе в 350.000 ФИО. Для корректной работы список ФИО должен содержать как фамилии, так имена и отчества в их полных формах в именительном падеже. Ниже примеры использования:
Склонение ФИО в родительный падеж
Когда нужно написать в шапке документа, от кого он, когда известна только начальная форма. Пример ниже:
Склонение ФИО в дательный падеж
Частая история, когда нужно кому-нибудь что-нибудь выплатить. Полезная сопутствующая функция — сумма прописью с копейками в Excel.
Склонение ФИО в винительный падеж
Данная функция понадобится, когда нужно кого-нибудь наградить, перевести в другой отдел или назначить на новую должность.
Остальные падежи
Перевод ФИО из именительного в творительный и предложный падежи происходят абсолютно по тому же сценарию:
- выделяем список,
- выбираем нужный падеж,
- получаем результат. Просто и быстро.
Просклонять фразы целиком
Эта новая опция появилась совсем недавно, и по праву делает !SEMTools лучшим решением для склонения слов по падежам, доступным на текущий момент. Ниже основные особенности инструмента, которые позволяют так сказать:
- Склоняются по падежам и числам все слова фразы — прилагательные, существительные, местоимения и т.д.;
- Род существительных и прилагательных сохраняется;
- Слова склоняются в любом регистре и регистр слов сохраняется (3 варианта – нижний, первая буква заглавная, верхний);
- Надстройка понимает контекст, в котором находится слово, и выбирает, склонять ли его в зависимости от этого (просклоняет «дверной проём», но не будет склонять «с дверной ручкой»);
- Аббревиатуры не склоняются, за некоторыми общеизвестными исключениями.
Есть еще ряд технических тонкостей, но в итоге все вышеперечисленное позволяет идеально склонять тысячи уникальных фраз без необходимости серьезных правок после.
Кому в первую очередь подойдет инструмент? Конечно же, вебмастерам и копирайтерам.
Склонение списка услуг (пример)
Списки товаров или услуг зачастую состоят далеко не из одного слова, и быстро склонять их для использования в текстах — сэкономить десятки часов времени на наполнение сайта полезным и при этом читабельным контентом. Смотрите пример со склонением услуг автосервиса:
Склонение должностей в Excel (пример)
Будет полезно офисным сотрудникам (делопроизводителям, бухгалтерам и др.). Здесь инструмент пригодится для склонения должностей, званий, специальностей и т.д. Смотрите пример со склонением всех ВУС (военно-учетных специальностей):
Хотите попробовать, как будет обработан ваш список фраз?
Установите !SEMTools и попробуйте воспользоваться функционалом!
Склонение по падежам в Excel
Функция СКЛОНЕНИЕ
Не сложно догадаться, для чего необходима функция =СКЛОНЕНИЕ(ТЕКСТ;ПАДЕЖ). Практически любое существительное или ФИО она переведет из именительного падежа в нужный падеж.
Подчеркну слово практически, так как имеются фамилии, которые без программы то сложно просклонять, но в 90% случаев макрос отрабатывает достойно. Проверяйте сложные или необычные фамилии дополнительно.
Формула имеет всего 2 аргумента:
- ТЕКСТ — Существительное, имя, фамилия или отчество в именительном падеже, который необходимо просклонять. Вы также можете использовать несколько слов в качестве аргумента. Например, указать полностью ФИО.
- ПАДЕЖ — Числовое значение определяющее падеж:
- Именительный.
- Родительный.
- Дательный.
- Винительный.
- Творительный.
- Предложный.
Вот так выглядит стандартное окно ввода параметров функции СКЛОНЕНИЕ
Функция СКЛОНЕНИЕУКР
Аналогичная функция, которая склоняет ФИО и существительные, но только на украинском языке. Синтаксис у нее также не отличается =СКЛОНЕНИЕУКР(ТЕКСТ;ПАДЕЖ).
Далее приводятся примеры, наглядно демонстрирующие работу функции.
Обращаю ваше внимание, что для корректной работы данных функций необходимо стабильное подключение к интернету, а точнее к сайту Морфер.ру. Имеется также суточное ограничение на использование функций, которое в настоящий момент составляет 1000 склонений.
Склонение простой фамилии по всем падежам.
Склонение сразу фамилии имени и отчества по всем падежам.
Склонение сложных фамилий и имен в родительный падеж.
Склонение по падежам — формулы и макросы
Периодически специалистам, чья деятельность связана с написанием большого количества текстов — SEO/PPC специалистам, контент-менеджерам, администраторам баз данных и каталогов, копирайтерам и т.д. — бывает нужна возможность просклонять слова по падежам.
Мечта каждого — сделать это прямо в Excel с помощью простых функций.
Надстройка !SEMTools дает такую возможность! Причем как платная, так и бесплатная версия. По ссылке можно скачать файл-пример, в котором использованы все функции склонения по падежам — для существительных и прилагательных. Функции будут работать автоматически у любого, кто скачал и установил надстройку !SEMTools.
Отличие бесплатной версии — в ней это возможно сделать только формулами.
Макросы применить тоже получится, но присутствует стандартное ограничение — обрабатываются только часть исходных данных, треть данных заменяется дисклеймером «Доступно в полной версии».
Активированная версия надстройки поддерживает и формулы, и макросы. Макросы можно вызывать с помощью меню «Слова» в группе «ИЗМЕНИТЬ«.
ВАЖНО: При склонении существительных функции могут допускать ошибки, просьба сообщать автору о таковых. Очень хочется довести функционал до совершенства, но склонение существительных практически не поддается простым алгоритмам — существуют тысячи алгоритмических правил и такие же тысячи исключений из них.
Склонение в excel
Функция позволяет выводить фамилию, имя и отчество, заданные в именительном падеже, в форме любого другого падежа.
Область применения:
Функцию удобно использовать для автоматизации формирования документов в MS Excel (или облегчения создания их вручную), где ФИО необходимо указывать не в именительном падеже: различного рода договоры, кассовые ордера, квитанции, акты сверок, приказы, протоколы, доверенности и т.д.
Функция также незаменима, если средствами автоматизации реализовано формирование перечисленных выше документов в приложении MS Word на основании данных, находящихся в таблицах MS Excel.
Примеры использования:
- в договоре: «в лице руководителя Баранова Петра Вячеславовича«
- в кассовых ордерах: «выдано Гнатюку Павлу Васильевичу«, «получено от Гриценко Ирины Сергеевны«
- в доверенности: «доверяю управление траспортным средством Смирницкому Виталию Валерьевичу«
- в приказе: «назначить на должность Степашову Ольгу Николаевну«
- в протоколе: «доклад подготовлен Дворжецким Никитой Ивановичем«
Что реализовано:
- корректно склоняются фамилии со всеми распространенными на территории стран СНГ окончаниями «-ов», «-ев», «-ин», «-ян(ц)», «-ский(-цкий)», «-ской(-цкой)», «-ый», «-ых», «-их», «-ец», «-нко», «-ук», «-юк», «-ич», «-ия» и др.: Павлов, Зиновьев, Гагарин, Петросян, Высоцкий, Трубецкой, Цой, Задорожный, Садовничий, Седых, Долгих, Сосковец, Нестеренко, Гончарук, Данилюк, Рабинович, Данелия, Кваша, Врубель, Козак, Казачок и т.д., а также соответствующие женские фамилии
- учитываются отличия в склонении мужских и женских фамилий: Ткачу Виктору и Ткач Светлане, Козовцу Антону и Козовец Екатерине
- корректно обрабатываются составные фамилии: например, Мамин-Сибиряк, Салтыков-Щедрин, Немирович-Данченко, Лебедев-Кумач
- не склоняются иноязычные фамилии: Галуа, Моруа, Дефо, Дали, Безе, Верди, Гарсиа, Хэмингуэй и пр.
- успешно обрабатываются отчества с частицами «-оглы», «-кызы», «ибн»: Мамедов Полад Муртуза оглы -> Мамедовым Поладом Муртуза оглы, Гассан Абдурахман ибн Хаттаб -> Гассаном Абдурахманом ибн Хаттабом, Абу Али ибн Сина -> Абу Али ибн Синой
- автоматически по отчеству определяется пол (мужской/женский) и исходя из этого выбираются соответствующие правила склонения
- для ситуаций, когда пол автоматически определить затруднительно (отчество иностранное или отсутствует), можно указать пол в качестве параметра функции
- возможен вывод в сокращенном виде «фамилия + инициалы»: Полозову Н. А., Васильевой А. К., Дворжецкому Е. Е.
- возможность использования как в виде надстройки (можно использовать во всех файлах на данном рабочем месте), так и в виде кода, внедренного в файл (функция будет работать в данном файле на любом рабочем месте — удобно, если файл, например, отправляется контрагенту)
- открытый программный код — при желании можно изучать алгоритм либо модифицировать
Как подключить?
Программа представляет собой один файл с названием bdgFIOPropisyu.bas. Для того, чтобы использовать ее в том или ином файле, функцию нужно импортировать в этот файл. Для этого необходимо:
- открыть файл MS Excel, в котором требуется использовать функцию
- войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
- в главном меню редактора VBA выбрать пункт «File» -> «Import file. «:
- в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку «Открыть»:
В результате этих действий в проводнике проекта в левой части экрана появится ветвь «Modules» (если ее еще не было), раскрыв которою можно увидеть строку bdgFIOPropisyu. А дважды кликнув по этой строке справа можно увидеть текст самой функции ФИОВПадеже:
Все, программный код импортирован и его можно использовать.
Как использовать?
- выделите курсором ячейку, в которой хотите поместить результат функции
- нажмите на пиктограмму «Вставить функцию» на панели формул:
- в появившемся окне Мастера функций выберите категорию «Определенные пользователем», затем в списке выделите название функции «ФИОВПадеже» и нажмите кнопку «ОК»:
- и далее в окне Аргументы функций заполните поля: в полях Фамилия, Имя и Отчество укажите ссылки на ячейки с соответствующими значениями, а в поле Падеж укажите число от 1 до 6 (номер падежа от именительного до предложного) и нажмите кнопку «ОК»:
В результате в выделенной ячейке отобразится результат вычисления функции.
Вот еще несколько примеров ее использования:
Ситуации, когда работа функции может быть некорректной:
Несмотря на то, что ситуаций, когда работа функции может быть неудовлетворительной, ниже перечислено немало, вероятность столкновения с таким ФИО в практической работе достаточно мала, т.к. в 99,9% случаев фамилии, встречающиеся на территории России, склоняются по общим правилам.
Кроме того, следует заметить, что другие алгоритмы и программы также не могут гарантировать корректность результата в 100% случаев — русский язык слишком велик и могуч, чтобы быть описанным набором логических правил (смотрите ниже про влияние положения ударения в слове, происхождения фамилии, про зависимость написания женской формы фамилии от написания мужской формы и т.д.).
- По правилам русского языка склонение мужских и женских иноязычных фамилий, оканчивающихся на «-а» и «-я», зависит от места ударения в слове и происхождения фамилии.
Все фамилии, кончающиеся на неударное «-а» после согласных, склоняются: Сенека -> Сенеки, Петрарка -> Петрарки, Сметана -> Сметаны, Куросава -> Куросавы, Глинка -> Глинки, Окуджава -> Окуджавы и др. Склонение фамилий с ударным «-а» на конце зависит от ее происхождения: не склоняются фамилии французского происхождения: Дюмá, Дегá, Фермá, Петипá и т.д., фамилии иного происхождения (из славянских и восточных языков) склоняются: Митта -> Митты, Кваша -> Кваши, Сковорода -> Сковороды, Кочерга -> Кочерги, Хамза -> Хамзы и др.
Аналогично, французские по происхождению фамилии с ударным «-я» на конце несклоняемы: Золя, Труайя . Все прочие фамилии на «-я» склоняемы: Головня -> Головни, Данелия -> Данилии, Берия -> Берии, Гойя -> Гойи .
Поскольку программно определить положения ударения и происхождение фамилии невозможно, в алгоритме программы принято допущение, что все подобные фамилии склоняются по общим правилам. Поэтому французские фамилии с ударением на окончании обрабатываются программой некорректно: Дюма -> Дюмы, Золя -> Золи, Петипа -> Петипы . - Мужские фамилии, оканчивающиеся на «-ий», «-ый», «-ой», склоняются как прилагательные Горький -> Горького, Блаженный -> Блаженного, Броневой -> Броневого . Исключения составляют случаи, когда фамилия с таким окончанием — нарицательное существительное ( Козодой, Водопой, Гений, Сценарий ) либо иноязычна по происхождению ( Цой, Цхой, Чой ). Так как программно не определить, является ли фамилия подобным исключением, условно принято, что все фамилии с окончаниями «-ий», «-ый», «-ой» склоняются как прилагательные. В подавляющем большинстве случаяв это верно, однако в исключительных случаях с фамилиями-существительными результат функции будет ошибочным: Козодой Яков -> Козодого Якова, Гений Стефан -> Генего Стефана .
Однако, в виде исключения в алгоритме учтено склонение фамилий с данными окончаниями и длиной менее 5 букв (преимущественно корейских по происхождению): Цой Виктор -> Цоя Виктора . - В ряде случаев корректное склонение женской фамилии, оканчивающейся на «-ина», «-ова», возможно только, если известно склонение соответствующей ей мужской фамилии: Жемчужина Людмила, Малина Светлана могут склоняться как в обычной форме: Жемчужина Людмила -> Жемчужиной Людмилы, Малина Светлана -> Малиной Светланы (если соответствующими мужскими фамилиями являются, например, Жемчужин Борис и Малин Олег), так и в форме существительного: Жемчужина Людмила -> Жемчужины Людмилы, Малина Светлана -> Малины Светланы (если мужские формы фамилии, например, Жемчужина Борис и Малина Олег).
Учесть подобные нюансы в алгоритме невозможно, поэтому все женские фамилии функцией обрабатываются по единым правилам (как прилагательные), что в отдельных случаях может приводить к неверным результатам. - Похожая ситуация обстоит с мужскими и женскими фамилиями, оканчивающимися на «-ов(а)», «-ев(а)», «-ин(а)», которые омонимичны нарицательным существительным: Боров, Лев, Филин, Барин, Корова, Сова, Картина, Перина, Старина и т.д. ). Ни по каким формальным признакам программно установить идентичность фамилии и существительного нет возможности, поэтому склонение подобных фамилии по единым общим правилам приводит к некорректным результатам вида: Лев Павел -> Левым Павлом, Филин Сергей -> Филиным Сергеем, Корова Ксения -> Коровой Ксении, Сова Ольга -> Совой Ольги, Картина Алла -> Картиной Аллы .
- Мужские фамилии, оканчивающиеся на мягкий знак, склоняются: Врубель Михаил -> Врубеля Михаила, Гоголь Николай -> Гоголя Николая и т.д. Однако при склонении окончания таких фамилий зависят от того, существительными какого рода — мужского, женского или среднего — они являются.
Алгоритмически определить род существительного не представляется возможным, поэтому в тех случаях, когда мужская фамилия является существительным женского или среднего рода, функция будет работать некорректно: Сталь Иван -> Сталя Ивана, Полынь Виктор -> Полыня Виктора . - Образование творительного падежа фамилий, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», зависит от ударения в слове: если это окончание является безударным, то при склонении оно меняется на «-ей»: Капица Петр -> Капицей Петром, Туча Федор -> Тучей Федором ; если же окончание удареное, оно заменяется на «-ой»: Кваша Игорь -> Квашой Игорем, Свеча Иван -> Свечой Иваном . Аналогичная ситуация с фамилиями, оканчивающимися на «-ец»: без ударения окончание меняется на «-ем»: Палец Виктор -> Пальцем Виктором ; под ударением — на «-ом»: Сосковец Олег -> Сосковцом Олегом .
Как было сказано выше, определить положения ударения в слове программно нельзя, поэтому в алгоритме программы принято допущение, что в словах, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», окончание безударное (таких слов больше), то есть творительный падеж всегда образуется окончанием «-ей». Напротив, в словах, оканчивающихся на «ец», принято, что окончание находится под ударением, то есть склонение будет с окончанием «-ом». Соответственно, в остальных случаях будут наблюдаться ошибки вида: Квашей Игорем, Свечей Иваном, Пальцом Виктором . - Согласно правилам русского языка первая часть двойной русской фамилии склоняется, если она сама по себе может употребляться как фамилия: творчество Мамина-Сибиряка, рассказ Салтыкова-Щедрина, опера Римского-Корсакова и т.д. В противном случае она не изменяется: картина Ван-Дейка, похождения Дон-Жуана, оруженосец Дон-Кихота и др. Так, например, в фамилии Семёнов-Тян-Шанский склоняется первая часть, но не вторая: труды Семёнова-Тян-Шанского .
Опять же, определить, является ли составная часть фамилии самостоятельной, алгоритмически возможности нет, поэтому для работы принято допущение, что все части составной фамилии следует склонять (в большинстве случаев это так), что в ряде ситуаций приводит к ошибкам: Вана-Дейка, Дона-Кихота, Семёнова-Тяна-Шанского . - Иностранные фамилии, оканчивающиеся на «-ов» и «-ин» в творительном падеже меняют окончание на «-ом»: Бенджамином Франклином, Чарльзом Дарвином, Чарли Чаплином, Александром Грином . «Русские» же фамилии с аналогичными окончаниями заканчиваются на «-ым»: Ивановым, Гагариным, Фонвизиным и т.д. Несмотря на то, что перечисленные выше фамилии ( Франклин, Дарвин, Чаплин, Грин ) в виде исключений учтены в алгоритме, есть небольшая вероятность, что встретится какая-либо другая аналогичная иностранная фамилия — в таком случае результат функции будет некорректен.
Правила склонения фамилий и имен использованы в соответствии с разделами 13.1 и 13.2 работы Н. А. Еськовой «Трудности словоизменения существительных. Учебно-методические материалы к практическим занятиям по курсу «Язык современной печати» (Госкомитет печати СССР. Всесоюзный институт повышения квалификации работников печати. М., 1990).
Как сделать склонение по падежам в excel?
9 Окт 2018 22:22:03
29 Янв 2017 17:28:40
28 Июн 2018 15:25:11
21 Сен 2018 06:21:34
9 Окт 2018 19:58:10
9 Окт 2018 15:21:02
9 Окт 2018 10:34:17
1 Окт 2018 11:22:35
Сейчас на форуме (гостей: 590, пользователей: 12, из них скрытых: 3) , , , , , , , ,
Сегодня отмечают день рождения (37), (32), (28), (37), (36), (52)
Всего зарегистрированных пользователей: 83105
Приняло участие в обсуждении: 31843
Всего тем: 105875
склонение по падежам в excel
В разделе Другие языки и технологии на вопрос можно ли автоматически склонять по падежам существительные в формате Excel заданный автором Зуфар лучший ответ это Доброго времени суток.
Если речь идет о ФИО, наименованиях должностей или подразделений, то можно. Правда, это инструмент скорее для разработчика. Впрочем, юзер тоже может разобраться. В примерах есть готовые макросы для Excel.
Удачи!
PS Ищите в гугле по ключу «Склонение фамилий, имен и отчеств по падежам»
22 ответа
Привет! Вот подборка тем с ответами на Ваш вопрос: можно ли автоматически склонять по падежам существительные в формате Excel
Ответ от Вровень
Нет, такая возможность в Ехсel не поддерживается. Но для частного случая можно использоваться функцию IF для выбора одного или другого варианта.
Ответ от Просцениум
Вы находитесь в категории «Программирование», так что никто не может вам запретить написать свою функцию на VBA, которая будет заниматься этим богоугодным делом. И как раз решение задачи в таком формате — вполне реально.
Ответ от христосоваться
слышал, что реформа русского языка прошла, но чтобы ввели «существительные в формате Excel» даже представить себе не мог))))))
Пользовательская функция для MS Excel
Склонение ФИО по падежам
Функция позволяет выводить фамилию, имя и отчество, заданные в именительном падеже, в форме любого другого падежа.
Область применения:
Функцию удобно использовать для автоматизации формирования документов в MS Excel (или облегчения создания их вручную), где ФИО необходимо указывать не в именительном падеже: различного рода договоры, кассовые ордера, квитанции, акты сверок, приказы, протоколы, доверенности и т.д.
Функция также незаменима, если средствами автоматизации реализовано формирование перечисленных выше документов в приложении MS Word на основании данных, находящихся в таблицах MS Excel.
Примеры использования:
- в договоре: «в лице руководителя Баранова Петра Вячеславовича«
- в кассовых ордерах: «выдано Гнатюку Павлу Васильевичу«, «получено от Гриценко Ирины Сергеевны«
- в доверенности: «доверяю управление траспортным средством Смирницкому Виталию Валерьевичу«
- в приказе: «назначить на должность Степашову Ольгу Николаевну«
- в протоколе: «доклад подготовлен Дворжецким Никитой Ивановичем«
Что реализовано:
- корректно склоняются фамилии со всеми распространенными на территории стран СНГ окончаниями «-ов», «-ев», «-ин», «-ян(ц)», «-ский(-цкий)», «-ской(-цкой)», «-ый», «-ых», «-их», «-ец», «-нко», «-ук», «-юк», «-ич», «-ия» и др.: Павлов, Зиновьев, Гагарин, Петросян, Высоцкий, Трубецкой, Цой, Задорожный, Садовничий, Седых, Долгих, Сосковец, Нестеренко, Гончарук, Данилюк, Рабинович, Данелия, Кваша, Врубель, Козак, Казачок и т.д., а также соответствующие женские фамилии
- учитываются отличия в склонении мужских и женских фамилий: Ткачу Виктору и Ткач Светлане, Козовцу Антону и Козовец Екатерине
- корректно обрабатываются составные фамилии: например, Мамин-Сибиряк, Салтыков-Щедрин, Немирович-Данченко, Лебедев-Кумач
- не склоняются иноязычные фамилии: Галуа, Моруа, Дефо, Дали, Безе, Верди, Гарсиа, Хэмингуэй и пр.
- успешно обрабатываются отчества с частицами «-оглы», «-кызы», «ибн»: Мамедов Полад Муртуза оглы -> Мамедовым Поладом Муртуза оглы, Гассан Абдурахман ибн Хаттаб -> Гассаном Абдурахманом ибн Хаттабом, Абу Али ибн Сина -> Абу Али ибн Синой
- автоматически по отчеству определяется пол (мужской/женский) и исходя из этого выбираются соответствующие правила склонения
- для ситуаций, когда пол автоматически определить затруднительно (отчество иностранное или отсутствует), можно указать пол в качестве параметра функции
- возможен вывод в сокращенном виде «фамилия + инициалы»: Полозову Н. А., Васильевой А. К., Дворжецкому Е. Е.
- возможность использования как в виде надстройки (можно использовать во всех файлах на данном рабочем месте), так и в виде кода, внедренного в файл (функция будет работать в данном файле на любом рабочем месте — удобно, если файл, например, отправляется контрагенту)
- открытый программный код — при желании можно изучать алгоритм либо модифицировать
Как подключить?
Программа представляет собой один файл с названием bdgFIOPropisyu.bas. Для того, чтобы использовать ее в том или ином файле, функцию нужно импортировать в этот файл. Для этого необходимо:
- открыть файл MS Excel, в котором требуется использовать функцию
- войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
- в главном меню редактора VBA выбрать пункт «File» -> «Import file…»:
- в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку «Открыть»:
Все, программный код импортирован и его можно использовать.
Как использовать?
- выделите курсором ячейку, в которой хотите поместить результат функции
- нажмите на пиктограмму «Вставить функцию» на панели формул:
- в появившемся окне Мастера функций выберите категорию «Определенные пользователем», затем в списке выделите название функции «ФИОВПадеже» и нажмите кнопку «ОК»:
- и далее в окне Аргументы функций заполните поля: в полях Фамилия, Имя и Отчество укажите ссылки на ячейки с соответствующими значениями, а в поле Падеж укажите число от 1 до 6 (номер падежа от именительного до предложного) и нажмите кнопку «ОК»:
В результате в выделенной ячейке отобразится результат вычисления функции.
Вот еще несколько примеров ее использования:
Ситуации, когда работа функции может быть некорректной:
Несмотря на то, что ситуаций, когда работа функции может быть неудовлетворительной, ниже перечислено немало, вероятность столкновения с таким ФИО в практической работе достаточно мала, т.к. в 99,9% случаев фамилии, встречающиеся на территории России, склоняются по общим правилам.
Кроме того, следует заметить, что другие алгоритмы и программы также не могут гарантировать корректность результата в 100% случаев — русский язык слишком велик и могуч, чтобы быть описанным набором логических правил (смотрите ниже про влияние положения ударения в слове, происхождения фамилии, про зависимость написания женской формы фамилии от написания мужской формы и т.д.).
- По правилам русского языка склонение мужских и женских иноязычных фамилий, оканчивающихся на «-а» и «-я», зависит от места ударения в слове и происхождения фамилии.
Все фамилии, кончающиеся на неударное «-а» после согласных, склоняются: Сенека -> Сенеки, Петрарка -> Петрарки, Сметана -> Сметаны, Куросава -> Куросавы, Глинка -> Глинки, Окуджава -> Окуджавы и др. Склонение фамилий с ударным «-а» на конце зависит от ее происхождения: не склоняются фамилии французского происхождения: Дюмá, Дегá, Фермá, Петипá и т.д., фамилии иного происхождения (из славянских и восточных языков) склоняются: Митта -> Митты, Кваша -> Кваши, Сковорода -> Сковороды, Кочерга -> Кочерги, Хамза -> Хамзы и др.
Аналогично, французские по происхождению фамилии с ударным «-я» на конце несклоняемы: Золя, Труайя. Все прочие фамилии на «-я» склоняемы: Головня -> Головни, Данелия -> Данилии, Берия -> Берии, Гойя -> Гойи.
Поскольку программно определить положения ударения и происхождение фамилии невозможно, в алгоритме программы принято допущение, что все подобные фамилии склоняются по общим правилам. Поэтому французские фамилии с ударением на окончании обрабатываются программой некорректно: Дюма -> Дюмы, Золя -> Золи, Петипа -> Петипы. - Мужские фамилии, оканчивающиеся на «-ий», «-ый», «-ой», склоняются как прилагательные Горький -> Горького, Блаженный -> Блаженного, Броневой -> Броневого. Исключения составляют случаи, когда фамилия с таким окончанием — нарицательное существительное (Козодой, Водопой, Гений, Сценарий) либо иноязычна по происхождению (Цой, Цхой, Чой). Так как программно не определить, является ли фамилия подобным исключением, условно принято, что все фамилии с окончаниями «-ий», «-ый», «-ой» склоняются как прилагательные. В подавляющем большинстве случаяв это верно, однако в исключительных случаях с фамилиями-существительными результат функции будет ошибочным: Козодой Яков -> Козодого Якова, Гений Стефан -> Генего Стефана.
Однако, в виде исключения в алгоритме учтено склонение фамилий с данными окончаниями и длиной менее 5 букв (преимущественно корейских по происхождению): Цой Виктор -> Цоя Виктора. - В ряде случаев корректное склонение женской фамилии, оканчивающейся на «-ина», «-ова», возможно только, если известно склонение соответствующей ей мужской фамилии: Жемчужина Людмила, Малина Светлана могут склоняться как в обычной форме: Жемчужина Людмила -> Жемчужиной Людмилы, Малина Светлана -> Малиной Светланы (если соответствующими мужскими фамилиями являются, например, Жемчужин Борис и Малин Олег), так и в форме существительного: Жемчужина Людмила -> Жемчужины Людмилы, Малина Светлана -> Малины Светланы (если мужские формы фамилии, например, Жемчужина Борис и Малина Олег).
Учесть подобные нюансы в алгоритме невозможно, поэтому все женские фамилии функцией обрабатываются по единым правилам (как прилагательные), что в отдельных случаях может приводить к неверным результатам. - Похожая ситуация обстоит с мужскими и женскими фамилиями, оканчивающимися на «-ов(а)», «-ев(а)», «-ин(а)», которые омонимичны нарицательным существительным: Боров, Лев, Филин, Барин, Корова, Сова, Картина, Перина, Старина и т.д.). Ни по каким формальным признакам программно установить идентичность фамилии и существительного нет возможности, поэтому склонение подобных фамилии по единым общим правилам приводит к некорректным результатам вида: Лев Павел -> Левым Павлом, Филин Сергей -> Филиным Сергеем, Корова Ксения -> Коровой Ксении, Сова Ольга -> Совой Ольги, Картина Алла -> Картиной Аллы.
- Мужские фамилии, оканчивающиеся на мягкий знак, склоняются: Врубель Михаил -> Врубеля Михаила, Гоголь Николай -> Гоголя Николая и т.д. Однако при склонении окончания таких фамилий зависят от того, существительными какого рода — мужского, женского или среднего — они являются.
Алгоритмически определить род существительного не представляется возможным, поэтому в тех случаях, когда мужская фамилия является существительным женского или среднего рода, функция будет работать некорректно: Сталь Иван -> Сталя Ивана, Полынь Виктор -> Полыня Виктора. - Образование творительного падежа фамилий, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», зависит от ударения в слове: если это окончание является безударным, то при склонении оно меняется на «-ей»: Капица Петр -> Капицей Петром, Туча Федор -> Тучей Федором; если же окончание удареное, оно заменяется на «-ой»: Кваша Игорь -> Квашой Игорем, Свеча Иван -> Свечой Иваном. Аналогичная ситуация с фамилиями, оканчивающимися на «-ец»: без ударения окончание меняется на «-ем»: Палец Виктор -> Пальцем Виктором; под ударением — на «-ом»: Сосковец Олег -> Сосковцом Олегом.
Как было сказано выше, определить положения ударения в слове программно нельзя, поэтому в алгоритме программы принято допущение, что в словах, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», окончание безударное (таких слов больше), то есть творительный падеж всегда образуется окончанием «-ей». Напротив, в словах, оканчивающихся на «ец», принято, что окончание находится под ударением, то есть склонение будет с окончанием «-ом». Соответственно, в остальных случаях будут наблюдаться ошибки вида: Квашей Игорем, Свечей Иваном, Пальцом Виктором. - Согласно правилам русского языка первая часть двойной русской фамилии склоняется, если она сама по себе может употребляться как фамилия: творчество Мамина-Сибиряка, рассказ Салтыкова-Щедрина, опера Римского-Корсакова и т.д. В противном случае она не изменяется: картина Ван-Дейка, похождения Дон-Жуана, оруженосец Дон-Кихота и др. Так, например, в фамилии Семёнов-Тян-Шанский склоняется первая часть, но не вторая: труды Семёнова-Тян-Шанского.
Опять же, определить, является ли составная часть фамилии самостоятельной, алгоритмически возможности нет, поэтому для работы принято допущение, что все части составной фамилии следует склонять (в большинстве случаев это так), что в ряде ситуаций приводит к ошибкам: Вана-Дейка, Дона-Кихота, Семёнова-Тяна-Шанского. - Иностранные фамилии, оканчивающиеся на «-ов» и «-ин» в творительном падеже меняют окончание на «-ом»: Бенджамином Франклином, Чарльзом Дарвином, Чарли Чаплином, Александром Грином. «Русские» же фамилии с аналогичными окончаниями заканчиваются на «-ым»: Ивановым, Гагариным, Фонвизиным и т.д. Несмотря на то, что перечисленные выше фамилии (Франклин, Дарвин, Чаплин, Грин) в виде исключений учтены в алгоритме, есть небольшая вероятность, что встретится какая-либо другая аналогичная иностранная фамилия — в таком случае результат функции будет некорректен.
Правила склонения фамилий и имен использованы в соответствии с разделами 13.1 и 13.2 работы Н. А. Еськовой «Трудности словоизменения существительных. Учебно-методические материалы к практическим занятиям по курсу «Язык современной печати» (Госкомитет печати СССР. Всесоюзный институт повышения квалификации работников печати. М., 1990).
Цена: 1500 рублей
Cпециальная цена: 900 рублей
Скидка 40% только до 10.10.18 23:59:59
Склонение ФИО по падежам. Пользовательская функция для MS Excel
Склонение падежам по ФИО
Функция позволяет выводить фамилию, отчество и имя, заданные в именительном падеже, в форме другого любого падежа.
Область применения:
Функцию использовать удобно для автоматизации формирования документов в MS или (Excel облегчения создания их вручную), где необходимо ФИО указывать не в именительном падеже: различного договоры рода, кассовые ордера, квитанции, акты приказы, сверок, протоколы, доверенности и т.д.
Функция также если, незаменима средствами автоматизации реализовано формирование выше перечисленных документов в приложении MS Word на основании находящихся, данных в таблицах MS Excel.
Примеры использования:
- в лице: «в договоре руководителя Баранова Петра Вячеславовича«
- в ордерах кассовых: «выдано Гнатюку Павлу Васильевичу«, «Гриценко от получено Ирины Сергеевны«
- в доверенности: «доверяю траспортным управление средством Смирницкому Виталию Валерьевичу«
- в назначить: «приказе на должность Степашову Ольгу Николаевну«
- в доклад: «протоколе подготовлен Дворжецким Никитой Ивановичем«
реализовано Что:
- корректно склоняются фамилии со всеми территории на распространенными стран СНГ окончаниями «-ов», «-ев», «-ин», «-ян(ц)», «-ский(-ской)», «-цкий(-цкой)», «-ый», «-ых», «-их», «-ец», «-нко», «-ук», «-юк», «-ич», «-ия» и др.: Павлов, Зиновьев, Петросян, Гагарин, Высоцкий, Трубецкой, Цой, Задорожный, Седых, Садовничий, Долгих, Сосковец, Нестеренко, Гончарук, Рабинович, Данилюк, Данелия, Кваша, Врубель, Козак, также и т.д., а Казачок соответствующие женские фамилии
- учитываются склонении в отличия мужских и женских фамилий: Ткачу Ткач и Виктору Светлане, Козовцу Антону и Козовец корректно
- Екатерине обрабатываются составные фамилии: например, Сибиряк-Мамин, Салтыков-Щедрин, Немирович-Данченко, Кумач-Лебедев
- не склоняются иноязычные фамилии: Галуа, Дефо, Моруа, Дали, Безе, Верди, Гарсиа, успешно и пр.
- Хэмингуэй обрабатываются отчества с частицами «-оглы», «-ибн», «кызы»: Мамедов Полад Муртуза оглы -> Поладом Мамедовым Муртуза оглы, Гассан Абдурахман Хаттаб ибн -> Гассаном Абдурахманом ибн Хаттабом, Али Абу ибн Сина -> Абу Али Синой ибн
- автоматически по отчеству определяется пол (женский/мужской) и исходя из этого выбираются соответствующие склонения правила
- для ситуаций, когда пол определить автоматически затруднительно (отчество иностранное или можно), отсутствует указать пол в качестве параметра возможен
- функции вывод в сокращенном виде «фамилия + Полозову»: инициалы Н. А., Васильевой А. К., Дворжецкому Е. Е.
- возможность использования виде в как надстройки (можно использовать во всех данном на файлах рабочем месте), так и в виде внедренного, кода в файл (функция будет работать в файле данном на любом рабочем месте — удобно, файл если, например, отправляется контрагенту)
- открытый код программный — при желании можно изучать либо алгоритм модифицировать
Как подключить?
Программа собой представляет один файл с названием bdgFIOPropisyu.Для. bas того, чтобы использовать ее в том ином или файле, функцию нужно импортировать в файл этот. Для этого необходимо:
- открыть Excel MS файл, в котором требуется использовать функцию
- редактор в войти VBA по нажатию горячей клавиши «F11 + Alt» или через меню:
- в главном меню VBA редактора выбрать пункт «File» -> «Import появившемся. «:
- в file окне выбора файла выбрать bdgFIOPropisyu файл.bas и нажать кнопку «Открыть»:
ФИОВПадеже, программный код импортирован и его использовать можно.
Как использовать?
- выделите курсором которой, в ячейку хотите поместить результат функции
- пиктограмму на нажмите «Вставить функцию» на панели формул:
- в окне появившемся Мастера функций выберите категорию «пользователем Определенные», затем в списке выделите название ФИОВПадеже «функции» и нажмите кнопку «ОК»:
- и далее в окне функций Аргументы заполните поля: в полях Фамилия, Отчество и Имя укажите ссылки на ячейки с соответствующими поле, а в значениями Падеж укажите число от 1 до 6 (номер именительного от падежа до предложного) и нажмите кнопку «ОК»:
Ситуации, работа когда функции может быть некорректной:
что на то, Несмотря ситуаций, когда работа функции быть может неудовлетворительной, ниже перечислено немало, столкновения вероятность с таким ФИО в практической работе мала достаточно, т.к. в 99,9% случаев фамилии, встречающиеся на территории склоняются, России по общим правилам.
Кроме того, заметить следует, что другие алгоритмы и программы могут не также гарантировать корректность результата в 100% русский — случаев язык слишком велик и могуч, быть чтобы описанным набором логических правил (ниже смотрите про влияние положения ударения в происхождения, слове фамилии, про зависимость написания формы женской фамилии от написания мужской формы и т.д.).
-
По русского правилам языка склонение мужских и женских фамилий иноязычных, оканчивающихся на «-а» и «-я», зависит от места ударения в происхождения и слове фамилии.
склонения Правила фамилий и имен использованы в соответствии с работы 13.1 и 13.2 разделами Н. А. Еськовой «Трудности словоизменения существительных. методические-Учебно материалы к практическим занятиям по курсу «современной Язык печати» (Госкомитет печати СССР. институт Всесоюзный повышения квалификации работников печати. М., Источник).
Пользовательские функции (формулы, UDF) для склонения ФИО (фамилии, имени, отчества) по падежам, доступные при использовании надстройки FillDocuments
Поддерживаются 4 падежа:
- родительный падеж
- дательный падеж
- винительный падеж
- творительный падеж
Инструкция, где в Excel найти эти функции, и как применить
Функция (формула) | Пример получаемого значения |
---|---|
=Родительный(E2) | Андреевой Алёны Васильевны |
=Дательный(E2) | Андреевой Алёне Васильевне |
=Винительный(E2) | Андрееву Алёну Васильевну |
=Творительный(E2) | Андреевой Алёной Васильевной |
Исходное значение в ячейке E2 | Андреева Алёна Васильевна |
Программе, для правильного склонения ФИО, нужно определить пол. Пол определяется по отчеству.
Потому, склонять фамилии с инициалами категорически не рекомендуется (могут возникнуть ошибки)
ВАЖНО: Эти функции применимы только к ФИО. Склонять ими должности, и прочие слова и фразы, не получится.
ВНИМАНИЕ: Если вместе со склонением, вы используете другие функции для ФИО (например, Инициалы из ФИО), то сначала применяйте функцию склонения, а потом уже, после изменения падежа, другую функцию.
Пример:
Функция (формула) | Пример получаемого значения | Причина ошибки | |
---|---|---|---|
Правильно | =ФамилияИО(Родительный(E2)) | Мельник Л.А. | Женские фамилии на -к не склоняются, но функция =Родительный() не может определить пол по отчеству, — полное ФИО уже обрезано до инициалов функцией ФамилияИО |
Неправильно | =Родительный(ФамилияИО(E2)) | Мельника Л.А. | |
Правильно | =ИмяОтчество(Дательный(E2)) | Любови Андреевне | Первое слово в ФИО считается фамилией, потому, имя Любовь склоняется неправильно (как мужская фамилия) |
Неправильно | =Дательный(ИмяОтчество(E2)) | Любовю Андреевне | |
Исходное значение в ячейке E2 | Мельник Любовь Андреевна |
Надстройка PLEX для Microsoft Excel 2007-2021 и Office 365
Эта функция выполняет 3 основные операции:
- Выстраивает ФИО в правильном порядке, если в исходных данных они стоят неправильно.
- Склоняет ФИО в родительном и дательном падежах.
- Выводит, при необходимости, сокращенную форму (Фамилия И.О.)
Синтаксис
=FIO(NameAsText; NameCase; ShortForm)
где:
- NameAsText – ячейка с исходным ФИО (полным или без отчества)
- NameCase – символьный код падежа («Д» или «D» – дательный; «Р» или «R» – родительный). По умолчанию – без преобразования.
- ShortForm – числовое значение, задающее сокращенную форму. По умолчанию, принимается за 0 (без преобразования).
В самом простом варианте эту функцию можно использовать для выстраивания ФИО в правильном порядке:
Со вторым аргументом можно преобразовать ФИО в требуемый падеж:
Третий (необязательный) аргумент позволит выводить ФИО в нужном падеже и, дополнительно, в сокращенной форме:
Безусловно, найдутся зубодробительные ФИО, где эта функция сработает некорректно, ибо русский язык велик и могуч. Однако, с 99,9% процентами типичных российских имен все работает вполне успешно (тестировал на 5000+ ФИО реальных людей).
Полный список всех инструментов надстройки PLEX
Название месяца прописью в 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,