Как распределить сумму пропорционально стоимости в excel
добрый день, идет товар, всего 40 позиций, 15 позиций, идут в подарочной коробке, которая стоит 3000 рублей, нужно эти 3000 рублей прибавить к стоимости каждой из этих 15 позиций пропорционально их стоимости, во вложенном файле — пример, жёлтым выделена цель
Прикрепленные файлы
- для форума распределение суммы.xlsx (10.88 КБ)
Пользователь
Сообщений: 11 Регистрация: 07.02.2013
07.02.2013 17:08:18
Прикрепленные файлы
- для форума распределение суммы.xlsx (11.89 КБ)
Пользователь
Сообщений: 325 Регистрация: 29.12.2012
07.02.2013 17:13:27
Возможно, что так. Но не уверен, что все правильно понял
Прикрепленные файлы
- для форума распределение суммы.xlsx (11.92 КБ)
Пользователь
Сообщений: 22 Регистрация: 01.01.1970
08.02.2013 09:14:53
Ainhoa, Алексей К я посмотрела ваши файлы, они абсолютно разные, нужно распределить 3000 рублей по 15-ти позициям, что бы соотношения распределенной суммы было таким же как соотношения изначальных данных
Пользователь
Сообщений: 903 Регистрация: 01.01.1970
08.02.2013 09:21:39
Эти 15 позиций присутствуют в упаковке каждая в единственном экземпляре?
Пользователь
Сообщений: 6111 Регистрация: 21.12.2012
Win 10, MSO 2013 SP1
08.02.2013 09:31:42
| Цитата |
|---|
| sss858 пишет: что бы соотношения распределенной суммы было таким же как соотношения изначальных данных |
Думаем чуточку дольше, поясняем чуточку подробнее и понятнее. Например, что это, откуда и зачем — «13852». Соотношение какое, чего к чему. И пр. пр. Нарисуйте в файле ваше понимание хотя бы по 1 товару из комплекта, и НЕ из комплекта.
«Ctrl+S» — достойное завершение ваших гениальных мыслей. 😉
Пользователь
Сообщений: 903 Регистрация: 01.01.1970
08.02.2013 09:34:43
Если в комплекте по 1 позиции каждого наименования и комплекты не пересекаются
Прикрепленные файлы
- распределение суммы.xlsx (15.52 КБ)
Пользователь
Сообщений: 325 Регистрация: 29.12.2012
08.02.2013 09:47:32
| Цитата |
|---|
| sss858 пишет: что бы соотношения распределенной суммы было таким же как соотношения изначальных данных |
В моем варианте: у Вас есть позиции, выделенные желтым цветом. По ним есть количество и цена, соответственно есть общая стоимость набора (Сумма всех кол-во*цена). Доля стоимости (%) одного наименования от общей стоимости набора и цены упаковки в 3000 распределяется на каждую позицию. Как должно быть иначе?
Как распределить сумму пропорционально стоимости в excel
(3)Формулой это типа:
Ч1 = 150
Ч2 = 100
Ч3 = 50
Сумма = Ч2 / (Ч1 + Ч3)
Ч1 = Ч1 + Ч1 * Сумма
Ч3 = Ч3 + Ч3 * Сумма
Все понятно, всем спасибо.
(8) Чтобы не путаться в понятиях:
Коэффициент = Ч2 / (Ч1 + Ч3)
Ч1 = Ч1 + Ч1 * Коэффициент
Ч3 = Ч3 + Ч3 * Коэффициент
(8) А зачем так:
Ч1 = Ч1 + Ч1 * Коэффициент ?
Функция РассчитатьДельту(СуммаВходящая,ВсегоСуммаВходящая,СуммаРаспределения)
ПроцентОтОбщей=СуммаВходящая /(ВсегоСуммаВходящая/100);
Дельта=Окр(СуммаРаспределения/100*ПроцентОтОбщей,2,РежимОкругления.Окр15как20);
Возврат Дельта;
КонецФункции
+ потом если последняя сумма надо не функцию вызывать а тупо прибавлять оставшийся хвост. а то копейки остаются
мдэ. а что, в Советское время тоже образование хромало?
(12) хвост в виде лишней копейки, если коэффициент вида 0,3333333333333, лучше не к последней сумме прибавлять, а к максимальной. Аккуратнее получается. 🙂
(0) «программист»-гуманитарий?
(0) это шутка ?
(14)Можно и так 🙂
есть 2 (два) осажденных города.
в одном 150 защитников. в другом 50 защитников.
им на подмогу идет обоз с мукой.
везут 100 кг.
Задача: сколько муки нужно завезти в каждый город через подземный ход чтобы всем защитникам досталось поровну?
Решение:
Складываем всех защитников города, делим всю муку на кол-во всех защитников, находим сколько муки приходится на 1 защитника по норме.
Умножаем норму на кол-во защитников в каждом городе.
разделяем всю муку на 2 части ПРОПОРЦИОНАЛЬНО полученной норме для каждого города.
(14) В социальном государстве лучше прибавлять к минимальной сумме.
а теперь в запросе и так, чтобы копейки не терялись :)))
лично у меня — УГ получилось 🙂
(20)
declare t table (id int, b decimal)
declare @sum as decimal
insert t values (1, 100), (2, 50)
select
cast(@sum / (SUM(b) OVER()) * b as decimal(15,2)) AS t
from
t
Усложним задачу:
Есть главный документ.
Сумма документа = 150
Нал = 50
БезНал = 100
Он делится на 2 документа.
Первый Документ
Сумма = 80
Нал = ?
БезНал = ?
Второй Документ
Сумма = 70
Нал = ?
БезНал = ?
Вот как тут рассчитать оплату из главного документа ?
(22) распредели сумму в 100 пропорционально между 3 одинаковимы значениями, чтобы копейки не потерялись
*одинаковыми
типа
100 + 100 + 100 + 100 => 133,34 + 133,33 + 133,33
(14) В исходной задаче две суммы. В случае, если у одной суммы будет 0,3333333333333 — значит у другой 0,6666666666666. В общем, при округлении все будет хорошо. Вот если было три суммы (и более). Возникла бы ситуёвина, когда одному 0,3333333333333, другому 0,3333333333333 и третьему столько же. В результате копеечки могут и не бить.
(27) решение таки должно быть универсальным
(0) размазывать нужно как в (6) но с одной оговоркой
отсортировать суммы по убыванию и последней сумме добавить остаток
Суть этого гемора такова:
Определенный товар продается на ИП, остальной на ООО (одна касса работает с двумя фискальниками), до того пока не подключили банк все было нормально, вчера подключили.
т.е.
Один Чек ККМ делится на два в зависимости от товара.
Для Каждого Строка Из ТЗ Цикл
Результат = НужныйРезультат * Строка.Основание / База + Отклонение;
Отклонение = (Результат — Окр(Результат, 2));
Строка.Результат = Окр(Результат, 2);
КонецЦикла;
Это 1с розница, программно деление чека выглядит так:
Если Константы.ДваФР.Получить() Тогда
Запрос = Новый Запрос(»
|ВЫБРАТЬ * ПОМЕСТИТЬ ТабТов ИЗ &ТабТов КАК ТТ;
|ВЫБРАТЬ *
|ИЗ
| ТабТов КАК Товары
|ГДЕ
| Товары.Номенклатура.ТоварОрганизации = &Организация»);
Запрос.УстановитьПараметр(«ТабТов», Товары.Выгрузить());
ВремКассаККМ = КассаККМ;
Оплаты = Оплата.Выгрузить();
Организации = Справочники.Организации.Выбрать();
Пока Организации.Следующий() Цикл
Если Организации.Ссылка = Магазин.ОсновнойСклад.Организация Тогда;
Организация = Справочники.Организации.ПустаяСсылка();
Иначе
Организация = Организации.Ссылка;
КонецЕсли;
Запрос.УстановитьПараметр(«Организация», Организация);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
ЭтотОбъект.Товары.Загрузить(Результат.Выгрузить());
ФР = ПолучитьСерверТО().ПолучитьИдентификаторПоИдКассы(Организация);
Если ЗначениеЗаполнено(Организация) И Не ПустаяСтрока(ФР) Тогда
КассаККМ = ПолучитьСерверТО().ПолучитьКассуККМ(ФР);
Иначе
КассаККМ = ВремКассаККМ;
КонецЕсли;
ИтогСуммы = Товары.Итог(«Сумма»);
ИтогОплат = Оплаты.Итог(«Сумма»);
Если ИтогСуммы <> ИтогОплат Тогда
ЭтотОбъект.Оплата.Загрузить(Оплаты);
Для Каждого ФормаОплат Из Оплата Цикл
КонецЦикла;
КонецЕсли;
ЗавершитьЗакрытиеЧека2(Печать, РучнойРежим, ВыбратьДокументПечати, ФР);
КонецЕсли;
КонецЦикла;
Иначе
ЗавершитьЗакрытиеЧека2(Печать, РучнойРежим, ВыбратьДокументПечати);
КонецЕсли;
(32) запросом же
(34)Если использовать временные таблицы, то можно распределить результат, а остаток оставить на максимальной/минимальной строке
Получилось как то так:
.
Для Каждого ФормаОплат Из Оплата Цикл
Если ПервыйПроход Тогда
СуммаОплаты = ИтогСуммы * Окр(ФормаОплат.Сумма / ИтогОплат, 2);
СписокОплат.Добавить(ФормаОплат.Сумма — СуммаОплаты);
ФормаОплат.Сумма = СуммаОплаты;
Иначе
ФормаОплат.Сумма = СписокОплат.Получить(ФормаОплат.НомерСтроки — 1).Значение;
КонецЕсли;
КонецЦикла;
ПервыйПроход = 0;
.
(36) В УТ или УПП глянь документ доп. расходы. Там есть алгоритм распределения суммы по кол-ву или объему
Распределение накладных расходов пропорционально весу и объему
Накладные расходы могут быть распределены по затратам на товары, работы или услуги, которые приобретены или проданы. Русская локализация включает два дополнительных метода для распределения накладных расходов:
- В соответствии с весом брутто — расходы распределяются поровну в соответствии с весом брутто полученных номенклатур. Эта сумма равна количеству в складской проводке, умноженному на поле Вес брутто из карточки складируемой номенклатуры.
- В соответствии с объемом — расходы распределяются поровну в соответствии с объемом полученных номенклатур. Эта сумма равна количеству в складской проводке, умноженному на поле Объем из карточки складируемой номенклатуры.
Распределение накладных расходов по весу или объему товаров
- Выберите Расчеты с поставщиками > Заказы на покупку > Все заказы на покупку или Расчеты с клиентами > Заказы >Все заказы на продажу.
- Создать новый заказ.
- В поле Распределение накладных расходов выберите один из новых методов распределения:
- Вес брутто: распределение расходов в соответствии с весом брутто.
- Объем: распределение расходов в соответствии с объемом.
- Укажите другие сведения и разнесите заказ на продажу как обычно.
Распределять расходы в соответствии с весом и объемом товаров при создании счета-фактуры
- Выберите Расчеты с поставщиками > Заказы на покупку > Все заказы на покупку или Расчеты с клиентами > Заказы >Все заказы на продажу.
- Создайте новый заказ, а затем выберите обновить счет-фактуру.
- На странице обновить счет-фактуру можно управлять накладными расходами одним из двух способов:
- в области действий выберите вкладку Финансы> Ведение накладных расходов > Ведение накладных расходов. Накладные расходы, созданные таким образом, распределяются между всеми строками заказа в соответствии с методом распределения.
- На экспресс-вкладке Строки выберите строку, в которой будут распределяться накладные расходы, а затем выберите финансы > Ведение накладных расходов чтобы поддерживать накладные расходы в строке.
- в области действий выберите вкладку Финансы> Ведение накладных расходов > Распределить накладные расходы чтобы распределить накладные расходы.
- На странице Распределить накладные расходы в поле Распределение накладных расходов выберите один из новых методов распределения: вес брутто или объем.

- Укажите другие сведения и разнесите счет-фактуру как обычно.
Распределение суммы на промежутки в Excel
Дело в том что если не сделать формулу и в диапазонах оставлять значения контрольных точек, то стоимость услуг будет не логичной и с большим разбросом. Например: — при 499 операциях = 499*105 = 52395 рублей (вроде все нормально); — при 500 операциях = 500*105 = 52500 рублей (вроде пока тоже нормально); — при 501 операции = 501*90= 45090 рублей (почти на 7000 рублей дешевле, хотя работы на одну операцию больше).
Помогите пожалуйста, т.к. если забивать в ручную получиться очень громоздкая таблица, которую будет тяжело подцепить в калькулятор, который планируем сделать на сайте. Спасибо.
