Вызов команды:
MulTEx -группа Ячейки/Диапазоны -Диапазоны -Замена по списку


Команда поможет справиться с задачей по массовой замене слов. Предположим у нас имеется список остатков товара на складах, который обновляется и выгружается в Excel ежедневно:
Исходная таблица
Список может быть на несколько тысяч строк, естественно. Однако в этом списке вместо наименования товара записан его артикул. Однако для дальнейшей работы с остатками необходим не артикул, а то наименование, которое имеется в остальных документах и в базе товара, т.к. этот список в последствии должен выгружаться на сайт для актуализации остатков товара в интернет-магазине, которое будет отражено клиентам. Чтобы получился список следующего вида:
Результат замены
Для этого выгружается отдельный список соответствия товара артикулу:
Список соответствия
В данном случае стандартная замена данных(Ctrl+H) больше похожа на испытание. Это сколько раз надо сделать замену, чтобы заменить каждый артикул? Наименований товаров могут быть сотни, а то и тысячи. Можно также прибегнуть к различным хитростям вроде вытягивания последнего слова(чтобы получить артикул), но ведь может быть и так, что артикул расположен где-то внутри ячейки, а не последним словом(например, "Аккумулятор для ноутбуков 25011445, Б\У" или еще хуже - несколько разных артикулов в одной ячейке: "Аккумулятор для ноутбуков 25011445, 25011446, 25011447, 25011448").
Вот здесь в самый раз пригодится команда Замена по списку. Она на основании списка соответствия может заменить все найденные значения артикулов на наименования за пару минут и без особых усилий. При этом замену можно сделать не только в отдельных ячейках, но и на всем листе, во всей книге или во всех открытых книгах.
Форма замены

Список соответствий находится в ячейках([Замена.xls]Соответствия!A2:B8)- диапазон из двух столбцов, содержащий значения для поиска и замены. Не должен содержать заголовков, иначе текст заголовков будет воспринят как значения для поиска и замены.

    Искомые значения в столбце: указывается номер столбца в списке соответствий, в котором расположены значения для замены. На примере артикулов и наименований: нам необходимо заменить артикул на наименование. Следовательно в поле необходимо указать число 1, т.к. именно в первом столбце перечень артикулов для замены на наименования товара. А значения для замены будут взяты из второго столбца. Если же необходимо произвести обратную процедуру - заменить наименования на артикулы - то в поле необходимо указать число 2 и в этом случае наименования будут заменены артикулами.

Произвести замену:
в этом блоке можно выбрать где конкретно производить замену

  • в указанном диапазоне - указывается любой диапазон на любой листе любой открытой книги. В этом случае замена значений будет произведена исключительно в ячейках указанного диапазона. Все остальные ячейки и листы будут не тронуты. Указывать необходимо более одной ячейки, иначе замена будет произведена по всему листу.
  • во всех ячейках листа - в этом случае необходимо выбрать из списка лист, на котором производить замену. По умолчанию в списке отображается активный лист активной книги
  • на всех листах книги - выбирается книга из списка всех открытых книг. После выполнения команды замена будет произведена во всех ячейках всех листов выбранной книги
  • во всех листах активной книги, в диапазоне - указывается диапазон ячеек. Но в этом случае замена будет произведена во всех ячейках указанного диапазона во всех листах открытой книги. Для чего это нужно? Допустим, есть много листов в книге с различными шаблонными таблицами. И в определенном диапазоне этой каждой таблицы надо заменить данные по списку. При этом в других ячейках таблиц так же могут содержаться данные, но заменять их не требуется.
  • на всех листах всех открытых книг - замена будет произведена во всех ячейках всех листов всех открытых книг.

Производить замену по части ячейки - если установлено, то каждое из искомых значений списка будет просматриваться по части ячейки. Например, если в ячейке текст "Аккумулятор для ноутбуков 25011445", то в данном случае артикул является частью другого текста ячейки. И если галочку не установить - то значение артикула "25011445" не будет заменено, т.к. к сравнению будет принят весь текст ячейки - "Аккумулятор для ноутбуков 25011445".
Для чего это нужно: логично, что в большинстве случаев замену необходимо производить именно по части текста ячейки, но бывают случаи, когда необходимо заменять именно весь текст. Например, если в ячейке содержится только наименование товара("Аккумулятор для ноутбуков Samsung R590-JS03") и его надо заменить на конкретный артикул. Если сделать по части ячейки, то в этом случае может получиться так, что отдельно будет заменена только часть текста "Аккумулятор для ноутбуков", а остальное уже не попадет под замену. Такая замена будет некорректна с точки зрения требуемого результата.

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

Легко догадаться, что команду можно использовать в любой ситуации как упрощенный словарь-переводчик. В одном столбце английские слова, в другом русские; в одном число - в другом его пропись; в одном код цвета - в другом его наименование; и т.д.

Примечание: Замена производится только в не защищенных ячейках. Если какие-либо листы защищены и произвести замену в них невозможно, то программа пропустит такие листы, но после работы будет показано сообщение с перечислением имен листов, в которых замену произвести не удалось. Если листов более 15-ти, то имена будут выведены только для первых 15-ти листов.

Loading

2 комментария

    1. Не знаю что Вы там устанавливали, но в базе нет данных о Вашем email. Может указывали другой, конечно. Но в любом случае, если надстройку удалили, то она никак уже не может повлиять на работу Excel и глюков создавать тоже не может, т.к. в служебные файлы самого Excel никаких изменений не вносит. Ищите проблему где-то еще, если проблемы остались даже после удаления надстройки.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.