Форум

Новые сообщения · Участники · Правила форума
  • Страница 1 из 1
  • 1
Перевод суммы в рублях в текст
Администратор
Администратор
иконка админ
2022-08-27 19:41 #1
Используем Excel для составления договоров, счетов и актов. Применяем для этого шаблон в который вводим все данные по клиенту и услугам. Самая важная часть, считаю, это что наш шаблон excel умеет переводить числа в текст с учетом копеек хоть до миллиарда. Для этого в Excel используется не простая формула, а в том числе и условия подставлений и различные окончания.

Код
=ПОДСТАВИТЬ(ТЕКСТ(ОТБР(B11;0);"# ##0_ ") & "(" & ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);2;1)+1;ПСТР(ТЕКСТ(B11;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);1;3);"миллиард"&ВПР(ПСТР(ТЕКСТ(B11;n0);3;1)*И(ПСТР(ТЕКСТ(B11;n0);2;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);5;1)+1;ПСТР(ТЕКСТ(B11;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);4;3);"миллион"&ВПР(ПСТР(ТЕКСТ(B11;n0);6;1)*И(ПСТР(ТЕКСТ(B11;n0);5;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(B11;n0);8;1)+1;ПСТР(ТЕКСТ(B11;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);7;3);ВПР(ПСТР(ТЕКСТ(B11;n0);9;1)*И(ПСТР(ТЕКСТ(B11;n0);8;1)-1);тыс;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);11;1)+1;ПСТР(ТЕКСТ(B11;n0);12;1)+1));"z";" ")&ЕСЛИ(ОТБР(ТЕКСТ(B11;n0));"";"Ноль ")&") рубл"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(B11;n0);11;2)-11;100);9);10);{0;"ь ":1;"я ":4;"ей "};2)&ПРАВСИМВ(ТЕКСТ(B11;n0);2)&" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(B11;n0);2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2);" )";")")

Обратите внимание, B12 это в моей таблице так установлено, для своей вам необходимо изменить.

С данной формулой получится такие результаты:

1 056,13 - 1 056 (Одна тысяча пятьдесят шесть) рублей 13 копеек

Дальше уже можно и самостоятельно дописывать с НДС или без.

Профиль

Администратор
TehnopageTeam
щит админа


Администратор
Администратор
иконка админ
2022-08-27 19:45 #2
Есть еще вариант с форматом: "Пропись рублей 00 копеек"

Код
=ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);2;1)+1;ПСТР(ТЕКСТ(B11;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);1;3);"миллиард"&ВПР(ПСТР(ТЕКСТ(B11;n0);3;1)*И(ПСТР(ТЕКСТ(B11;n0);2;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);5;1)+1;ПСТР(ТЕКСТ(B11;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);4;3);"миллион"&ВПР(ПСТР(ТЕКСТ(B11;n0);6;1)*И(ПСТР(ТЕКСТ(B11;n0);5;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(B11;n0);8;1)+1;ПСТР(ТЕКСТ(B11;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);7;3);ВПР(ПСТР(ТЕКСТ(B11;n0);9;1)*И(ПСТР(ТЕКСТ(B11;n0);8;1)-1);тыс;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);11;1)+1;ПСТР(ТЕКСТ(B11;n0);12;1)+1));"z";" ")&ЕСЛИ(ОТБР(ТЕКСТ(B11;n0));"";"Ноль ")&"рубл"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(B11;n0);11;2)-11;100);9);10);{0;"ь ":1;"я ":4;"ей "};2)&ПРАВСИМВ(ТЕКСТ(B11;n0);2)&" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(B11;n0);2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2)

Результат уже будет отличаться, и получится такого вида:

1 056,13 - Одна тысяча пятьдесят шесть рублей 13 копеек

Обратите внимание, в этом случае число находится в ячейке B11. Меняйте на свою.

Профиль
Администратор
Администратор
иконка админ
2022-08-27 19:53 #3
Ну и третий вариант, который мы не используем но он у нас находится в резерве. Перевод суммы в формат "Пропись".

Код
=ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);2;1)+1;ПСТР(ТЕКСТ(B11;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);1;3);"миллиард"&ВПР(ПСТР(ТЕКСТ(B11;n0);3;1)*И(ПСТР(ТЕКСТ(B11;n0);2;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);5;1)+1;ПСТР(ТЕКСТ(B11;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);4;3);"миллион"&ВПР(ПСТР(ТЕКСТ(B11;n0);6;1)*И(ПСТР(ТЕКСТ(B11;n0);5;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(B11;n0);8;1)+1;ПСТР(ТЕКСТ(B11;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(B11;n0);7;3);ВПР(ПСТР(ТЕКСТ(B11;n0);9;1)*И(ПСТР(ТЕКСТ(B11;n0);8;1)-1);тыс;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(B11;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(B11;n0);11;1)+1;ПСТР(ТЕКСТ(B11;n0);12;1)+1));"z";" ")&ЕСЛИ(ОТБР(ТЕКСТ(B11;n0));"";"Ноль ")

В результате обработки суммы в excel с помощью данной формулы, мы получим следующий результат:

1 056 - Одна тысяча пятьдесят шесть

Профиль
  • Страница 1 из 1
  • 1
Поиск: