Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Суммы и числа прописью - Страница 6 - Мир MS Excel

Старая форма входа
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Суммы и числа прописью (Excel)
Суммы и числа прописью
Alex_ST Дата: Среда, 21.10.2015, 11:56 | Сообщение № 101
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
7703 знака
Офигеть! shock
Даже просто текст с таким количеством символов без ошибок набрать - дело долгое. Но в тексте опечатки легко вычитываются.
А Ваша мегаформула, вставленная в Word со шрифтом Arial 12 pt, заняла ТРИ ЛИСТА А4 !!!
Как и сколько лет Вы отлаживали формулу, в которой любой не верный знак препинания зачастую "сметрелен" для результата? killed
И чем Вам не нравится формула MCH ?
Тоже, конечно, "монстр", но всё-таки не 7000, а "всего" около 1000 знаков.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
7703 знака
Офигеть! shock
Даже просто текст с таким количеством символов без ошибок набрать - дело долгое. Но в тексте опечатки легко вычитываются.
А Ваша мегаформула, вставленная в Word со шрифтом Arial 12 pt, заняла ТРИ ЛИСТА А4 !!!
Как и сколько лет Вы отлаживали формулу, в которой любой не верный знак препинания зачастую "сметрелен" для результата? killed
И чем Вам не нравится формула 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
Дата добавления - 21.10.2015 в 15:57
Alex_ST Дата: Среда, 21.10.2015, 18:01 | Сообщение № 103
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Aleckx, да кто ж обидеть-то пытался? Что Вы?
Я просто офигеваю от объёма проделанной работы и поражаюсь, как ТАКУЮ формулу можно было написать и, главное, - отладить?
Ну а если это, действительно, создано именно так для того, чтобы доказать возможность записи всего преобразования в одной формуле, то тем более - уважуха!



С уважением,
Алексей
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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2733
Репутация: 1136 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Раз уж пошёл такой паноптикум, добавлю для коллекции свою формульную сумму прописью, нарисованную уже более трех лет назад на другом форуме: http://www.axforum.info/forums/blog.php?b=112 .

В основном этим своим примером я ратую хоть за какое-то мало-мальски осмысленное форматирование подобных формульных опусов - ведь разрешены внутри них и переводы строки, и дополнительные пробелы для отступов - отчего ж не воспользоваться?! А можно даже вставить в формулу комментарии - при помощи функции Ч("бла-бла-бла"), возвращающей число 0, или комбинации функций Т(Ч("бла-бла-бла")), возвращающей пустую строку. Второй вариант как раз представлен ниже в "формулище".


Формула настроена на ячейку A1 - в ней должно быть число для "проговора". Соответственно, сама формула вставляется в любую другую ячейку.

P.S. К сожалению, тег [code] оказался не в силах точно передать мой композиторский замысел, поэтому я оставил "формулищу" простым текстом, убранным для компактности под спойлер.


МОИ: Ник, 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Константин, БРАВО! first
Мне, привыкшему каждую написанную процедуру VBA снабжать комментариями, использование комментариев в формуле - бальзам на душу.
Вот ТАК написанную формулу реально разобрать и при необходимости попробовать подправить и отладить, несмотря на то, что это монстр на 6637 знаков.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеКонстантин, БРАВО! first
Мне, привыкшему каждую написанную процедуру 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
Дата добавления - 28.10.2015 в 13:28
Gustav Дата: Среда, 28.10.2015, 14:53 | Сообщение № 107
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2733
Репутация: 1136 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Триллион - максимум, что может проглотить. Квадриллион уже не ест.

А зачем квадриллион? Триллионов хватает, чтобы прописать в рублях ВВП России еще много-много лет... А Вы в каких таких накладных собираетесь квадриллионы прописывать? ;)

Больше 20 знаков Excel округляет...

Excel хранит 15 значащих цифр. Более 15 уже преобразуются во что-нибудь. Например, ввод 12345678901234567890 даёт в ячейке 12345678901234500000 (что характерно, 16-й символ "6" не округляет предыдущую "5" до шести, а "отбрасывается", становясь "0").


МОИ: Ник, 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
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Получилось что-то такое:

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
Дата добавления - 28.10.2015 в 17:47
Aleckx Дата: Четверг, 29.10.2015, 07:09 | Сообщение № 109
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
MCH, резонные замечания. Благодарю.
Поправлю формулу.


Улыбайтесь. Люди любят идиотов.
 
Ответить
Сообщение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
Дата добавления - 20.01.2016 в 06:49
Pelena Дата: Среда, 20.01.2016, 07:35 | Сообщение № 111
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4418 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Уточните, о какой конкретно формуле идёт речь?


"Черт возьми, Холмс! Но как??!!"
Ю-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
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4418 ±
Замечаний: ±

Excel 365 & Mac Excel
Прикладывайте файл с ошибкой, т.к. если подставить Ваше число в файл из первого сообщения, ошибки нет


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПрикладывайте файл с ошибкой, т.к. если подставить Ваше число в файл из первого сообщения, ошибки нет

Автор - Pelena
Дата добавления - 20.01.2016 в 07:46
GalinaF Дата: Среда, 20.01.2016, 07:47 | Сообщение № 114
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Получилось, только вот так :(
К сообщению приложен файл: 0487663.7z (18.7 Kb)


Сообщение отредактировал GalinaF - Среда, 20.01.2016, 08:08
 
Ответить
СообщениеПолучилось, только вот так :(

Автор - GalinaF
Дата добавления - 20.01.2016 в 07:47
Pelena Дата: Среда, 20.01.2016, 09:15 | Сообщение № 115
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4418 ±
Замечаний: ±

Excel 365 & Mac Excel
GalinaF, у Вас имя n0 неправильное. Посмотрите в диспетчере имён, оно должно быть
Код
="000000000000"&ПСТР(1/2;2;1)&"00"


"Черт возьми, Холмс! Но как??!!"
Ю-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
Дата добавления - 20.01.2016 в 09:30
SMax Дата: Вторник, 09.02.2016, 11:38 | Сообщение № 117
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

У меня вроде считает все верно, но перед значением выкидываем 6 нулей
К сообщению приложен файл: 2362176.xlsx (19.9 Kb)
 
Ответить
СообщениеДобрый день!

У меня вроде считает все верно, но перед значением выкидываем 6 нулей

Автор - SMax
Дата добавления - 09.02.2016 в 11:38
Pelena Дата: Вторник, 09.02.2016, 14:02 | Сообщение № 118
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4418 ±
Замечаний: ±

Excel 365 & Mac Excel
SMax, тоже имена проверьте. В n_1, n_3, n_4, n_5 на первом месте вместо 0 должна быть пустая строка ""


"Черт возьми, Холмс! Но как??!!"
Ю-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]


Сообщение отредактировал 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
не перелистывать же всю тему

Ну ладно придираться, ведь указал же человек
Сообщение № 7
А оно явно на первой странице топика.
Хотя, конечно, корректнее было бы ссылку на пост дать...
А с этими копейками, да ещё и на туркменском = это, наверное, только автор - МСН - сможет сделать, да и то, если ему написать, как эти копейки в числительных на этом языке меняются



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
не перелистывать же всю тему

Ну ладно придираться, ведь указал же человек
Сообщение № 7
А оно явно на первой странице топика.
Хотя, конечно, корректнее было бы ссылку на пост дать...
А с этими копейками, да ещё и на туркменском = это, наверное, только автор - МСН - сможет сделать, да и то, если ему написать, как эти копейки в числительных на этом языке меняются

Автор - Alex_ST
Дата добавления - 15.02.2016 в 22:15
Мир MS Excel » Вопросы и решения » Готовые решения » Суммы и числа прописью (Excel)
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!