![]() |
Объединить в формуле русский и украинский язык.
Эта формула переводит буквенное значение в цифровое.
Код:
=СУММПРОИЗВ(ВПР(Т(ИНДЕКС(+ПСТР(ПРОПИСН(СЖПРОБЕЛЫ(A1));СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(СЖПРОБЕЛЫ(A1))));1);));{"а";1:"б";2:"в";3:"г";4:"д";5:"е";6:"ё";7:"ж";8:"з";9:"и";1:"й";2:"к";3:"л";4:"м";5:"н";6:"о";7:"п";8:"р";9:"с";1:"т";2:"у";3:"ф";4:"х";5:"ц";6:"ч";7:"ш";8:"щ";9:"ъ";1:"ы";2:"ь";3:"э";4:"ю";5:"я";6};2;);10^(ДЛСТР(СЖПРОБЕЛЫ(A1))-СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(СЖПРОБЕЛЫ(A1)))))) |
kill-kit, А по какому принципу? Если тупо, то, например, Вашу формулу можно дополнить (взял её фрагмент):
было "ю";5:"я";6} а можно, например, сделать так: "ю";5:"я";6:"ї";7:"і";8} или эдак: "ю";5:"я";6:"ї";3:"і";9} Определитесь с принципом, а буквам любого алфавита можно сопоставить в этой формуле любую цифру. Кстати - максимальная строка, которую формула способна обработать - 15 символов И, кстати, пробелы в строке для Вашей формулы недопустимы. А они возможны? |
=СУММПРОИЗВ(10^(ДЛСТР(I2)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР(I2))))*(ОСТАТ(ПОИСК(ПСТР(I2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(I2)));1);"абвгдеёжзийк лмнопрстуфхцчшщъыьэюя")-1;9)+1))
Есть еще такая можно к нее добавить украинский)) В ячейку вписывается слово либо на украинском или русском и оно должен перевестись в цифровой формат. |
Цитата:
Код:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СТРОЧН(A1);"а";1);"б";2);"в";3);"г";4);"д";5);"е";6);"ё";7);"ж";8);"з";9);"и";1);"й";2);"к";3);"л";4);"м";5);"н";6);"о";7);"п";8);"р";9);"с";1);"т";2);"у";3);"ф";4);"х";5);"ц";6);"ч";7);"ш";8);"щ";9);"ь";1);"ы";2);"ъ";3);"э";4);"ю";5);"я";6) |
Точно монстр))
Это рабочая формула, или заготовка под нужный алфавит? А почему именно 15 символами ограничена формула, мне 15 хватало, хотя я об этом не знал, ну спорить не буду пусть лучше будут больше. В A1 мы вносим слово? |
kill-kit, Это рабочая формула. Можно использовать как заготовку для пополнения, например, украинскими буквами.
15 цифр - это длина значащей части числовой переменной (по крайней мере для 32-разрядного Excel) Строку "абвгдеёжзийклмнопрстуфхцчшщьыъэюя" Ваша формула преобразует в 123456789123457000000000000000000 а приведенная мной формула в 123456789123456789123456789123456 Это связано с тем, что Ваша формула работает с арифметическими вычислениями, а приведенная мной - с текстовыми заменами. В ячейке A1 (или иной указанной) текст, а можно вместо адреса вставить литерал, например "раз два три четыре пять" |
Вложений: 1
Соглашусь если я туплю, но не работает!
|
Вложений: 1
kill-kit, Работает. Когда делался копипаст - затесался несколько раз лишний пробел. Виноват, поленился использовать тег Code. Ваша первая формула и монстр дают одинаковый результат, а Ваша вторая формула - другой. Подправил пост.
|
Я правильно понял, что формула не может содержать в себе сразу украинске и русские буквы.
Нужно две формулы русская и украинская? |
kill-kit,
Цитата:
Украинский от русского отличается 4 символами. Если общим символам украинского и русского алфавита Вы присваиваете одинаковые цифры - никаких проблем не возникает. Ежели Вы хотите иметь для каждого алфавита свою нумерацию, то, наверное, можно построить формулу на основе ЕСЛИ и одной из вышеприведенных, естественно, автоматически определить, какому алфавиту принадлежит слово вася не представляется возможным. |
Вложений: 1
Мне бы хотелось чтоб она автоматом считала оба языка.
Я понял что Вы требуете, вот картинка. |
Вложений: 1
kill-kit, Дело не в том, что я не способен найти в инете алфавит, я не понимаю, как одинаковые символы русского и украинского алфавитов Вы сопоставляете с цифрами
Вот русский и украинский алфавиты, их ASCII коды и их перекодировка в цифры в соответствии с Вашей постановкой
Код:
ASCII ASCII Код:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СТРОЧН(B2);"а";1);"б";2);"в";3);"г";4);"д";5);"е";6);"ё";7);"ж";8);"з";9);"и";1);"й";2);"к";3);"л";4);"м";5);"н";6);"о";7);"п";8);"р";9);"с";1);"т";2);"у";3);"ф";4);"х";5);"ц";6);"ч";7);"ш";8);"щ";9);"ъ";1);"ы";2);"ь";3);"э";4);"ю";5);"я";6);"ґ";7);"є";8);"і";9);"ї";1) Если за основу берём украинский алфавит и добавляем к нему 4 русских символа, то: Код:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СТРОЧН(B5);"а";1);"б";2);"в";3);"г";4);"д";6);"е";7);"ё";7);"ж";9);"з";1);"и";2);"й";5);"к";6);"л";7);"м";8);"н";9);"о";1);"п";2);"р";3);"с";4);"т";5);"у";6);"ф";7);"х";8);"ц";9);"ч";1);"ш";2);"щ";3);"ъ";8);"ы";9);"ь";4);"э";1);"ю";5);"я";6);"ґ";5);"є";8);"і";3);"ї";4) У Вас, ИМХО, очень странная постановка. Я бы понял замену символов их кодами, а не цифрами - по крайней мере, каждая буква однозначно была бы определена. |
Киев-3163 и Київ - 6243
Никита - 613121 и Нікіта - 936351 Так должно получиться. Я думал сделать разные формулы, но потом передумала много пересечений формул. Решил что можно одну формулу чтоб была совмещена. |
Я извиняюсь, либо я что то не понял, либо у вас не было времени?
Надо подкорректировать, код не тот. |
Вложений: 1
kill-kit, я думал, у Вас проблема решена. Вы не озвучили возможный путь решения - знание Вами двух языков не в счет - алгоритмизируйте это знание для построения формулы.Повторяюсь
Цитата:
Можно объединить две формулы с русским и украинским алфавитом через если, как, например, сделано на сайте. =ЕСЛИ(какой-то признак; формула для русского; формула для украинского) В приложенной таблице если B2=1, то укр язык, иначе русский. |
Думаю, это сложно в самом деле. Пусть лучше будет две формулы и все, ни чего страшного напишут ручками в другой ячейке.
Спасибо! |
Вложений: 1
Цитата:
В ячейке С1 формула на русском, при протягивании вправо на один столбец будет на украинском |
Время: 18:38. |
Время: 18:38.
© OSzone.net 2001-