Страницы: 1
RSS
Замена кириллической буквы на латиницу
 
Коллеги, добрый день
Есть такого рода вопрос. Не могу никак скрутить формулу.
Вывожу в столбец данные с помощью ИНДЕКС+ПОИСКПОЗ, получаю необходимые значения, в данном случае это уникальные идентификаторы от 3-х до 8 символов.
Каждый идентификатор может содержать в себе кириллические прописные или строчные буквы, каждой такой букве соответствует какая-то буква из латинского алфавита.
Нужно после дописать формулу ПОДСТАВИТЬ поверх формулы ИНДЕКС+ПОИСКПОЗ, таким образом, чтобы выполнялась проверка на наличие кириллической буквы и вместо неё подставлялась латинская.
Таблица с алфавитами на другом листе.
Насколько я понимаю, тут нужна химия с формулами ПОДСТАИТЬ, ПРОСМОТР, ЕОШ, или я ошибся?
Заранее благодарен за любые подсказки
 
в файле бы показали ща пока не понятно что куда
Лень двигатель прогресса, доказано!!!
 
Ну как бы пример немного урезаный, так как там нет индекс поиск+поз
 
Hopsright, максимальная длинна кода всегда три символа?
Добавлено позже...
Если да, то:
=ЕСЛИОШИБКА(ВПР(ПРОПИСН(ПСТР(B2;1;1));Лист2!$A:$C;3;0);ПСТР(B2;1;1))&ЕСЛИОШИБКА(ВПР(ПРОПИСН(ПСТР(B2;2;1));Лист2!$A:$C;3;0);ПСТР(B2;2;1))&ЕСЛИОШИБКА(ВПР(ПРОПИСН(ПСТР(B2;3;1));Лист2!$A:$C;3;0);ПСТР(B2;3;1))
Изменено: JayBhagavan - 05.08.2015 15:10:10

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Ну как бы пример немного урезаный, так как там нет индекс поиск+поз
 
UDF
Код
Function f$(s$)
  For i = 1 To Len(s)
    p = InStr("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", Mid(s, i, 1))
    If p Then Mid(s, i, 1) = Mid("ABVGDEЁЖЗIЙKLМHOPРCТУFXЦЧШЩЪЫЬЭUЯ", p, 1)
  Next
  f = s
End Function
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
формулой, если буква только одна, но длина строки разная (если много - лень думать :) )
=ЗАМЕНИТЬ(B2;СУММПРОИЗВ(ЕОШ(1*ПСТР(B2;СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(B2)));1))*СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(B2))));1;ВПР(ПСТР(B2;СУММПРОИЗВ(ЕОШ(1*ПСТР(B2;СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(B2)));1))*СТРОКА(ДВССЫЛ("$1:$"&ДЛСТР(B2))));1);Лист2!$A$1:$C$34;3;0))
Красную часть (она одинаковая) можно в отдельный столбец, и ссылаться на нее, чтобы формула не была таким монстром.
F1 творит чудеса
 
Огромное спасибо всем.
Все решения очень полезные.
Решил задачу с Вашей помощью
Страницы: 1
Наверх