Склонение ФИО по падежам | Пользовательская функция для MS Excel
Нажмите на "социальную кнопку", чтобы поделиться ссылкой с друзьями
Нравится
Пользовательская функция для MS 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. Выбор пункта меню
  5. в появившемся окне выбора файла выбрать файл bdgFIOPropisyu.bas и нажать кнопку "Открыть":
  6. Импорт файла с программой
    В результате этих действий в проводнике проекта в левой части экрана появится ветвь "Modules" (если ее еще не было), раскрыв которою можно увидеть строку bdgFIOPropisyu. А дважды кликнув по этой строке справа можно увидеть текст самой функции ФИОВПадеже:
    Просмотр импортированного кода

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

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

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

Вот еще несколько примеров ее использования:
Примеры использования функции

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

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

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

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



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

special offer
Cпециальная цена: 1800 рублей
Скидка 40% только до 24.11.24 23:59:59
Поделиться ссылкой     

К началу страницы