Ответ

Ответ

H

Если у вас есть таблица соответствия - в первом столбце кириллица, во втором латиница, то можно все решить формулой.

Она будет разбивать код на символы, искать соответствия для каждого через ВПР и заменять на латиницу, если найдет (а если не найдет - оставлять тот символ, что был) - и заново склеивать символы в код.

=Join("";arrayformula(ЕСЛИОШИБКА(ВПР(ПСТР(A2;{1\2\3\4\5\6};1);$D$2:$E$4;2;0);ПСТР(A2;{1\2\3\4\5\6};1))))

Она будет работать, если вы знаете максимальную длину кода.

Пример будет работать для кодов из 6 и более символов.

Если их максимум 8 - то надо заменить {1\2\3\4\5\6} на {1\2\3\4\5\6\7\8}.


ПСТР/MID разбивает текст на отдельные символы - от первого и до шестого (аргумент - массив с цифрами от 1 до 6 - это порядковый номер вырезаемого символа), затем каждый из них с помощью ВПР/VLOOKUP ищется в Таблице соответствия, а ЕСЛИ возникает ОШИБКА - то оставляется исходный символ с помощью той же ПСТР.

JOIN объединяет символы обратно в один код, разделитель - ничего (пустые кавычки, "" - это первый аргумент этой функции).



Файл с примером

Если же вы заранее не знаете, какой длины бывают коды и нужна совсем универсальная формула - то вот:


Report Page