Склонение по падежам в Excel
Функция СКЛОНЕНИЕ
Не сложно догадаться, для чего необходима функция =СКЛОНЕНИЕ(ТЕКСТ;ПАДЕЖ). Практически любое существительное или ФИО она переведет из именительного падежа в нужный падеж.
Подчеркну слово практически, так как имеются фамилии, которые без программы то сложно просклонять, но в 90% случаев макрос отрабатывает достойно. Проверяйте сложные или необычные фамилии дополнительно.
Формула имеет всего 2 аргумента:
- ТЕКСТ — Существительное, имя, фамилия или отчество в именительном падеже, который необходимо просклонять. Вы также можете использовать несколько слов в качестве аргумента. Например, указать полностью ФИО.
- ПАДЕЖ — Числовое значение определяющее падеж:
- Именительный.
- Родительный.
- Дательный.
- Винительный.
- Творительный.
- Предложный.
Вот так выглядит стандартное окно ввода параметров функции СКЛОНЕНИЕ
Функция СКЛОНЕНИЕУКР
Аналогичная функция, которая склоняет ФИО и существительные, но только на украинском языке. Синтаксис у нее также не отличается =СКЛОНЕНИЕУКР(ТЕКСТ;ПАДЕЖ).
Далее приводятся примеры, наглядно демонстрирующие работу функции.
Обращаю ваше внимание, что для корректной работы данных функций необходимо стабильное подключение к интернету, а точнее к сайту Морфер.ру. Имеется также суточное ограничение на использование функций, которое в настоящий момент составляет 1000 склонений.
Пример 1
Склонение простой фамилии по всем падежам.
Пример 2
Склонение сразу фамилии имени и отчества по всем падежам.
Пример 3
Склонение сложных фамилий и имен в родительный падеж.
Источник статьи: http://micro-solution.ru/projects/addin_vba-excel/declension
Автоматическое склонение по падежам программа
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Cyriller — бесплатная программа склонения по падежам
Кириллер, это полностью открытый проект на c#, который является бесплатной альтернативой Морферу. На данные момент программа умеет:
- Склонять личные имена, фамилии, отчества без использования словаря.
- Склонять все существительные русского языка, включая имена с использованием словаря.
- Склонять существительные, которых нет в словаре по ближайшему совпадению.
- Склонять прилагательные русского языка с использованием словаря.
- Склонять прилагательные, которых нет в словаре по ближайшему совпадению.
- Писать числа прописью во всех падежах.
- Писать деньги прописью, в рублях, долларах, евро, юанях.
- Писать числа прописью вместе с единицей измерения.
- Сборка всех проектов работает на Windows, под Visual Studio версии 2017 и 2019.
- Сборка Cyriller и Cyriller.Samples так же работает и запускается под Linux (Ubuntu 18.04 LTS), после установки .NET Core 3.0.
- Cyriller.Model .
- Cyriller.Rule .
- Cyriller.Zipper , только на стадии компиляции.
То есть, может быть использован в проектах под управлением:
Вначале необходимо собрать проект Cyriller.Zipper , он используется на стадии компиляции для упаковки словарей. Проект Cyriller.Zipper требует .NET Core 3.0 последней версии. На момент написания это 3.0.100-preview7-012821 .
Сборка при помощи dotnet CLI
.NET Framework 4.5 Windows Forms приложение для визуальной проверки работы. Для полной работы приложения требуется развернуть MS-SQL базу данных и настроить подключение.
.NET Core 3.0 Console Application с примерами использования Cyriller.
.NET Framework 4.5 ASP.NET MVC вэб-сайт с демонстрацией возможностей Cyriller.
Служебное .NET Core 3.0 Console Application для упаковки словарей Cyriller на стадии компиляции.
Для склонения личных имен, можно использовать класс CyrNoun , в данном случае идет поиск имени в словаре. Как пользоваться данным классом — смотри раздел Существительное.
Так же можно использовать класс CyrName , который склоняет личные имена по алгоритму, и не пользуется словарем.
- Смотри пример использования класса CyrName в методе /Cyriller.Samples/Program.cs/NameSamples .
- Старый gist с примером склонения личных имен и фамилий.
- Класс CyrName , так же доступен для Java Script в упрощенном варианте — CyrName.js .
Склонение существительных выполняется при помощи класса CyrNounCollection .
При создании коллекции, весь словарь существительных склоняется и загружается в память. Для этого требуется около 200 MB памяти и 2 секунд одного ядра процессора.
Коллекция CyrNounCollection имеет следующие варианты поиска слова:
- Поиск существительного по точному совпадению с автоматическим определением рода, падежа и числа.
- Поиск существительного по неточному совпадению с автоматическим определением рода, падежа и числа.
- Поиск существительного по точному совпадению с указанием рода, падежа и числа.
- Поиск существительного по неточному совпадению с указанием рода, падежа и числа.
Смотри пример использования классов CyrNounCollection и CyrNoun в методе /Cyriller.Samples/Program.cs/NounSamples .
Склонение прилагательных выполняется при помощи класса CyrAdjectiveCollection .
При создании коллекции, весь словарь прилагательных склоняется и загружается в память, Для этого требуется около 250 MB памяти и 2 секунд одного ядра процессора.
Коллекция CyrAdjectiveCollection имеет следующие варианты поиска слова:
- Поиск прилагательного по точному совпадению с автоматическим определением рода, падежа, числа и одушевленности.
- Поиск прилагательного по неточному совпадению с автоматическим определением рода, падежа, числа и одушевленности.
- Поиск прилагательного по точному совпадению с указанием рода, падежа, числа и одушевленности.
- Поиск прилагательного по неточному совпадению с указанием рода, падежа, числа и одушевленности.
Смотри пример использования классов CyrAdjectiveCollection и CyrAdjective в методе /Cyriller.Samples/Program.cs/AdjectiveSamples .
При помощи класса CyrPhrase можно склонять словосочетания из существительных и прилагательных.
Смотри пример использования класса CyrPhrase в методе /Cyriller.Samples/Program.cs/PhraseSamples .
Заметка: класс CyrPhrase , не умеет правильно склонять должности, так как должность это не словосочетание, где необходимо склонять все слова.
Класс CyrNumber , отвечающий за склонение чисел стоит немного особняком и не нуждается в коллекциях. Тем не менее, CyrNumber может склонять не просто числа, а количество чего-то. Это что-то может выражаться при помощи CyrNoun , которые в свою очередь можно получить из CyrNounCollection .
Основные возможности класса:
- Склоняет число прописью в указанном роде и одушевленности.
- Склоняет денежную сумму в указанной валюте, смотри класс CyrNumber.Currency .
- Склоняет количество указанных единиц, смотри класс CyrNumber.Item .
- Склоняет число прописью в указнный падеж, род и одушевленность.
- Склоняет денежную сумму в указанный падеж и валюту.
- Склоняет количество указанных единиц в указанный падеж.
- Выбирает правильный вариант слова в зависимости от указанного числа (1 год, 2 года, 5 лет).
Смотри пример использования классов CyrNumber , CyrNumber.Currency и CyrNumber.Item в методе /Cyriller.Samples/Program.cs/NumberSamples.
Класс CyrResult используется для хранения результатов склонения и содержит всевозможные свойства и методы для удобства доступа.
Список наиболее часто используемых свойств:
Название | Синоним | Тип | Описание |
---|---|---|---|
Nominative | Именительный | string | Именительный, Кто? Что? (есть) |
Genitive | Родительный | string | Родительный, Кого? Чего? (нет) |
Dative | Дательный | string | Дательный, Кому? Чему? (дам) |
Accusative | Винительный | string | Винительный, Кого? Что? (вижу) |
Instrumental | Творительный | string | Творительный, Кем? Чем? (горжусь) |
Prepositional | Предложный | string | Предложный, О ком? О чем? (думаю) |
Список наиболее часто используемых методов:
Название | Параметры | Возвращает | Описание |
---|---|---|---|
Get | Cyriller.Model.CasesEnum Case | string | Возвращает результат склонения в указанном падеже. |
ToList | List | Возвращает результат склонения по всем падежам в виде списка. | |
ToArray | string[] | Возвращает результат склонения по всем падежам в виде массива. | |
ToDictionary | Dictionary | Возвращает результат склонения по всем падежам в виде словаря. |
Коллекции CyrNounCollection и CyrAdjectiveCollection выбрасывают CyrWordNotFoundException исключение если слово не найдено.
Источник статьи: http://github.com/miyconst/Cyriller