Главная » Мои надстройки »

Надстройка для замены и перемещения слов/аббревиатур

 

Надстройка предназначена для удаления лишних символов из словосочетаний и перестановки заданных аббревиатур и слов(ПБОЮЛ, ОАО, ООО и т.д.) из указанного места строки в конец. Для примера в описании взяты названия организаций. Конечно же, каждый может придумать свое применение, т.к. не обязательно это должны быть названимя организаций - это могут быть любые слова и символы.

Особенность надстройки - вы можете сами создавать, менять списки для замены/перестановки.

Надстройка включает в себя:



Функция для изменения названий организаций
Диспетчер функций -категория Определенные пользователем -MoveReplaceOrg
Синтаксис функции:

=MoveReplaceOrg(Текст, Организ_Поз, Удалять_символы, Удалять_Организации, Учитывать_регистр, Организ_ДО)
=MoveReplaceOrg(A1, 1, 0, 1, ИСТИНА)
=MoveReplaceOrg(A1)
=MoveReplaceOrg(A1, 3, 1, 0, 0)

  • Текст(A1) - текст для преобразования, содержащий наименования организаций. Может быть текстом или ссылкой на ячейку.
  • Организ_Поз(1) - необязательный аргумент. Если не указан, то наименование организации ищется во всем тексте, указанном параметром Текст и при успешном нахождении будет перемещено в конец. Если указан - ищется только в том слове параметра Текст, номер позиции которого указан. Номер позиции можно узнать, если разбить Текст на отдельные слова, используя в качестве разделителя пробел. Т.е. наименование "ООО Рога и Копыта" будет разбито на 4 слова: ООО;Рога; и; Копыта. Если указать Организ_Поз равным 2, то ничего перенесено не будет, т.к. второе слово получается - "Рога" и оно не присутствует в списке(Организации). Если указать 1 или не указывать ничего, то ООО будет перенесено в конец - "Рога и Копыта ООО".
  • Удалять_символы(1) - необязательный аргумент. Если не указан либо указана 1, то все лишние символы удаляется. Если в качестве аргумента указан 0, то лишние символы не будут удалены. По умолчанию принимает значение - 1(т.е. символы удаляются). Перечень символов содержится в списке Символы, который доступен с панели Надстройки -Управления списками
  • Удалять_Организации(0) - необязательный аргумент. Если не указан либо равен нулю, то наименование организации не удаляется. Если в качестве аргумента указана цифра, отличная от нуля, то наименования организаций будут удалены. По умолчанию принимает значение - 0. Перечень организаций содержится в списке Организации, который доступен с панели Надстройки -Управления списками
  • Учитывать_регистр - необязательный аргумент. Если не указан либо равен нулю, либо указано ЛОЖЬ(FALSE) то поиск организаций внутри текста производится без учета регистра букв. Если указан ИСТИНА(TRUE) или 1, то поиск будет производится с учетом регистра. Для чего это нужно: чтобы в расчет не брались те данные, которые написаны не в верхнем регистре(ооо, зао, ип). Иногда бывает нужно выбрать только определенные наименования из всего текста и таким образом можно исключить те данные, которые просматривать не надо.
  • Организ_ДО - необязательный аргумент. Если не указан либо равен нулю, то наименования будут перемещаться в конец строки. Если указан как ИСТИНА(TRUE) или 1 - то организации будут помещаться перед остальным текстом.


Команда для изменения названий организаций - Заменить диапазон
Команда Заменить диапазон делает то же самое, что и функция MoveReplaceOrg, но с целым диапазоном ячеек сразу и с более наглядным указанием аргументов.
Изменить данные в диапазоне значений

  • Диапазон исходных значений - диапазон со значениями для преобразования.
  • Ячейка для вставки значений - указывается одна(первая) ячейка диапазона в любом месте. Именно с указанной ячейки начнется вставка преобразованных значений. Значения вставляются в том же порядке, в каком они расположены в Диапазоне исходных значений. Если ячейка не указана - то заменяются значения исходного диапазона.
  • Удалить символы - Если установлен, то все лишние символы удаляется. Если отключен, то лишние символы не будут удалены. По умолчанию установлен. Перечень символов содержится в списке Символы, который доступен с панели Надстройки -Управления списками
  • Удалить организации - Если не установлен, то наименование организации удаляется. Если установлен, то наименования организаций будут удалены. По умолчанию флажок снят. Перечень организаций содержится в списке Организации, который доступен с панели Надстройки -Управления списками
  • Позиция организации - Если указан - наименование организации просматривается только в том слове ячейки, номер которого указан. К примеру наименование ООО Рога и Копыта будет разбито на 4 слова: ООО;Рога; и; Копыта. Если указать 2, то ничего перенесено не будет, т.к. второе слово - Рога и оно не присутствует в списке(Организации). Если не указан, то ООО будет перенесено в конец - Рога и Копыта ООО.
  • Перемещать вперед - Если не установлен, то наименования будут перемещаться в конец строки. Если установлен, то организации будут помещаться перед остальным текстом.
  • Учитывать регистр - Если не установлен, то поиск организаций внутри текста производится без учета регистра букв. Если установлен, то поиск будет производится с учетом регистра. Для чего это нужно: чтобы в расчет не брались те данные, которые написаны не в верхнем регистре(ооо, зао, ип). Иногда бывает нужно выбрать только определенные наименования из всего текста и таким образом можно исключить те данные, которые просматривать не надо.


Управление списками
Всего надстройка содержит два списка: Организации и Символы:

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

Для добавления, создания, изменения и удаления списков воспользуйтесь командой Вызов Управления спискамиИзменить списки, которая создается на панели:
Управление списками

Очистить списки - списки Организаций и Символов будут удалены. Операция необратима, поэтому перед выполнением убедитесь, что действительно хотите полностью удалить все списки.
Удалить выбранное - предварительно в списках выбираются позиции(путем проставления флажков напротив значений), которые необходимо удалить. После нажатия Удалить выбранное и подтверждения удаления - выбранные позиции будут удалены из списков.
Добавить данные - появляется форма добавления данных:
Форма добавления данных

  • В какой список добавить - выбирается список для добавления данных. По умолчанию - Список символов.
  • Метод добавления:
    • Ручной ввод - вводите в текстовое поле нужный символ/наименование. При добавлении в список Организации, введенное значение будет преобразовано в верхний регистр.
    • Выбрать из диапазона - указывается диапазон, который содержит необходимые значения. При добавлении в список Организации, введенное значение будет преобразовано в верхний регистр.

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

Особенность данной формы: закрыть можно только кнопкой Закрыть.

Скачать надстройку

  FunctionsMoveAndReplace.zip (87,2 KiB, 2 541 скачиваний)

В архиве расположена сама надстройка и файл помощи. Как установить надстройку: Установка надстроек
Надстройка распространяется бесплатно и с открытыми исходными кодами: изучайте коды, алгоритмы, правьте коды под себя.


Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Обсуждение: оставлено 6 коммент.
  1. Андрей:

    Дмитрий, здравствуйте.
    Скажите, а если ситуация обратная, признак ОПФ уже находится в конце наименования организации, как его перенести в начало ячейки?

  2. Андрей:

    Ага, спасибо Дмитрий.

  3. Андрей:

    Дмитрий, здравствуйте.
    Есть такой вопрос, почему при каждом запуске Книги EXCEL путь к надстройке отображается в следующем виде - 'C:\Google Диск\Общие_надстройки\FunctionsMoveAndReplace\FunctionsMoveAndReplace.xla'!MoveReplaceOrg(O86;1;1;1)

    Как видно из пути, надстройка лежит в папке Гугл Диск. Соотвественно каждый раз приходится сокращать путь до следующего вида MoveReplaceOrg(O86;1;1;1), как это можно исправить?

  4. Андрей, в конце статьи есть ссылка "Установка надстроек". Прочитайте и установите по инструкции. Тогда полный путь не будет отображаться каждый раз.

  5. Андрей:

    Спасибо, как устанавливать надстройки знаю.
    В данном случае, помогло вот что. Сначала удалил надстройки из фактического месторасположения. Excel при запуске "ругнулся" что мол надстройки нет. После этого удалил из списка надстроек. Закрыл книгу, открыл заново, указал новое месторасположение. Похоже на шаманство, но помогло однако.

Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Логин
Наши партнеры
Перейти
Перейти
Счетчики
Анализ сайта

Яндекс.Метрика
© 2016 Excel для всех  Войти