Страницы: 1
RSS
Кириллица&Латиница + сравнивание с таблицей с данными.
 
Здравствуйте уважаемые.
Задача состоит в следующем. Есть таблица с данными которые правильные(страница2 в документе примера).
В примере стоит макрос который из всех моих строк подкрашивает кириллицу и латиницу.- Потом кириллицу переносит в другой столбец с которым и нужно работать.
Нужен макрос,который этот полученный столбец будет сравнивать с таблицей(на странице 2) и изменять в соотвествии с данными в таблице.

в примере уже стоит макрос прямого воздействия который меняет буквы кириллицы на латиницу в лоб,как указанно,но мне нужно чтобы это он делал правильно,
поясняю(хта12345 кириллицей менял в лоб на хта12345 латиницей так как в таблице(cтраница2) есть символы хта,а вот ЕТА12345 кирилицей менял  на TNF12345,так как в таблице есть латинский код TNF )

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

PS более 300 тысячь строк кирилицей нужно сравнить с 1000 кодов в таблице написанных латиницей и изменить на правильные,нужен какой-то автоматизированный механизм этого действия,так как таких документов много.Либо макрос,либо формулы. Спасибо.
 
Нужен список соответствия, все символы латиницей.
 
а нельзя сравнить на примере 2х строк?
хта с хта.а ета с tnf ?
 
Понял логику... Но задача похоже что сложная - на что менять А - на A или F?
А то можно было бы написать Sub Repair_RUSLAT - логику не меняем, меняем только соответствие символов.
Если набор этих трёх букв ограничен - то можно написать Sub Repair_ЦЫЦWSW тоже не меняя алгоритм.
 
в том то и дело,что я могу поменять строки в лоб,а на а, н на аш и тд. т на т Но что бы было правильно,нужно сравнить с данными в таблицы,а вот как это сделать,я не знаю. и сравнить только первые 3 символа.
 
Доброе время суток
Игорь, в принципе, ничего особо сложного.
Худший случай, как для русской А или A или F, два варианта на букву. Букв 3, следовательно декартово произведение 8 возможных вариантов для 3 букв.
Составляем массив вариантов для текущей тройки.
Загоняем таблицу проверки в словарь для скорости
Перебираем варианты, пока не получим совпадения со словарём.
Если совпало, то считаем его правильным и заменяем русские буквы найденным английским сочетанием. Хотя может быть и вариант более одного совпадения, тогда записываем во вспомогательный массив для ручного разбора с выводом всех вариантов совпадения.
Если совпадение не найдено, то записываем в отдельный массив для ручной проверки.
Так, если кратенько.
Изменено: Андрей VG - 29.01.2016 17:57:48
 
Можно написать макрос такого типа?
 
Цитата
Tsarneba написал: Можно написать макрос такого типа?
Странный вопрос. Чего ради бы я тогда алгоритм излагал?
 
Можно сделать программу с "искусственным интеллектом":
начальный список замен (пару-тройку) пишем на скрытый лист, в начале программы его загоняем в словарь, при работе если очередное сочетание не находим в словаре - программа спрашивает на что заменять, далее заменяет и пишет на лист и в словарь.
Если уже есть в словаре - молча заменяет.
 
Цитата
Tsarneba написал: Можно написать макрос такого типа?
Цитата
Андрей VG написал: Чего ради бы я тогда алгоритм излагал?
Простите,это я прошу помочь так). Помогите пожалуйста написать макрос данного алгоритма.
 
Цитата
Hugo написал: Нужен список соответствия, все символы латиницей.
На вскидку во вложении

Цитата
Tsarneba написал: Помогите пожалуйста написать макрос данного алгоритма.
Если у вас есть возможность использовать Power Query, то завтра накидаю что-нибудь. Сейчас спать пора - час ночи.
 
Цитата
Tsarneba написал: хта с хта.а ета с tnf ?
А вот тут почему ета c tnf, а не xta?
Кстати ошибочка с этими хта :)
Т.е. всёж нужно менять так, чтоб на выходе была связка букв из существующих.
Так сколько всего вариантов кодов? 1000 ведь вроде не получается...
 
Цитата
Hugo написал: А вот тут почему ета c tnf, а не xta?
Потому что в таблице верных есть TNF, а ETA нету...вот и  нужно чтобы оно наши данные сравнивало с тем что есть в таблице
 
Цитата
Андрей VG написал:
Если у вас есть возможность использовать Power Query, то завтра накидаю что-нибудь. Сейчас спать пора - час ночи.
Я думаю с этим проблем не будет,если поможет-буду использовать.
Спасибо.
 
Цитата
Tsarneba написал:
что в таблице верных есть TNF
но ведь там есть и
XTA
 
Цитата
Hugo написал: но ведь там есть иXTA
У нас пример ЕТА12345,задание перевести в латиницу. Есть два варианта перевода ETA12345 и TNF12345. Но так как на странице 2 у нас таблица с правильными значениями и в ней есть только TNF,нужно чтобы скрипт менял на TNF.
Изменено: Tsarneba - 01.02.2016 14:09:21
 
Доброе время суток
Вариант на Power Query.
Успехов
 
Спасибо огромное.  
Страницы: 1
Читают тему
Наверх