Как изменить падеж в excel
Перейти к содержимому

Как изменить падеж в excel

Как изменить падеж в excel

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

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

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

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

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

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

  1. открыть файл MS Excel, в котором требуется использовать функцию
  2. войти в редактор VBA по нажатию горячей клавиши «Alt + F11» или через меню:
    • в MS Excel 2007 — через пункт ленты «Разработчик»: Открытие редактора VBA в MS Excel 2007
    • в MS Excel 2003 — через пункт главного меню «Сервис -> Макрос -> Редактор Visual Basic»: Открытие редактора VBA в MS Excel 2003
  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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *