Этот файл предназначен чтобы упростить работу с большими словарями. Например, для случаев, когда нужно привести к требуемому виду словарь, созданный за годы правок. Также можно искать Субъекты РФ в адресах (в том числе по почтовому индексу). Или привести в порядок названия контрагентовПредполагается что у вас установлена надстройка Power Query для Excel
Как работать с файлом
На лист ИСХОДНЫЕ СТРОКИ добавьте свои исходные строки, в которых вы хотите найти значения из таблицы с листа словарьИскомыхЗначений. Желательно удалить с этого листа дубликаты, чтобы не делать одно и тоже дважды.
Предположим, что вы видите эти строки впервые и у вас даже нет гипотезы, какие значения должны быть в итоге. Так часто бывает при работе с новыми словарями и это самый сложный случай.
Тогда вы читаете строки с листа ИСХОДНЫЕ СТРОКИ и добавляете по одному Искомые Значения в словарьИскомыхЗначений. Для ускорения отсортируйте Исходные строки по алфавиту. При этом важно чтобы таблица с листа словарьИскомыхЗначений была отсортирована по столбцу «список» в алфавитном порядке от а до я. Следующие столбцы служат для проверки словаряИсходныхЗначений. В столбце «Есть?» проверяется, что нет дубликата. В нем всегда должны быть только единицы. В столбце «ПО ПОРЯДКУ» проверяется алфавитный порядок столбца «список». Последний столбце «#» содержит порядковый номер, вбитый вручную.
Это может потребовать времени, если строк много. Если вы видите на этом этапе, что какие-то строки должны принять одно из уже описанных Искомых Значений, но не соответствуют им тождественно (например, FRUIT TERMINAL VKO и ФРУКТОВЫЙ ТЕРМИНАЛ ВКО), не обращайте внимания на эти случаи до тех пор, пока не соберете словарьИскомыхЗначений. Пока пропускайте эти строки.
Когда вы дочитали ИСХОДНЫЕ СТРОКИ и добавили все найденные Искомые Значения. Начните заполнять словарьВариантовНаписания. Это нужно начать с копирования и вставки столбца «список» в два столбца словаряВариантовНаписания: «ВариантНаписания» и «ИскомоеЗначение». Эти строки будут задавать случай, когда в ИСХОДНОЙ СТРОКЕ есть Вариант Написания тождественный Искомому Значению. Обратите внимание на проверки в словареВариантовНаписания. Столбец «ИскомоеЗначениеИзСловаряИскомыхЗначений» проверяет, что значение в столбце «ИскомоеЗначение» в этом словаре также есть в словареИскомыхЗначений. Оставшиеся три столбца аналогичны таким же в словреИскомыхЗначений, но выполняют проверки для столбца «ВариантНаписания», т. е. каждый Вариант Написания должен встречаться 1 раз, быть отсортированным по порядку и пронуменованным.
Теперь идем на лист СТРОКИ И ЗНАЧЕНИЯ и на вкладке Данные нажимаем «Обновить все». На выходе получим Исходные Строки, по крайней мере некоторым из которых сопоставлены НайденныеЗначения.
Теперь можно продолжить заполнение словаряВариантовНаписания. Для этого сортируем таблицу СТРОКИ И ЗНАЧЕНИЯ по левому столбцу по алфавиту, дополняем словарьВариантовНаписания и при необходимости правим или дополняем словарьИскомыхЗначений.
Не обязательно прописывать абсолютно все варианты, достаточно получить словарь, который можно в разумные сроки доделать руками. Соблюдайте баланс.
Описание листов файла
ИСХОДНЫЕ СТРОКИ – лист для исходных строк, в которых мы хотим найти совпадения с вариантами написания
словарьИсходныхЗначений – здесь без дубликатов мы прописываем те исходные значения, которые хотим поискать в каждой строке с листа ИСХОДНЫЕ СТРОКИ
словарьВариантовНаписания – словарь в который мы без дубликатов вносим варианты написания искомых значений с листа словарьИсходныхЗначений. Напротив каждого из этих вариантов мы прописываем эталонное ИскомоеЗначение.
СТРОКИ И ЗНАЧЕНИЯ – лист который содержит итоговую таблицу. В ней слева исходные строки, а справа Найденные значения.
словарьДопустимыеСимволы – служебный лист, который содержит перечисление символов, которые допустимы при расчетах внутри модели (в исходных строках и искомых значениях, конечно, могут быть и другие символы). Вот список допустимых символов с этого листа (кодировка ASCII):
· Код символа 32 обычный пробел
· Коды символа 48-57 цифры от 0 до 9
· Коды символа 97-122 строчные латинские буквы от a до z
словарьТранслитерации – служебный лист содержит правила транслитерации иных символов в допустимые. Сейчас он содержит перевод строчных кириллических букв в сочетания латинских букв, допустимых в модели. Эта транслитерация соответствует приказу МИД России от 12.02.2020 №2113 из Приложения Транслитерация кириллических знаков (извлечение) (Рекомендуемый образец). Способ транслитерации не принципиален, можно использовать свою версию. Важно, что сейчас для модели нет разницы между строчными и заглавными буквами, она приводит все символы к нижнему регистру (строчные буквы)