Страницы: 1
RSS
Автоматически раскидать число из строки по столбцам, но в пределах своего значения
 
Есть столбцы, в заголовке которых указана некоторая сумма (число), и есть строки в которых тоже указано некоторое число. Необходима формула чтобы число из строки автоматически раскидывалость по столбцам, но в пределах своего значения. Кроме этого сумма чисел по строкам не должна превышать число столбца. В примере числа по столбцам в 1 строчке, а по строкам столбец "С". Жёлтым поле, в котором и должно происходить распределение. Распределение должно быть целыми числами без округления. И с точностью до 1.
 
Непонятен принцип распределения цифр по строкам.
Изменено: DemonAMT - 27.02.2020 18:34:24
 
Вот смотрите, в примере: по Иванову стоит число 300, вот его и надо распределить по столбцам. Т.е. в первый столбец можно внести только 50, т.к. там только такая сумма, остаток 250 (300-50=250) переносим дальше, т.е. во второй столбец мы можем поставить 130, т.к. эта максимальная сумма по столбцу, остаток 120 (250-130=120) переносим дальше в третьем столбце сумма 250 больше остатка, то весь остаток вписываем в этот столбец. Все, по Иванову распределили. Дальше Петров: т.к. в первые 2 столбца внесены числа по Иванову и больше нельзя, то находим столбец куда можно внести, а это 3 столбец, но в нем остаток 130 (т.е. 250-120 Иванов). Но этот остаток меньше чем сумма по Петрову, поэтому в строке Петров третьего столбца ставим только 130, а остаток 114 (244-130) переносим в столбец 4. И.т.д. сумма по фамилиям и сумма столбцов одинаковы. Я пробовал делать долями, но там погрешность при округлении, а мне необходимо распределение целыми числами.
 
Как вариант, сделал макросом
Единственное нужно будет адаптировать под вашу форму.
А именно указать номер строки и номер колонки, от этой ячейки будет делаться распределение.
В коде добавил комментарий к этим строкам
 
Спасибо, в понедельник попробую и отпишусь!
 
Для чисел в примере работает:
Код
=МИН(D$1*2-СУММ(D$1:D1);$C2*2-СУММ($C2:C2))
 
Светлый, я обязательно и Ваш способ опробую и отпишусь. Спасибо за помощь!
 
Доброе время суток. Появилось время проверить раньше.
lextoys - Ваш макрос работает! но проблема макросов в том что они тяжеловаты в обработке, без определенного уровня знаний. А именно моих знаний пока не хватает чтобы перетащить его в другую книгу эксель для использования в других случаях. Хотя может я плохо старался, т.к. раньше получалось записать макрос и использовать везде где можно. Но если брать за основу этот лист и добавлять другие данные в него и корректировать алгоритм макроса, как Вы написали, то этот вариант ХОРОШ.
Светлый предложил использовать формулу, которая работает. А с формулами работать легче. И как говорится любой пользователь мало мальски знающий эксель на норм уровне сможет взять формулу и перебить в ней диапазоны и работать.
В любом случае всем вам большое, ОГРОМНОЕ спасибо за то что откликнулись помогли. Я вам очень благодарен!!!!!!!  
Страницы: 1
Наверх