Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 20.07.2017, 13:28   #1
victort
 
Регистрация: 25.09.2009
Сообщений: 6
Репутация: 10
По умолчанию Как разбить число на составляющие?

Здравствуйте, подскажите пожалуйста как проще разбить число на составляющее. Допустим такое 1788 его надо разбить на такие составляющие 1 тысяча 1 пятисотка 2 сотки 1 пятидесятчик 3 десятчика 1 пятерка 1 двушка 1 рубль. Хочу сделать табличку которая бы мне помогла быстро сосчитать сколько мне надо и какого наминала денежные купюры для выдачи зарплаты людям. Ато обычно бухгалтерия выдает мне сумму на сотрудников крупными купюрами. Впринципе в голове я быстро раскладываю деньги на мелочовку - решил сделать в электроном виде. Попробовал через условия получается много условий "если" использую да еще и "или" надо использовать.
victort вне форума   Ответить с цитированием
Старый 20.07.2017, 13:54   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,917
Репутация: 2242
По умолчанию

n div 1000; тысяч
(n mod 1000) div 500; пятисоток
(n mod 500) div 100; сотен
(n mod 100) div 50; пятидесяток
(n mod 50) div 10; десяток
(n mod 10) div 5; пятерок
(n mod 5) div 2; двушек
(n mod 2) div 1; рублей

div --деление нацело (с остатком) =ЧАСТНОЕ(N; 1000)
mod --остаток от деления =ОСТАТ(N; 1000)
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 20.07.2017, 14:02   #3
victort
 
Регистрация: 25.09.2009
Сообщений: 6
Репутация: 10
По умолчанию

спасибо evg_m за подсказку только я так получу сколько мне надо скажем 500 чтоб получить мою сумму т. е. 3 пятисотки а мне надо получить ответ что мне надо 1 тысячную и 1 пятисотку. Или же я не правильно понял как применить эту формулу. Можно конечно на основе этой формулы сделать вычитание и его разбивать на составляющие пока не дойдешь до рубля.
victort вне форума   Ответить с цитированием
Старый 20.07.2017, 14:06   #4
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,917
Репутация: 2242
По умолчанию

Код:
=ЧАСТНОЕ(n; 1000) -выдать тысяч
=ОСТАТ(n, 1000) что нам осталось выдать

=ЧАСТНОЕ( ОСТАТ(n; 1000); 500) выдать пятисоток ПОСЛЕ выдачи тысяч
сотни после пятисоток
пятидесятки после сотен
...
двушки после пятерок
рубли после двушек
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.07.2017 в 14:14.
evg_m вне форума   Ответить с цитированием
Старый 20.07.2017, 14:08   #5
victort
 
Регистрация: 25.09.2009
Сообщений: 6
Репутация: 10
По умолчанию

и еще для точности надо тогда в формуле применить округление вниз
victort вне форума   Ответить с цитированием
Старый 20.07.2017, 14:16   #6
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 9,174
Репутация: 1811

icq: 7934250
skype: i2x0,5
По умолчанию

Код:
=ЦЕЛОЕ(($A$1-СУММПРОИЗВ($B$1:B1;$C$1:C1))/B2)
см.вложение
Вложения
Тип файла: xlsx СуммНаКупюры.xlsx (9.1 Кб, 13 просмотров)
__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума   Ответить с цитированием
Старый 20.07.2017, 14:17   #7
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,917
Репутация: 2242
По умолчанию

ЧАСТНОЕ уже есть округление вниз!
также как ОСТАТ есть вычитание
Цитата:
Можно конечно на основе этой формулы сделать вычитание
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 20.07.2017, 14:19   #8
victort
 
Регистрация: 25.09.2009
Сообщений: 6
Репутация: 10
По умолчанию

Огромное спасибо
victort вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить число на составляющие polpot Microsoft Office Access 2 21.01.2011 12:27
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 19:26
как разбить n-значное число на составляющие его цифры? _Toretto_ Общие вопросы C/C++ 4 04.12.2009 20:33
С++ : Как разбить целое число на составляющие? Maruff Помощь студентам 6 17.06.2009 16:00
Как разбить число на массив? recond Общие вопросы C/C++ 15 03.02.2009 01:36


13:28.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.