Страницы: 1
RSS
Разнести сумму пропорционально весу
 
Всем привет. Помогите пожалуйста с такой задачкой. Есть товар. кол-во штук. вес нетто/брутто. есть общая его стоимость. Как разнести стоимость за единицу товара пропорционально его весу, так чтоб в конце концов выйти на его общую стоимость. Точность цены за ед. тов не важна, +- погрешность допустима, но главное чтоб выйти на общую стоимость при суммировании. Прикрепляю пример там постараюсь расписать так чтоб было понятно. Заранее спасибо
 
См. сиреневые ячейки.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Огромное Вам спасибо за помощь, но это немного не то. так как после запятой должно быть 2 знака. Цена 24 цента, а вот 24,9 цента так не бывает) Чтоб получить сумму где после запятой 2 знака, не обязательна точная привязка к весу, но то что тяжелее должно по этой логике стоить дороже.  
Изменено: k-ssdd - 18.12.2015 18:38:16
 
См.
 
k-ssdd, заключите формулу в ОКРУГЛ(). Показал принцип, а не готовое решение. ;)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вот к примеру если бы первый товар стоил 0,22, а второй 0,49 мы бы получили нужные мне 193,5.
100*0,22=22,00
350*0,49=171,50
=193,50
Вот так мне надо чтоб excel сам думал.  
 
k-ssdd, эксель не умеет думать. Думает человек, а эксель исполняет заложенную в него логику. :)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Ну да. Но в моём случае логика, хоть и кривая, но есть, а вот с думанием как то тяжеловато)
 
Всем спасибо. поковыряюсь дальше
 
Не. Округление не подходит так как оно просто скрывает числа. А в моём случае нужен подгон числа.
 
Тестируйте (для G4):
=ОКРУГЛВВЕРХ(($I$3-СУММЕСЛИ($E$4:$E$5;">"&$E4;$H$4:$H$5))/(СУММ($E$4:$E$5)-СУММЕСЛИ($E$4:$E$5;">"&$E4))*$E4/$C4;2)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
k-ssdd!
У Вас весьма странный алгоритм распределения с помощью удельных весов.  :)
В 1 своем файле я применила распределение через Вес Брутто.
Во 2 файле - через Количество.
Никакого "геморроя" с округлением нет и не может быть.
Просто выбираете вариант - через "что" Вам выгоднее распределять.
Изменено: Мотя - 18.12.2015 21:24:59
 
Что 1 вариант что 2 мне не подходят.
1. Вариант у Вас такие суммы:
25,91 и 168,59, если я их делю на штуки то получаю это:
25,91 / 100=0,249134184292421
168,59 / 350=0,481675947345023
Это не допустимо так как могу брать только десятичные, 2 знака после запятой. т.к это деньги

2. Вариант  у Вас такие суммы:
43,00 и 150,50 , если я их делю на штуки то получаю это:
0,43 цента стоит одна штука.  0,25 л и 0,5 л . это разный объем и вес, а цена у них одинаковая.

Суть в том чтоб та позиция которая весит меньше имела и меньшую цену, а та у которой вес больше была бы дороже. При этом после 0, было не больше 2 знаков и при сумировании этих позиций выходило ровно на нужную сумму, где после запятой тоже не больше 2-ух знаков.
Идеальный вариант если бы первый товар стоил 0,22, а второй 0,49 мы бы получили нужные мне 193,5.
100*0,22=22,00
350*0,49=171,50
=193,50

Склоняюсь наверное, что необходимо создавать формулу, как подсказал JayBhagavan, с функцией ОКРУГЛВВЕРХ + ОКРУГЛВНИЗ при значениях <>.
Ну или не знаю. такая вот зараза. Не получается что то
 
Ваша цель: предъявить полученные распределения, как счета к оплате?
Или получить красивую визуальную картинку для отчета: сумма распределений "сходится" с исходной суммой?
 
давайте назовем это как счета к оплате
 
Доброе время суток
Цитата
k-ssdd написал:
Это не допустимо так как могу брать только десятичные, 2 знака после запятой. т.к это деньги
С таким подходом перейдите в центы и вообще в целые числа. И получите подход для формально строгого решения линейного диофантового уравнения в целых числах.  Результат поправки в цены от разбрасываемой суммы в том числе и отрицательные. Только вот решать сложно.  :D . Посмотрите примеры в поиске для фиофантового уравнения двух переменных. Ну, или поиск решения в целых числах.

Успехов.
 
Ого. Вот это поворот. 90% из того что Вы сказали я даже не понял)
 
Доброе время суток
Для примера для тормозных жидкостей будет уравнение вида
100 * X + 350 * Y = 19350
И решаем в диофантово уравнение. Если решение есть, то выбираем из множества решений такие, что X> 0 и Y > 0. Как раз цены в центах, удовлетворяющие условию. Это же можно сделать и поиском решения Excel с указанием целочисленного решения.
 
Спасибо Вам. Ща буду, что то пробывать сделать
Изменено: k-ssdd - 21.12.2015 11:41:43
 
Для контроля пары решений указанного уравнения в рамках ограничений
{1, 55} {8, 53} {15, 51} {22, 49} {29, 47} {36, 45} {43, 43} {50, 41} {57, 39} {64, 37} {71, 35} {78, 33} {85, 31} {92, 29} {99, 27} {106, 25} {113, 23} {120, 21} {127, 19} {134, 17} {141, 15} {148, 13} {155, 11} {162, 9} {169, 7} {176, 5} {183, 3} {190, 1}

Успехов.
Страницы: 1
Читают тему
Наверх