Суммы и числа прописью
Alex_ST
Дата: Среда, 21.10.2015, 11:56 |
Сообщение № 101
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация:
609
±
Замечаний:
0% ±
2003
Офигеть! Даже просто текст с таким количеством символов без ошибок набрать - дело долгое. Но в тексте опечатки легко вычитываются. А Ваша мегаформула, вставленная в Word со шрифтом Arial 12 pt, заняла ТРИ ЛИСТА А4 !!! Как и сколько лет Вы отлаживали формулу, в которой любой не верный знак препинания зачастую "сметрелен" для результата? И чем Вам не нравится формула MCH ? Тоже, конечно, "монстр", но всё-таки не 7000, а "всего" около 1000 знаков.
Офигеть! Даже просто текст с таким количеством символов без ошибок набрать - дело долгое. Но в тексте опечатки легко вычитываются. А Ваша мегаформула, вставленная в Word со шрифтом Arial 12 pt, заняла ТРИ ЛИСТА А4 !!! Как и сколько лет Вы отлаживали формулу, в которой любой не верный знак препинания зачастую "сметрелен" для результата? И чем Вам не нравится формула MCH ? Тоже, конечно, "монстр", но всё-таки не 7000, а "всего" около 1000 знаков. Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Ответить
Сообщение Офигеть! Даже просто текст с таким количеством символов без ошибок набрать - дело долгое. Но в тексте опечатки легко вычитываются. А Ваша мегаформула, вставленная в Word со шрифтом Arial 12 pt, заняла ТРИ ЛИСТА А4 !!! Как и сколько лет Вы отлаживали формулу, в которой любой не верный знак препинания зачастую "сметрелен" для результата? И чем Вам не нравится формула MCH ? Тоже, конечно, "монстр", но всё-таки не 7000, а "всего" около 1000 знаков. Автор - Alex_ST Дата добавления - 21.10.2015 в 11:56
Aleckx
Дата: Среда, 21.10.2015, 15:57 |
Сообщение № 102
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Alex_ST, художника обидеть может каждый ) "Мы академиев не кончали", а решение этой проблемы было делом принципа. А если точнее, то меня на работе уверяли, что в одну формулу подобное не уместить.
Alex_ST, художника обидеть может каждый ) "Мы академиев не кончали", а решение этой проблемы было делом принципа. А если точнее, то меня на работе уверяли, что в одну формулу подобное не уместить. Aleckx
Улыбайтесь. Люди любят идиотов.
Ответить
Сообщение Alex_ST, художника обидеть может каждый ) "Мы академиев не кончали", а решение этой проблемы было делом принципа. А если точнее, то меня на работе уверяли, что в одну формулу подобное не уместить. Автор - Aleckx Дата добавления - 21.10.2015 в 15:57
Alex_ST
Дата: Среда, 21.10.2015, 18:01 |
Сообщение № 103
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация:
609
±
Замечаний:
0% ±
2003
Aleckx , да кто ж обидеть-то пытался? Что Вы? Я просто офигеваю от объёма проделанной работы и поражаюсь, как ТАКУЮ формулу можно было написать и, главное, - отладить? Ну а если это, действительно, создано именно так для того, чтобы доказать возможность записи всего преобразования в одной формуле, то тем более - уважуха!
Aleckx , да кто ж обидеть-то пытался? Что Вы? Я просто офигеваю от объёма проделанной работы и поражаюсь, как ТАКУЮ формулу можно было написать и, главное, - отладить? Ну а если это, действительно, создано именно так для того, чтобы доказать возможность записи всего преобразования в одной формуле, то тем более - уважуха!Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 21.10.2015, 18:01
Ответить
Сообщение Aleckx , да кто ж обидеть-то пытался? Что Вы? Я просто офигеваю от объёма проделанной работы и поражаюсь, как ТАКУЮ формулу можно было написать и, главное, - отладить? Ну а если это, действительно, создано именно так для того, чтобы доказать возможность записи всего преобразования в одной формуле, то тем более - уважуха!Автор - Alex_ST Дата добавления - 21.10.2015 в 18:01
Gustav
Дата: Среда, 21.10.2015, 19:19 |
Сообщение № 104
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Раз уж пошёл такой паноптикум, добавлю для коллекции свою формульную сумму прописью, нарисованную уже более трех лет назад на другом форуме: http://www.axforum.info/forums/blog.php?b=112 . В основном этим своим примером я ратую хоть за какое-то мало-мальски осмысленное форматирование подобных формульных опусов - ведь разрешены внутри них и переводы строки, и дополнительные пробелы для отступов - отчего ж не воспользоваться?! А можно даже вставить в формулу комментарии - при помощи функции Ч("бла-бла-бла"), возвращающей число 0, или комбинации функций Т(Ч("бла-бла-бла")), возвращающей пустую строку. Второй вариант как раз представлен ниже в "формулище". Формула настроена на ячейку A1 - в ней должно быть число для "проговора". Соответственно, сама формула вставляется в любую другую ячейку. P.S. К сожалению, тег [code] оказался не в силах точно передать мой композиторский замысел, поэтому я оставил "формулищу" простым текстом, убранным для компактности под спойлер.
Раз уж пошёл такой паноптикум, добавлю для коллекции свою формульную сумму прописью, нарисованную уже более трех лет назад на другом форуме: http://www.axforum.info/forums/blog.php?b=112 . В основном этим своим примером я ратую хоть за какое-то мало-мальски осмысленное форматирование подобных формульных опусов - ведь разрешены внутри них и переводы строки, и дополнительные пробелы для отступов - отчего ж не воспользоваться?! А можно даже вставить в формулу комментарии - при помощи функции Ч("бла-бла-бла"), возвращающей число 0, или комбинации функций Т(Ч("бла-бла-бла")), возвращающей пустую строку. Второй вариант как раз представлен ниже в "формулище". Формула настроена на ячейку A1 - в ней должно быть число для "проговора". Соответственно, сама формула вставляется в любую другую ячейку. P.S. К сожалению, тег [code] оказался не в силах точно передать мой композиторский замысел, поэтому я оставил "формулищу" простым текстом, убранным для компактности под спойлер. Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Четверг, 22.10.2015, 14:52
Ответить
Сообщение Раз уж пошёл такой паноптикум, добавлю для коллекции свою формульную сумму прописью, нарисованную уже более трех лет назад на другом форуме: http://www.axforum.info/forums/blog.php?b=112 . В основном этим своим примером я ратую хоть за какое-то мало-мальски осмысленное форматирование подобных формульных опусов - ведь разрешены внутри них и переводы строки, и дополнительные пробелы для отступов - отчего ж не воспользоваться?! А можно даже вставить в формулу комментарии - при помощи функции Ч("бла-бла-бла"), возвращающей число 0, или комбинации функций Т(Ч("бла-бла-бла")), возвращающей пустую строку. Второй вариант как раз представлен ниже в "формулище". Формула настроена на ячейку A1 - в ней должно быть число для "проговора". Соответственно, сама формула вставляется в любую другую ячейку. P.S. К сожалению, тег [code] оказался не в силах точно передать мой композиторский замысел, поэтому я оставил "формулищу" простым текстом, убранным для компактности под спойлер. Автор - Gustav Дата добавления - 21.10.2015 в 19:19
Alex_ST
Дата: Четверг, 22.10.2015, 19:28 |
Сообщение № 105
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация:
609
±
Замечаний:
0% ±
2003
Константин, БРАВО! Мне, привыкшему каждую написанную процедуру VBA снабжать комментариями, использование комментариев в формуле - бальзам на душу. Вот ТАК написанную формулу реально разобрать и при необходимости попробовать подправить и отладить, несмотря на то, что это монстр на 6637 знаков.
Константин, БРАВО! Мне, привыкшему каждую написанную процедуру VBA снабжать комментариями, использование комментариев в формуле - бальзам на душу. Вот ТАК написанную формулу реально разобрать и при необходимости попробовать подправить и отладить, несмотря на то, что это монстр на 6637 знаков. Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Ответить
Сообщение Константин, БРАВО! Мне, привыкшему каждую написанную процедуру VBA снабжать комментариями, использование комментариев в формуле - бальзам на душу. Вот ТАК написанную формулу реально разобрать и при необходимости попробовать подправить и отладить, несмотря на то, что это монстр на 6637 знаков. Автор - Alex_ST Дата добавления - 22.10.2015 в 19:28
Aleckx
Дата: Среда, 28.10.2015, 13:28 |
Сообщение № 106
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Блин. Триллион - максимум, что может проглотить. Больше 20 знаков Excel округляет... Квадриллион уже не ест. Получилось что-то такое:Код
=ТЕКСТ(ОТБР(A1;0);"# ##0_ ")&"(" &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^14);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^13);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^12);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^12);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^12);1000);"триллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^12);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^11);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^9);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^9);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^9);1000);"миллиард"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^9);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1) &ВЫБОР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"")) &") рубл"&ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)=1;"ей";ВПР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10));{0;"ей":1;"ь":2;"я":5;"ей"};2)) &ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00") &ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
Блин. Триллион - максимум, что может проглотить. Больше 20 знаков Excel округляет... Квадриллион уже не ест. Получилось что-то такое:Код
=ТЕКСТ(ОТБР(A1;0);"# ##0_ ")&"(" &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^14);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^13);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^12);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^12);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^12);1000);"триллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^12);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^11);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^9);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^9);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^9);1000);"миллиард"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^9);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1) &ВЫБОР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"")) &") рубл"&ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)=1;"ей";ВПР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10));{0;"ей":1;"ь":2;"я":5;"ей"};2)) &ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00") &ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
Aleckx
Улыбайтесь. Люди любят идиотов.
Ответить
Сообщение Блин. Триллион - максимум, что может проглотить. Больше 20 знаков Excel округляет... Квадриллион уже не ест. Получилось что-то такое:Код
=ТЕКСТ(ОТБР(A1;0);"# ##0_ ")&"(" &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^14);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^13);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^12);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^12);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^12);1000);"триллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^13);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^12);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^11);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^9);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^9);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^9);1000);"миллиард"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^10);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^9);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^8);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/10^6);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(A1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/10^5);10)+1) &ВЫБОР(ОСТАТ(ОТБР(A1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(A1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(A1/1000);10)+1);"") &ЕСЛИ(ОСТАТ(ОТБР(A1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(A1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(A1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"") &ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(A1/100);10)+1) &ВЫБОР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ") &ЕСЛИ(ОТБР(A1)=0;"ноль ";ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10))+1);"")) &") рубл"&ЕСЛИ(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/100)*100)/10)=1;"ей";ВПР(ЦЕЛОЕ((A1-ЦЕЛОЕ(A1/10)*10));{0;"ей":1;"ь":2;"я":5;"ей"};2)) &ТЕКСТ(ОТБР((A1-ОТБР(A1)+0,00001)*100);" 00") &ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
Автор - Aleckx Дата добавления - 28.10.2015 в 13:28
Gustav
Дата: Среда, 28.10.2015, 14:53 |
Сообщение № 107
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Триллион - максимум, что может проглотить. Квадриллион уже не ест.
А зачем квадриллион? Триллионов хватает, чтобы прописать в рублях ВВП России еще много-много лет... А Вы в каких таких накладных собираетесь квадриллионы прописывать? Больше 20 знаков Excel округляет...
Excel хранит 15 значащих цифр. Более 15 уже преобразуются во что-нибудь. Например, ввод 12345678901234567890 даёт в ячейке 12345678901234500000 (что характерно, 16-й символ "6" не округляет предыдущую "5" до шести, а "отбрасывается", становясь "0").
Триллион - максимум, что может проглотить. Квадриллион уже не ест.
А зачем квадриллион? Триллионов хватает, чтобы прописать в рублях ВВП России еще много-много лет... А Вы в каких таких накладных собираетесь квадриллионы прописывать? Больше 20 знаков Excel округляет...
Excel хранит 15 значащих цифр. Более 15 уже преобразуются во что-нибудь. Например, ввод 12345678901234567890 даёт в ячейке 12345678901234500000 (что характерно, 16-й символ "6" не округляет предыдущую "5" до шести, а "отбрасывается", становясь "0").Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Триллион - максимум, что может проглотить. Квадриллион уже не ест.
А зачем квадриллион? Триллионов хватает, чтобы прописать в рублях ВВП России еще много-много лет... А Вы в каких таких накладных собираетесь квадриллионы прописывать? Больше 20 знаков Excel округляет...
Excel хранит 15 значащих цифр. Более 15 уже преобразуются во что-нибудь. Например, ввод 12345678901234567890 даёт в ячейке 12345678901234500000 (что характерно, 16-й символ "6" не округляет предыдущую "5" до шести, а "отбрасывается", становясь "0").Автор - Gustav Дата добавления - 28.10.2015 в 14:53
MCH
Дата: Среда, 28.10.2015, 17:47 |
Сообщение № 108
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Aleckx, Ваша формула очень сильно напоминает мою, опубликованную более 4х лет назад на SQL (Сообщение от 10 авг 11, 17:59 ) и на Планете (сообщение #34 от 31 Июл 2011 18:05:50 ) для сравнения (формула ссылается на число в B1):Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(B1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(B1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(B1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(B1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((B1-ОТБР(B1)+0,00001)*100);" 00\ коп.;;")
При этом можно было бы сократь эту формулу при написании миллионов/тысяч/рублей/копеек, как это сделано в формуле из первого сообщения текущей темы Сравните Ваше:Код
=ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
И мое:Код
=" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВБ(ТЕКСТ(A1;",00");2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2)
К тому же у Вас получается "32 копеек", "44 копеек", "11 копейки" и т.п.
Aleckx, Ваша формула очень сильно напоминает мою, опубликованную более 4х лет назад на SQL (Сообщение от 10 авг 11, 17:59 ) и на Планете (сообщение #34 от 31 Июл 2011 18:05:50 ) для сравнения (формула ссылается на число в B1):Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(B1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(B1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(B1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(B1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((B1-ОТБР(B1)+0,00001)*100);" 00\ коп.;;")
При этом можно было бы сократь эту формулу при написании миллионов/тысяч/рублей/копеек, как это сделано в формуле из первого сообщения текущей темы Сравните Ваше:Код
=ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
И мое:Код
=" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВБ(ТЕКСТ(A1;",00");2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2)
К тому же у Вас получается "32 копеек", "44 копеек", "11 копейки" и т.п.MCH
Ответить
Сообщение Aleckx, Ваша формула очень сильно напоминает мою, опубликованную более 4х лет назад на SQL (Сообщение от 10 авг 11, 17:59 ) и на Планете (сообщение #34 от 31 Июл 2011 18:05:50 ) для сравнения (формула ссылается на число в B1):Код
=ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^8);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^7);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/10^6);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/10^6);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^6);1000);"миллион"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^7);10)=1;"ов ";ВПР(ОСТАТ(ОТБР(B1/10^6);10);{0;"ов ":1;" ":2;"а ":5;"ов "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/10^5);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10^4);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1/1000);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)<>1;ИНДЕКС({"";"одна ";"две ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1/1000);10)+1);"")&ЕСЛИ(ОСТАТ(ОТБР(B1/1000);1000);"тысяч"&ЕСЛИ(ОСТАТ(ОТБР(B1/10^4);10)=1;" ";ВПР(ОСТАТ(ОТБР(B1/1000);10);{0;" ":1;"а ":2;"и ":5;" "};2));"")&ИНДЕКС({"";"сто ";"двести ";"триста ";"четыреста ";"пятьсот ";"шестьсот ";"семьсот ";"восемьсот ";"девятьсот "};ОСТАТ(ОТБР(B1/100);10)+1)&ВЫБОР(ОСТАТ(ОТБР(B1/10);10)+1;"";ИНДЕКС({"десять ";"одиннадцать ";"двенадцать ";"тринадцать ";"четырнадцать ";"пятнадцать ";"шестнадцать ";"семнадцать ";"восемнадцать ";"девятнадцать "};ОСТАТ(ОТБР(B1);10)+1);"двадцать ";"тридцать ";"сорок ";"пятьдесят ";"шестьдесят ";"семьдесят ";"восемьдесят ";"девяносто ")&ЕСЛИ(ОТБР(B1)=0;"ноль ";ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)<>1;ИНДЕКС({"";"один ";"два ";"три ";"четыре ";"пять ";"шесть ";"семь ";"восемь ";"девять "};ОСТАТ(ОТБР(B1);10)+1);""))&"рубл"&ЕСЛИ(ОСТАТ(ОТБР(B1/10);10)=1;"ей";ВПР(ОСТАТ(ОТБР(B1);10);{0;"ей":1;"ь":2;"я":5;"ей"};2))&ТЕКСТ(ОТБР((B1-ОТБР(B1)+0,00001)*100);" 00\ коп.;;")
При этом можно было бы сократь эту формулу при написании миллионов/тысяч/рублей/копеек, как это сделано в формуле из первого сообщения текущей темы Сравните Ваше:Код
=ЕСЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)<20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=1;" копейка";ЕСЛИ(ИЛИ(ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))>=5;ЕСЛИ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100)>20;ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;100);0);ОКРУГЛ(ОСТАТ(ОКРУГЛ(A1-ЦЕЛОЕ(A1);2)*100;10);0))=0);" копеек";" копейки"))
И мое:Код
=" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВБ(ТЕКСТ(A1;",00");2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2)
К тому же у Вас получается "32 копеек", "44 копеек", "11 копейки" и т.п.Автор - MCH Дата добавления - 28.10.2015 в 17:47
Aleckx
Дата: Четверг, 29.10.2015, 07:09 |
Сообщение № 109
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
MCH, резонные замечания. Благодарю. Поправлю формулу.
MCH, резонные замечания. Благодарю. Поправлю формулу. Aleckx
Улыбайтесь. Люди любят идиотов.
Ответить
Сообщение MCH, резонные замечания. Благодарю. Поправлю формулу. Автор - Aleckx Дата добавления - 29.10.2015 в 07:09
GalinaF
Дата: Среда, 20.01.2016, 06:49 |
Сообщение № 110
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Доброе утро! Скопировала Вашу формулу в свою табличку, но почему-то у меня при написании прописью меняются копейки.. Число 115247,85, а прописью пишет Сто пятнадцать тысяч двести сорок восемь рублей 48 копеек. Не могу понять почему округляет в большую сторону
Доброе утро! Скопировала Вашу формулу в свою табличку, но почему-то у меня при написании прописью меняются копейки.. Число 115247,85, а прописью пишет Сто пятнадцать тысяч двести сорок восемь рублей 48 копеек. Не могу понять почему округляет в большую сторону GalinaF
Ответить
Сообщение Доброе утро! Скопировала Вашу формулу в свою табличку, но почему-то у меня при написании прописью меняются копейки.. Число 115247,85, а прописью пишет Сто пятнадцать тысяч двести сорок восемь рублей 48 копеек. Не могу понять почему округляет в большую сторону Автор - GalinaF Дата добавления - 20.01.2016 в 06:49
Pelena
Дата: Среда, 20.01.2016, 07:35 |
Сообщение № 111
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4554
±
Замечаний:
±
Excel 365 & Mac Excel
Здравствуйте. Уточните, о какой конкретно формуле идёт речь?
Здравствуйте. Уточните, о какой конкретно формуле идёт речь? Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здравствуйте. Уточните, о какой конкретно формуле идёт речь? Автор - Pelena Дата добавления - 20.01.2016 в 07:35
GalinaF
Дата: Среда, 20.01.2016, 07:42 |
Сообщение № 112
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
О формулах в 1 сообщении.
Ответить
Сообщение О формулах в 1 сообщении. Автор - GalinaF Дата добавления - 20.01.2016 в 07:42
Pelena
Дата: Среда, 20.01.2016, 07:46 |
Сообщение № 113
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4554
±
Замечаний:
±
Excel 365 & Mac Excel
Прикладывайте файл с ошибкой, т.к. если подставить Ваше число в файл из первого сообщения, ошибки нет
Прикладывайте файл с ошибкой, т.к. если подставить Ваше число в файл из первого сообщения, ошибки нет Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Прикладывайте файл с ошибкой, т.к. если подставить Ваше число в файл из первого сообщения, ошибки нет Автор - Pelena Дата добавления - 20.01.2016 в 07:46
GalinaF
Дата: Среда, 20.01.2016, 07:47 |
Сообщение № 114
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Получилось, только вот так
Сообщение отредактировал GalinaF - Среда, 20.01.2016, 08:08
Ответить
Сообщение Получилось, только вот так Автор - GalinaF Дата добавления - 20.01.2016 в 07:47
Pelena
Дата: Среда, 20.01.2016, 09:15 |
Сообщение № 115
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4554
±
Замечаний:
±
Excel 365 & Mac Excel
GalinaF , у Вас имя n0 неправильное. Посмотрите в диспетчере имён, оно должно быть Код
="000000000000"&ПСТР(1/2;2;1)&"00"
GalinaF , у Вас имя n0 неправильное. Посмотрите в диспетчере имён, оно должно быть Код
="000000000000"&ПСТР(1/2;2;1)&"00"
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение GalinaF , у Вас имя n0 неправильное. Посмотрите в диспетчере имён, оно должно быть Код
="000000000000"&ПСТР(1/2;2;1)&"00"
Автор - Pelena Дата добавления - 20.01.2016 в 09:15
GalinaF
Дата: Среда, 20.01.2016, 09:30 |
Сообщение № 116
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Поправила, всё получилось. Спасибо большое за помощь!
Поправила, всё получилось. Спасибо большое за помощь! GalinaF
Ответить
Сообщение Поправила, всё получилось. Спасибо большое за помощь! Автор - GalinaF Дата добавления - 20.01.2016 в 09:30
SMax
Дата: Вторник, 09.02.2016, 11:38 |
Сообщение № 117
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Добрый день! У меня вроде считает все верно, но перед значением выкидываем 6 нулей
Добрый день! У меня вроде считает все верно, но перед значением выкидываем 6 нулей SMax
Ответить
Сообщение Добрый день! У меня вроде считает все верно, но перед значением выкидываем 6 нулей Автор - SMax Дата добавления - 09.02.2016 в 11:38
Pelena
Дата: Вторник, 09.02.2016, 14:02 |
Сообщение № 118
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4554
±
Замечаний:
±
Excel 365 & Mac Excel
SMax , тоже имена проверьте. В n_1, n_3, n_4, n_5 на первом месте вместо 0 должна быть пустая строка ""
SMax , тоже имена проверьте. В n_1, n_3, n_4, n_5 на первом месте вместо 0 должна быть пустая строка "" Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение SMax , тоже имена проверьте. В n_1, n_3, n_4, n_5 на первом месте вместо 0 должна быть пустая строка "" Автор - Pelena Дата добавления - 09.02.2016 в 14:02
Diablojoker
Дата: Понедельник, 15.02.2016, 21:50 |
Сообщение № 119
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация:
0
±
Замечаний:
0% ±
2010
Сообщение № 7 Turkmen-Azer-Tu.xls(94Kb) В этом файле как можно самому менять чтобы копейки тоже были прописными? Или сделайте пожалуйста. Только туркменский надо. [moder]А что за файл-то? Покажите, не перелистывать же всю тему[/moder]
Сообщение № 7 Turkmen-Azer-Tu.xls(94Kb) В этом файле как можно самому менять чтобы копейки тоже были прописными? Или сделайте пожалуйста. Только туркменский надо. [moder]А что за файл-то? Покажите, не перелистывать же всю тему[/moder] Diablojoker
Сообщение отредактировал Manyasha - Понедельник, 15.02.2016, 22:03
Ответить
Сообщение Сообщение № 7 Turkmen-Azer-Tu.xls(94Kb) В этом файле как можно самому менять чтобы копейки тоже были прописными? Или сделайте пожалуйста. Только туркменский надо. [moder]А что за файл-то? Покажите, не перелистывать же всю тему[/moder] Автор - Diablojoker Дата добавления - 15.02.2016 в 21:50
Alex_ST
Дата: Понедельник, 15.02.2016, 22:15 |
Сообщение № 120
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация:
609
±
Замечаний:
0% ±
2003
не перелистывать же всю тему
Ну ладно придираться, ведь указал же человекА оно явно на первой странице топика. Хотя, конечно, корректнее было бы ссылку на пост дать... А с этими копейками, да ещё и на туркменском = это, наверное, только автор - МСН - сможет сделать, да и то, если ему написать, как эти копейки в числительных на этом языке меняются
не перелистывать же всю тему
Ну ладно придираться, ведь указал же человекА оно явно на первой странице топика. Хотя, конечно, корректнее было бы ссылку на пост дать... А с этими копейками, да ещё и на туркменском = это, наверное, только автор - МСН - сможет сделать, да и то, если ему написать, как эти копейки в числительных на этом языке меняютсяAlex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Ответить
Сообщение не перелистывать же всю тему
Ну ладно придираться, ведь указал же человекА оно явно на первой странице топика. Хотя, конечно, корректнее было бы ссылку на пост дать... А с этими копейками, да ещё и на туркменском = это, наверное, только автор - МСН - сможет сделать, да и то, если ему написать, как эти копейки в числительных на этом языке меняютсяАвтор - Alex_ST Дата добавления - 15.02.2016 в 22:15