Изменение по падежам в excel

  • Перевод в именительный падеж в Excel
  • Перевод из начальной формы в другие падежи
  • Макросы склонения по падежам в Excel
    • Склонение существительных
    • Склонение прилагательных
    • Склонение чисел (имен числительных)
  • Склонение ФИО в Excel
    • Склонение ФИО в родительный падеж
    • Склонение ФИО в дательный падеж
    • Склонение ФИО в винительный падеж
    • Остальные падежи
  • Просклонять фразы целиком
    • Склонение списка услуг (пример)
    • Склонение должностей в Excel (пример)

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

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

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

Надстройка !SEMTools может похвастать несколькими особенностями, выделяющими её на фоне других решений по морфологии в Excel. Например, она позволяет переводить слова в именительный падеж, а также изменять число и падеж составных фраз, не ломая их смысл.

Что ж, расскажу подробнее.

Перевод слов в Excel в именительный падеж — часть процесса лемматизации. Лемматизация в Excel также поддерживается моей надстройкой, но здесь речь не о ней, а об обратном процессе — склонении начальной формы в остальные.

Перевод из начальной формы в другие падежи

Периодически специалистам, чья деятельность связана с написанием большого количества текстов — SEO/PPC специалистам, контент-менеджерам, администраторам баз данных и каталогов, копирайтерам и т.д. — бывает нужна возможность просклонять слова по падежам.

Мечта таких специалистов (знаю, т.к. выполнял похожие задачи) — поменять падеж ФИО, ключевых слов или товарных позиций прямо в Excel с помощью простых функций или процедур.

И надстройка !SEMTools дает такую возможность!

Надстройка совместима с Excel 2010, 2013, 2016, 2019, 2021 и Excel 365 на ОС Windows.

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

Макросы склонения по падежам в Excel

Полная версия надстройки обрабатывает 100% данных. Процедуры можно вызывать с помощью меню «Изменить слова» в группе «ИЗМЕНИТЬ».

процедуры склонения по падежам в надстройке для Excel !SEMTools

Для корректной работы слова должны быть в начальной форме — именительном падеже.

Посмотрите видео демонстрацию работы процедур ниже:

ВАЖНО: процедуры склонения не знают, какие части речи им дали на вход, и смотрят только на окончания, склоняя все слова в ячейке как существительные или прилагательные в именительном падеже. Исключение – процедуры склонения фраз.

Склонение существительных

Число Доступные словоформы для склонения
Единственное Единственное число: родительный, дательный, винительный, творительный, предложный
Множественное число: именительный, родительный, дательный, винительный, творительный, предложный
Множественное Родительный, дательный, винительный, творительный, предложный — любой вариант

Объяснение к таблице ниже: если исходная словоформа в именительном падеже множественного числа, из нее можно произвести только падежи множественного. Чтобы получить словоформы единственного числа, потребуется сначала преобразовать слова в их леммы (именительный падеж единственного числа) с помощью процедуры лемматизации. И уже после этого склонять в любые другие.

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

Склонение прилагательных

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

Форма Отвечает на вопрос Доступные словоформы для склонения
Лемма (единственное число, именительный падеж, мужской род) Какой? Все остальные из 36 словоформ, кроме исходной:
3 рода (мужской, женский, средний) *
2 числа (единственное, множественное) *
6 падежей (именительный, родительный, дательный, винительный, творительный, предложный)
Именительный падеж, женский род Какая? 11 падежей женского рода:
Единственное число: родительный, дательный, винительный, творительный, предложный
Множественное число: именительный, родительный, дательный, винительный, творительный, предложный
Именительный падеж, средний род Какое? 11 падежей среднего рода:
Единственное число: родительный, дательный, винительный, творительный, предложный
Множественное число: именительный, родительный, дательный, винительный, творительный, предложный

Склонение чисел (имен числительных)

Числительные при склонении меняют не только окончания, но и меняются в середине. Алгоритм разработки решения, которое учитывало бы все вариации, довольно сложен и пестрит множеством условий. Надстройка решает и эту задачу. Особенно здорово функции выглядят в сочетании с функционалом число прописью, смотрите пример:

На примере ниже показано склонение обычных числительных. Используется макрос склонения существительных в единственном числе. При этом, если числительные созвучны с прилагательными (например, «тридцать четвёртая»), нужно использовать макросы склонения прилагательных.

число прописью и склонение чисел

Склонение числительных в Excel

Склонение ФИО в Excel

Склонение ФИО отличается от обычного склонения слов по падежам и имеет ряд особенностей:

  • Склонение фамилий зависит от рода имени-отчества — армянские фамилии и фамилии, созвучные с нарицательными существительными, не склоняются для женщин (Абрамян Аревик Альбертовны);
  • При этом они склоняются для мужчин (Хачатуряна Артура Сергеевича);
  • Фамилии склоняются как прилагательные, но в некоторых падежах — иначе
  • Есть ряд исключений в склонении женских имен, например, Любовь — Любови (а не Любви);
  • Есть огромное количество несклоняемых мужских и женских имен, заканчивающихся на те же сочетания букв, что и склоняемые (Эрик склоняется, Аревик — нет);
  • И даже есть имена (например, Адель), являющиеся одновременно и мужскими и женскими, и склоняющиеся по-разному в зависимости от этого.

Реализовать функцию или макрос, которые бы идеально обрабатывали эти кейсы, невероятно сложно. Но все эти проблемы были решены при разработке специальных макросов склонения фамилий-имен-отчеств в !SEMTools.

Корректность работы была проверена на базе в 350.000 ФИО. Для корректной работы список ФИО должен содержать как фамилии, так имена и отчества в их полных формах в именительном падеже. Ниже примеры использования:

Склонение ФИО в родительный падеж

Когда нужно написать в шапке документа, от кого он, когда известна только начальная форма. Пример ниже:

Склонение ФИО в родительном падеже

Склонение ФИО в родительном падеже

Склонение ФИО в дательный падеж

Частая история, когда нужно кому-нибудь что-нибудь выплатить. Полезная сопутствующая функция — сумма прописью с копейками в Excel.

Склонение ФИО в дательном падеже

Склонение ФИО в дательном падеже

Склонение ФИО в винительный падеж

Данная функция понадобится, когда нужно кого-нибудь наградить, перевести в другой отдел или назначить на новую должность.

Склонение ФИО в винительном падеже

Склонение ФИО в винительном падеже

Остальные падежи

Перевод ФИО из именительного в творительный и предложный падежи происходят абсолютно по тому же сценарию:

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

Просклонять фразы целиком

Эта новая опция появилась совсем недавно, и по праву делает !SEMTools лучшим решением для склонения слов по падежам, доступным на текущий момент. Ниже основные особенности инструмента, которые позволяют так сказать:

  • Склоняются по падежам и числам все слова фразы — прилагательные, существительные, местоимения и т.д.;
  • Род существительных и прилагательных сохраняется;
  • Слова склоняются в любом регистре и регистр слов сохраняется (3 варианта – нижний, первая буква заглавная, верхний);
  • Надстройка понимает контекст, в котором находится слово, и выбирает, склонять ли его в зависимости от этого (просклоняет «дверной проём», но не будет склонять «с дверной ручкой»);
  • Аббревиатуры не склоняются, за некоторыми общеизвестными исключениями.

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

Кому в первую очередь подойдет инструмент? Конечно же, вебмастерам и копирайтерам.

Склонение списка услуг (пример)

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

Склонение списка услуг по падежам

Склонение списка услуг по падежам в Excel в пару кликов

Склонение должностей в Excel (пример)

Будет полезно офисным сотрудникам (делопроизводителям, бухгалтерам и др.). Здесь инструмент пригодится для склонения должностей, званий, специальностей и т.д. Смотрите пример со склонением всех ВУС (военно-учетных специальностей):

Хотите попробовать, как будет обработан ваш список фраз?
Установите !SEMTools и попробуйте воспользоваться функционалом!

Склонение по падежам в Excel

Функция СКЛОНЕНИЕ

Не сложно догадаться, для чего необходима функция =СКЛОНЕНИЕ(ТЕКСТ;ПАДЕЖ). Практически любое существительное или ФИО она переведет из именительного падежа в нужный падеж.

Подчеркну слово практически, так как имеются фамилии, которые без программы то сложно просклонять, но в 90% случаев макрос отрабатывает достойно. Проверяйте сложные или необычные фамилии дополнительно.

Формула имеет всего 2 аргумента:

  • ТЕКСТ — Существительное, имя, фамилия или отчество в именительном падеже, который необходимо просклонять. Вы также можете использовать несколько слов в качестве аргумента. Например, указать полностью ФИО.
  • ПАДЕЖ — Числовое значение определяющее падеж:
  1. Именительный.
  2. Родительный.
  3. Дательный.
  4. Винительный.
  5. Творительный.
  6. Предложный.

Вот так выглядит стандартное окно ввода параметров функции СКЛОНЕНИЕ

Функция СКЛОНЕНИЕУКР

Аналогичная функция, которая склоняет ФИО и существительные, но только на украинском языке. Синтаксис у нее также не отличается =СКЛОНЕНИЕУКР(ТЕКСТ;ПАДЕЖ).

Далее приводятся примеры, наглядно демонстрирующие работу функции.

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

Склонение простой фамилии по всем падежам.

Склонение сразу фамилии имени и отчества по всем падежам.

Склонение сложных фамилий и имен в родительный падеж.

Склонение по падежам — формулы и макросы

Периодически специалистам, чья деятельность связана с написанием большого количества текстов — SEO/PPC специалистам, контент-менеджерам, администраторам баз данных и каталогов, копирайтерам и т.д. — бывает нужна возможность просклонять слова по падежам.

Мечта каждого — сделать это прямо в Excel с помощью простых функций.

Надстройка !SEMTools дает такую возможность! Причем как платная, так и бесплатная версия. По ссылке можно скачать файл-пример, в котором использованы все функции склонения по падежам — для существительных и прилагательных. Функции будут работать автоматически у любого, кто скачал и установил надстройку !SEMTools.

Отличие бесплатной версии — в ней это возможно сделать только формулами.

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

Активированная версия надстройки поддерживает и формулы, и макросы. Макросы можно вызывать с помощью меню «Слова» в группе «ИЗМЕНИТЬ«.

ВАЖНО: При склонении существительных функции могут допускать ошибки, просьба сообщать автору о таковых. Очень хочется довести функционал до совершенства, но склонение существительных практически не поддается простым алгоритмам — существуют тысячи алгоритмических правил и такие же тысячи исключений из них.

Склонение в excel

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

Область применения:

Функцию удобно использовать для автоматизации формирования документов в MS Excel (или облегчения создания их вручную), где ФИО необходимо указывать не в именительном падеже: различного рода договоры, кассовые ордера, квитанции, акты сверок, приказы, протоколы, доверенности и т.д.

Функция также незаменима, если средствами автоматизации реализовано формирование перечисленных выше документов в приложении MS Word на основании данных, находящихся в таблицах MS Excel.

Примеры использования:

  • в договоре: «в лице руководителя Баранова Петра Вячеславовича«
  • в кассовых ордерах: «выдано Гнатюку Павлу Васильевичу«, «получено от Гриценко Ирины Сергеевны«
  • в доверенности: «доверяю управление траспортным средством Смирницкому Виталию Валерьевичу«
  • в приказе: «назначить на должность Степашову Ольгу Николаевну«
  • в протоколе: «доклад подготовлен Дворжецким Никитой Ивановичем«

Что реализовано:

  • корректно склоняются фамилии со всеми распространенными на территории стран СНГ окончаниями «-ов», «-ев», «-ин», «-ян(ц)», «-ский(-цкий)», «-ской(-цкой)», «-ый», «-ых», «-их», «-ец», «-нко», «-ук», «-юк», «-ич», «-ия» и др.: Павлов, Зиновьев, Гагарин, Петросян, Высоцкий, Трубецкой, Цой, Задорожный, Садовничий, Седых, Долгих, Сосковец, Нестеренко, Гончарук, Данилюк, Рабинович, Данелия, Кваша, Врубель, Козак, Казачок и т.д., а также соответствующие женские фамилии
  • учитываются отличия в склонении мужских и женских фамилий: Ткачу Виктору и Ткач Светлане, Козовцу Антону и Козовец Екатерине
  • корректно обрабатываются составные фамилии: например, Мамин-Сибиряк, Салтыков-Щедрин, Немирович-Данченко, Лебедев-Кумач
  • не склоняются иноязычные фамилии: Галуа, Моруа, Дефо, Дали, Безе, Верди, Гарсиа, Хэмингуэй и пр.
  • успешно обрабатываются отчества с частицами «-оглы», «-кызы», «ибн»: Мамедов Полад Муртуза оглы -> Мамедовым Поладом Муртуза оглы, Гассан Абдурахман ибн Хаттаб -> Гассаном Абдурахманом ибн Хаттабом, Абу Али ибн Сина -> Абу Али ибн Синой
  • автоматически по отчеству определяется пол (мужской/женский) и исходя из этого выбираются соответствующие правила склонения
  • для ситуаций, когда пол автоматически определить затруднительно (отчество иностранное или отсутствует), можно указать пол в качестве параметра функции
  • возможен вывод в сокращенном виде «фамилия + инициалы»: Полозову Н. А., Васильевой А. К., Дворжецкому Е. Е.
  • возможность использования как в виде надстройки (можно использовать во всех файлах на данном рабочем месте), так и в виде кода, внедренного в файл (функция будет работать в данном файле на любом рабочем месте — удобно, если файл, например, отправляется контрагенту)
  • открытый программный код — при желании можно изучать алгоритм либо модифицировать

Как подключить?

Программа представляет собой один файл с названием bdgFIOPropisyu.bas. Для того, чтобы использовать ее в том или ином файле, функцию нужно импортировать в этот файл. Для этого необходимо:

  1. открыть файл MS Excel, в котором требуется использовать функцию
  2. войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
  3. в главном меню редактора VBA выбрать пункт «File» -> «Import file. «:
  4. в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку «Открыть»:
    В результате этих действий в проводнике проекта в левой части экрана появится ветвь «Modules» (если ее еще не было), раскрыв которою можно увидеть строку bdgFIOPropisyu. А дважды кликнув по этой строке справа можно увидеть текст самой функции ФИОВПадеже:

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

Как использовать?

  1. выделите курсором ячейку, в которой хотите поместить результат функции
  2. нажмите на пиктограмму «Вставить функцию» на панели формул:
  3. в появившемся окне Мастера функций выберите категорию «Определенные пользователем», затем в списке выделите название функции «ФИОВПадеже» и нажмите кнопку «ОК»:
  4. и далее в окне Аргументы функций заполните поля: в полях Фамилия, Имя и Отчество укажите ссылки на ячейки с соответствующими значениями, а в поле Падеж укажите число от 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. Для того, чтобы использовать ее в том или ином файле, функцию нужно импортировать в этот файл. Для этого необходимо:

  1. открыть файл MS Excel, в котором требуется использовать функцию
  2. войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
  3. в главном меню редактора VBA выбрать пункт «File» -> «Import file…»:
  4. в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку «Открыть»:

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

Как использовать?

  1. выделите курсором ячейку, в которой хотите поместить результат функции
  2. нажмите на пиктограмму «Вставить функцию» на панели формул:
  3. в появившемся окне Мастера функций выберите категорию «Определенные пользователем», затем в списке выделите название функции «ФИОВПадеже» и нажмите кнопку «ОК»:
  4. и далее в окне Аргументы функций заполните поля: в полях Фамилия, Имя и Отчество укажите ссылки на ячейки с соответствующими значениями, а в поле Падеж укажите число от 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 того, чтобы использовать ее в том ином или файле, функцию нужно импортировать в файл этот. Для этого необходимо:

  1. открыть Excel MS файл, в котором требуется использовать функцию
  2. редактор в войти VBA по нажатию горячей клавиши «F11 + Alt» или через меню:
  3. в главном меню VBA редактора выбрать пункт «File» -> «Import появившемся. «:
  4. в file окне выбора файла выбрать bdgFIOPropisyu файл.bas и нажать кнопку «Открыть»:

ФИОВПадеже, программный код импортирован и его использовать можно.

Как использовать?

  1. выделите курсором которой, в ячейку хотите поместить результат функции
  2. пиктограмму на нажмите «Вставить функцию» на панели формул:
  3. в окне появившемся Мастера функций выберите категорию «пользователем Определенные», затем в списке выделите название ФИОВПадеже «функции» и нажмите кнопку «ОК»:
  4. и далее в окне функций Аргументы заполните поля: в полях Фамилия, Отчество и Имя укажите ссылки на ячейки с соответствующими поле, а в значениями Падеж укажите число от 1 до 6 (номер именительного от падежа до предложного) и нажмите кнопку «ОК»:

Ситуации, работа когда функции может быть некорректной:

что на то, Несмотря ситуаций, когда работа функции быть может неудовлетворительной, ниже перечислено немало, столкновения вероятность с таким ФИО в практической работе мала достаточно, т.к. в 99,9% случаев фамилии, встречающиеся на территории склоняются, России по общим правилам.
Кроме того, заметить следует, что другие алгоритмы и программы могут не также гарантировать корректность результата в 100% русский — случаев язык слишком велик и могуч, быть чтобы описанным набором логических правил (ниже смотрите про влияние положения ударения в происхождения, слове фамилии, про зависимость написания формы женской фамилии от написания мужской формы и т.д.).

    По русского правилам языка склонение мужских и женских фамилий иноязычных, оканчивающихся на «-а» и «-я», зависит от места ударения в происхождения и слове фамилии.

склонения Правила фамилий и имен использованы в соответствии с работы 13.1 и 13.2 разделами Н. А. Еськовой «Трудности словоизменения существительных. методические-Учебно материалы к практическим занятиям по курсу «современной Язык печати» (Госкомитет печати СССР. институт Всесоюзный повышения квалификации работников печати. М., Источник).

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Пользовательские функции (формулы, UDF) для склонения ФИО (фамилии, имени, отчества) по падежам, доступные при использовании надстройки FillDocuments

Поддерживаются 4 падежа:

  • родительный падеж
  • дательный падеж
  • винительный падеж
  • творительный падеж

Инструкция, где в Excel найти эти функции, и как применить

Функция (формула) Пример получаемого значения
=Родительный(E2) Андреевой Алёны Васильевны
=Дательный(E2) Андреевой Алёне Васильевне
=Винительный(E2) Андрееву Алёну Васильевну
=Творительный(E2) Андреевой Алёной Васильевной
Исходное значение в ячейке E2 Андреева Алёна Васильевна

Программе, для правильного склонения ФИО, нужно определить пол. Пол определяется по отчеству.
Потому, склонять фамилии с инициалами категорически не рекомендуется (могут возникнуть ошибки)

ВАЖНО: Эти функции применимы только к ФИО. Склонять ими должности, и прочие слова и фразы, не получится.

ВНИМАНИЕ: Если вместе со склонением, вы используете другие функции для ФИО (например, Инициалы из ФИО), то сначала применяйте функцию склонения, а потом уже, после изменения падежа, другую функцию.

Пример:

  Функция (формула) Пример получаемого значения Причина ошибки
Правильно =ФамилияИО(Родительный(E2)) Мельник Л.А. Женские фамилии на не склоняются, но функция =Родительный() не может определить пол по отчеству, — полное ФИО уже обрезано до инициалов функцией ФамилияИО
Неправильно =Родительный(ФамилияИО(E2)) Мельника Л.А.
Правильно =ИмяОтчество(Дательный(E2)) Любови Андреевне Первое слово в ФИО считается фамилией, потому, имя Любовь склоняется неправильно (как мужская фамилия)
Неправильно =Дательный(ИмяОтчество(E2)) Любовю Андреевне
Исходное значение в ячейке E2 Мельник Любовь Андреевна

Склонение ФИО по падежам

Пользовательские функции (формулы, UDF) для склонения ФИО (фамилии, имени, отчества) по падежам, доступные при использовании надстройки FillDocuments

Поддерживаются 4 падежа:

  • родительный падеж
  • дательный падеж
  • винительный падеж
  • творительный падеж

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

Функция (формула) Пример получаемого значения
=Родительный(E2) Андреевой Алёны Васильевны
=Дательный(E2) Андреевой Алёне Васильевне
=Винительный(E2) Андрееву Алёну Васильевну
=Творительный(E2) Андреевой Алёной Васильевной
Исходное значение в ячейке E2 Андреева Алёна Васильевна

Программе, для правильного склонения ФИО, нужно определить пол. Пол определяется по отчеству.
Потому, склонять фамилии с инициалами категорически не рекомендуется (могут возникнуть ошибки)

ВАЖНО: Эти функции применимы только к ФИО. Склонять ими должности, и прочие слова и фразы, не получится.

ВНИМАНИЕ: Если вместе со склонением, вы используете другие функции для ФИО (например, Инициалы из ФИО), то сначала применяйте функцию склонения, а потом уже, после изменения падежа, другую функцию.

Не сложно догадаться, для чего необходима функция =СКЛОНЕНИЕ(ТЕКСТ;ПАДЕЖ). Практически любое существительное или ФИО она переведет из именительного падежа в нужный падеж.

Подчеркну слово практически, так как имеются фамилии, которые без программы то сложно просклонять, но в 90% случаев макрос отрабатывает достойно. Проверяйте сложные или необычные фамилии дополнительно.

Формула имеет всего 2 аргумента:

Диалоговое окно функции СКЛОНЕНИЕ

  • ТЕКСТ — Существительное, имя, фамилия или отчество в именительном падеже, который необходимо просклонять. Вы также можете использовать несколько слов в качестве аргумента. Например, указать полностью ФИО.
  • ПАДЕЖ — Числовое значение определяющее падеж:
  1. Именительный.
  2. Родительный.
  3. Дательный.
  4. Винительный.
  5. Творительный.
  6. Предложный.

Вот так выглядит стандартное окно ввода параметров функции СКЛОНЕНИЕ

Функция СКЛОНЕНИЕУКР

Аналогичная функция, которая склоняет ФИО и существительные, но только на украинском языке. Синтаксис у нее также не отличается =СКЛОНЕНИЕУКР(ТЕКСТ;ПАДЕЖ).

Далее приводятся примеры, наглядно демонстрирующие работу функции.

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

Примеры работы с текстовой функцией ЗАМЕНИТЬ в Excel

Функция ЗАМЕНИТЬ, входит в состав текстовых функций MS Excel и предназначена для замены конкретной области текстовой строки, в которой находится исходный текст на указанную строку текста (новый текст).

Как работает функция ЗАМЕНИТЬ в Excel?

С целью детального изучения работы данной функции рассмотрим один из простейших примеров. Предположим у нас имеется несколько слов в разных столбцах, необходимо получить новые слова используя исходные. Для данного примера помимо основной нашей функции ЗАМЕНИТЬ используем также функцию ПРАВСИМВ – данная функция служит для возврата определенного числа знаков от конца строки текста. То есть, например, у нас есть два слова: молоко и каток, в результате мы должны получить слово молоток.

Функция заменить в Excel и примеры ее использования

  1. Создадим на листе рабочей книги табличного процессора Excel табличку со словами, как показано на рисунке: табличка со словами.
  2. Далее на листе рабочей книги подготовим область для размещения нашего результата – полученного слова «молоток», как показано ниже на рисунке. Установим курсор в ячейке А6 и вызовем функцию ЗАМЕНИТЬ: ЗАМЕНИТЬ.
  3. Заполняем функцию аргументами, которые изображены на рисунке: Заполняем аргументами.

Выбор данных параметров поясним так: в качестве старого текста выбрали ячейку А2, в качестве нач_поз установили число 5, так как именно с пятой позиции слова «Молоко» мы символы не берем для нашего итогового слова, число_знаков установили равным 2, так как именно это число не учитывается в новом слове, в качестве нового текста установили функцию ПРАВСИМВ с параметрами ячейки А3 и взятием последних двух символов «ок».

Далее нажимаем на кнопку «ОК» и получаем результат:

получаем результат.

Как заменить часть текста в ячейке Excel?

Пример 2. Рассмотрим еще один небольшой пример. Предположим у нас в ячейках табличного процессора Excel имеются столбцы с мужскими фамилиями и именами сотрудников некоторой фирмы. Необходимо заменить их буквы в определенных местах так, чтобы преобразовать их в женские.

  1. Создадим на листе рабочей книги Excel табличку со фамилией и именем, как показано на рисунке: табличка со фамилией и именем.
  2. Далее на этом же листе рабочей книги подготовим область для размещения нашего результата – измененных фамилий и имен. Заполним ячейки двумя типами формул как показано на рисунке: 2 типа формул.

Обратите внимание! Во второй формуле мы используем оператор «&» для добавления символа «а» к мужской фамилии, чтобы преобразовать ее в женскую. Для решения данной задачи можно было бы использовать функцию =СЦЕПИТЬ(B3;»а») вместо формулы =B3&»а» – результат идентичный. Но сегодня настоятельно рекомендуется отказываться от данной функции так как она имеет свои ограничения и более требовательна к ресурсам в сравнении с простым и удобным оператором амперсанд.

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

Содержание

  • 1 склонение по падежам в excel
  • 2 Склонение ФИО по падежам
      • 2.0.1 Область применения:
      • 2.0.2 Примеры использования:
      • 2.0.3 Что реализовано:
      • 2.0.4 Как подключить?
      • 2.0.5 Как использовать?
      • 2.0.6 Ситуации, когда работа функции может быть некорректной:
Здесь можно получить ответы на вопросы по Microsoft Excel 57638 471543

9 Окт 2018 22:22:03

44519 357828

29 Янв 2017 17:28:40

Лучшие избранные темы с основного форума 14 80

28 Июн 2018 15:25:11

Если вы — счастливый обладатель Mac 😉 217 1059

21 Сен 2018 06:21:34

Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. 2100 13379

9 Окт 2018 19:58:10

Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. 310 1587

9 Окт 2018 15:21:02

808 11620

9 Окт 2018 10:34:17

Обсуждение функционала, правил и т.д. 269 3464

1 Окт 2018 11:22:35

Сейчас на форуме (гостей: 590, пользователей: 12, из них скрытых: 3) , , , , , , , ,

Сегодня отмечают день рождения (37), (32), (28), (37), (36), (52)

Всего зарегистрированных пользователей: 83105

Приняло участие в обсуждении: 31843

Всего тем: 105875

В разделе Другие языки и технологии на вопрос можно ли автоматически склонять по падежам существительные в формате Excel заданный автором Зуфар лучший ответ это Доброго времени суток.
Если речь идет о ФИО, наименованиях должностей или подразделений, то можно. Правда, это инструмент скорее для разработчика. Впрочем, юзер тоже может разобраться. В примерах есть готовые макросы для Excel.
Удачи!
PS Ищите в гугле по ключу «Склонение фамилий, имен и отчеств по падежам»

Ответ от

22 ответа

Привет! Вот подборка тем с ответами на Ваш вопрос: можно ли автоматически склонять по падежам существительные в формате Excel

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

Ответ от Просцениум
Вы находитесь в категории «Программирование», так что никто не может вам запретить написать свою функцию на VBA, которая будет заниматься этим богоугодным делом. И как раз решение задачи в таком формате — вполне реально.

Ответ от христосоваться
слышал, что реформа русского языка прошла, но чтобы ввели «существительные в формате Excel» даже представить себе не мог))))))

Пользовательская функция для MS Excel

Склонение ФИО по падежам

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

Область применения:

Функцию удобно использовать для автоматизации формирования документов в MS Excel (или облегчения создания их вручную), где ФИО необходимо указывать не в именительном падеже: различного рода договоры, кассовые ордера, квитанции, акты сверок, приказы, протоколы, доверенности и т.д.

Функция также незаменима, если средствами автоматизации реализовано формирование перечисленных выше документов в приложении MS Word на основании данных, находящихся в таблицах MS Excel.

Примеры использования:

  • в договоре: «в лице руководителя Баранова Петра Вячеславовича«
  • в кассовых ордерах: «выдано Гнатюку Павлу Васильевичу«, «получено от Гриценко Ирины Сергеевны«
  • в доверенности: «доверяю управление траспортным средством Смирницкому Виталию Валерьевичу«
  • в приказе: «назначить на должность Степашову Ольгу Николаевну«
  • в протоколе: «доклад подготовлен Дворжецким Никитой Ивановичем«

и т.д.

Что реализовано:

  • корректно склоняются фамилии со всеми распространенными на территории стран СНГ окончаниями «-ов», «-ев», «-ин», «-ян(ц)», «-ский(-цкий)», «-ской(-цкой)», «-ый», «-ых», «-их», «-ец», «-нко», «-ук», «-юк», «-ич», «-ия» и др.: Павлов, Зиновьев, Гагарин, Петросян, Высоцкий, Трубецкой, Цой, Задорожный, Садовничий, Седых, Долгих, Сосковец, Нестеренко, Гончарук, Данилюк, Рабинович, Данелия, Кваша, Врубель, Козак, Казачок и т.д., а также соответствующие женские фамилии
  • учитываются отличия в склонении мужских и женских фамилий: Ткачу Виктору и Ткач Светлане, Козовцу Антону и Козовец Екатерине
  • корректно обрабатываются составные фамилии: например, Мамин-Сибиряк, Салтыков-Щедрин, Немирович-Данченко, Лебедев-Кумач
  • не склоняются иноязычные фамилии: Галуа, Моруа, Дефо, Дали, Безе, Верди, Гарсиа, Хэмингуэй и пр.
  • успешно обрабатываются отчества с частицами «-оглы», «-кызы», «ибн»: Мамедов Полад Муртуза оглы -> Мамедовым Поладом Муртуза оглы, Гассан Абдурахман ибн Хаттаб -> Гассаном Абдурахманом ибн Хаттабом, Абу Али ибн Сина -> Абу Али ибн Синой
  • автоматически по отчеству определяется пол (мужской/женский) и исходя из этого выбираются соответствующие правила склонения
  • для ситуаций, когда пол автоматически определить затруднительно (отчество иностранное или отсутствует), можно указать пол в качестве параметра функции
  • возможен вывод в сокращенном виде «фамилия + инициалы»: Полозову Н. А., Васильевой А. К., Дворжецкому Е. Е.
  • возможность использования как в виде надстройки (можно использовать во всех файлах на данном рабочем месте), так и в виде кода, внедренного в файл (функция будет работать в данном файле на любом рабочем месте — удобно, если файл, например, отправляется контрагенту)
  • открытый программный код — при желании можно изучать алгоритм либо модифицировать

Как подключить?

Программа представляет собой один файл с названием bdgFIOPropisyu.bas. Для того, чтобы использовать ее в том или ином файле, функцию нужно импортировать в этот файл. Для этого необходимо:

  1. открыть файл MS Excel, в котором требуется использовать функцию
  2. войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
  3. в главном меню редактора VBA выбрать пункт «File» -> «Import file…»:
  4. в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку «Открыть»:

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

Как использовать?

  1. выделите курсором ячейку, в которой хотите поместить результат функции
  2. нажмите на пиктограмму «Вставить функцию» на панели формул:
  3. в появившемся окне Мастера функций выберите категорию «Определенные пользователем», затем в списке выделите название функции «ФИОВПадеже» и нажмите кнопку «ОК»:
  4. и далее в окне Аргументы функций заполните поля: в полях Фамилия, Имя и Отчество укажите ссылки на ячейки с соответствующими значениями, а в поле Падеж укажите число от 1 до 6 (номер падежа от именительного до предложного) и нажмите кнопку «ОК»:
    как сделать склонение по падежам в excel
    В результате в выделенной ячейке отобразится результат вычисления функции.

Вот еще несколько примеров ее использования:

как сделать склонение по падежам в excel

Ситуации, когда работа функции может быть некорректной:

     Несмотря на то, что ситуаций, когда работа функции может быть неудовлетворительной, ниже перечислено немало, вероятность столкновения с таким ФИО в практической работе достаточно мала, т.к. в 99,9% случаев фамилии, встречающиеся на территории России, склоняются по общим правилам.
     Кроме того, следует заметить, что другие алгоритмы и программы также не могут гарантировать корректность результата в 100% случаев — русский язык слишком велик и могуч, чтобы быть описанным набором логических правил (смотрите ниже про влияние положения ударения в слове, происхождения фамилии, про зависимость написания женской формы фамилии от написания мужской формы и т.д.).

  • По правилам русского языка склонение мужских и женских иноязычных фамилий, оканчивающихся на «-а» и «-я», зависит от места ударения в слове и происхождения фамилии.
    Все фамилии, кончающиеся на неударное «-а» после согласных, склоняются: Сенека -> Сенеки, Петрарка -> Петрарки, Сметана -> Сметаны, Куросава -> Куросавы, Глинка -> Глинки, Окуджава -> Окуджавы и др. Склонение фамилий с ударным «-а» на конце зависит от ее происхождения: не склоняются фамилии французского происхождения: Дюмá, Дегá, Фермá, Петипá и т.д., фамилии иного происхождения (из славянских и восточных языков) склоняются: Митта -> Митты, Кваша -> Кваши, Сковорода -> Сковороды, Кочерга -> Кочерги, Хамза -> Хамзы и др.
    Аналогично, французские по происхождению фамилии с ударным «-я» на конце несклоняемы: Золя, Труайя. Все прочие фамилии на «-я» склоняемы: Головня -> Головни, Данелия -> Данилии, Берия -> Берии, Гойя -> Гойи.
    Поскольку программно определить положения ударения и происхождение фамилии невозможно, в алгоритме программы принято допущение, что все подобные фамилии склоняются по общим правилам. Поэтому французские фамилии с ударением на окончании обрабатываются программой некорректно: Дюма -> Дюмы, Золя -> Золи, Петипа -> Петипы.
  • Мужские фамилии, оканчивающиеся на «-ий», «-ый», «-ой», склоняются как прилагательные Горький -> Горького, Блаженный -> Блаженного, Броневой -> Броневого. Исключения составляют случаи, когда фамилия с таким окончанием — нарицательное существительное (Козодой, Водопой, Гений, Сценарий) либо иноязычна по происхождению (Цой, Цхой, Чой). Так как программно не определить, является ли фамилия подобным исключением, условно принято, что все фамилии с окончаниями «-ий», «-ый», «-ой» склоняются как прилагательные. В подавляющем большинстве случаяв это верно, однако в исключительных случаях с фамилиями-существительными результат функции будет ошибочным: Козодой Яков -> Козодого Якова, Гений Стефан -> Генего Стефана.
    Однако, в виде исключения в алгоритме учтено склонение фамилий с данными окончаниями и длиной менее 5 букв (преимущественно корейских по происхождению): Цой Виктор -> Цоя Виктора.
  • В ряде случаев корректное склонение женской фамилии, оканчивающейся на «-ина», «-ова», возможно только, если известно склонение соответствующей ей мужской фамилии: Жемчужина Людмила, Малина Светлана могут склоняться как в обычной форме: Жемчужина Людмила -> Жемчужиной Людмилы, Малина Светлана -> Малиной Светланы (если соответствующими мужскими фамилиями являются, например, Жемчужин Борис и Малин Олег), так и в форме существительного: Жемчужина Людмила -> Жемчужины Людмилы, Малина Светлана -> Малины Светланы (если мужские формы фамилии, например, Жемчужина Борис и Малина Олег).
    Учесть подобные нюансы в алгоритме невозможно, поэтому все женские фамилии функцией обрабатываются по единым правилам (как прилагательные), что в отдельных случаях может приводить к неверным результатам.
  • Похожая ситуация обстоит с мужскими и женскими фамилиями, оканчивающимися на «-ов(а)», «-ев(а)», «-ин(а)», которые омонимичны нарицательным существительным: Боров, Лев, Филин, Барин, Корова, Сова, Картина, Перина, Старина и т.д.). Ни по каким формальным признакам программно установить идентичность фамилии и существительного нет возможности, поэтому склонение подобных фамилии по единым общим правилам приводит к некорректным результатам вида: Лев Павел -> Левым Павлом, Филин Сергей -> Филиным Сергеем, Корова Ксения -> Коровой Ксении, Сова Ольга -> Совой Ольги, Картина Алла -> Картиной Аллы.
  • Мужские фамилии, оканчивающиеся на мягкий знак, склоняются: Врубель Михаил -> Врубеля Михаила, Гоголь Николай -> Гоголя Николая и т.д. Однако при склонении окончания таких фамилий зависят от того, существительными какого рода — мужского, женского или среднего — они являются.
    Алгоритмически определить род существительного не представляется возможным, поэтому в тех случаях, когда мужская фамилия является существительным женского или среднего рода, функция будет работать некорректно: Сталь Иван -> Сталя Ивана, Полынь Виктор -> Полыня Виктора.
  • Образование творительного падежа фамилий, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», зависит от ударения в слове: если это окончание является безударным, то при склонении оно меняется на «-ей»: Капица Петр -> Капицей Петром, Туча Федор -> Тучей Федором; если же окончание удареное, оно заменяется на «-ой»: Кваша Игорь -> Квашой Игорем, Свеча Иван -> Свечой Иваном. Аналогичная ситуация с фамилиями, оканчивающимися на «-ец»: без ударения окончание меняется на «-ем»: Палец Виктор -> Пальцем Виктором; под ударением — на «-ом»: Сосковец Олег -> Сосковцом Олегом.
    Как было сказано выше, определить положения ударения в слове программно нельзя, поэтому в алгоритме программы принято допущение, что в словах, оканчивающихся на «-жа», «-ца», «-ча», «-ша», «-ща», окончание безударное (таких слов больше), то есть творительный падеж всегда образуется окончанием «-ей». Напротив, в словах, оканчивающихся на «ец», принято, что окончание находится под ударением, то есть склонение будет с окончанием «-ом». Соответственно, в остальных случаях будут наблюдаться ошибки вида: Квашей Игорем, Свечей Иваном, Пальцом Виктором.
  • Согласно правилам русского языка первая часть двойной русской фамилии склоняется, если она сама по себе может употребляться как фамилия: творчество Мамина-Сибиряка, рассказ Салтыкова-Щедрина, опера Римского-Корсакова и т.д. В противном случае она не изменяется: картина Ван-Дейка, похождения Дон-Жуана, оруженосец Дон-Кихота и др. Так, например, в фамилии Семёнов-Тян-Шанский склоняется первая часть, но не вторая: труды Семёнова-Тян-Шанского.
    Опять же, определить, является ли составная часть фамилии самостоятельной, алгоритмически возможности нет, поэтому для работы принято допущение, что все части составной фамилии следует склонять (в большинстве случаев это так), что в ряде ситуаций приводит к ошибкам: Вана-Дейка, Дона-Кихота, Семёнова-Тяна-Шанского.
  • Иностранные фамилии, оканчивающиеся на «-ов» и «-ин» в творительном падеже меняют окончание на «-ом»: Бенджамином Франклином, Чарльзом Дарвином, Чарли Чаплином, Александром Грином. «Русские» же фамилии с аналогичными окончаниями заканчиваются на «-ым»: Ивановым, Гагариным, Фонвизиным и т.д. Несмотря на то, что перечисленные выше фамилии (Франклин, Дарвин, Чаплин, Грин) в виде исключений учтены в алгоритме, есть небольшая вероятность, что встретится какая-либо другая аналогичная иностранная фамилия — в таком случае результат функции будет некорректен.

Правила склонения фамилий и имен использованы в соответствии с разделами 13.1 и 13.2 работы Н. А. Еськовой «Трудности словоизменения существительных. Учебно-методические материалы к практическим занятиям по курсу «Язык современной печати» (Госкомитет печати СССР. Всесоюзный институт повышения квалификации работников печати. М., 1990).

Цена: 1500 рублей

Cпециальная цена: 900 рублей
Скидка 40% только до 10.10.18 23:59:59

Понравилась статья? Поделить с друзьями:
  • Изменение пароля в excel 2016
  • Изменение параметров страницы документа ms word возможно в любое время
  • Изменение параметров страницы в текстовом процессоре word
  • Изменение параметров страницы в ms word возможно для
  • Изменение параметров страницы microsoft word