Страницы: 1
RSS
Распределение значения по другим ячейкам
 
Добрый день! Подскажите можно ли сделать так, чтобы излишнее значение распределялось по другим ячейкам.
В ячейках "J2" по "N2" стоят значения, допустимое max это "1", если в одной ячейке значение 1,01 то в этой ячейке необходимо оставить 1 а 0,01 прибавить к другой, в которой значение меньше 1
 
Попробуйте использовать такую рекурсивную формулу (ВАЖНО: записывайте формулу в других ячейках!):
Код
=ЕСЛИ(((I2>1)*(I2-1)+J2)>1;1;(I2>1)*(I2-1)+J2)
Если же Вы просите редактировать значения в тех же самых ячейках, то поможет Вам только искренняя молитва и помощь Святого VBA.

Кстати, обратите внимание на то, что реализовано лишь одно из возможных решений (прибавлять излишки можно к разным ячейкам). Более того: в формуле отсутствует проверка переполнения данных в последней ячейке.
 
IKor, оно?
=МИН((I2>1)*(I2-1)+J2;1)
А лучше:
=МИН(ЕСЛИ(I2>1;I2-1)+J2;1)
 
Код
=ЕСЛИ(СУММ(ОКРУГЛ(A$3:A$12*$F$2/$B$2;3))<$F$2;  ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)+ЕСЛИ(ЕСЛИ(A$3:A$12*$F$2/$B$2>ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);A$3:A$12*$F$2/$B$2-ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)>=НАИБОЛЬШИЙ(ЕСЛИ(A$3:A$12*$F$2/$B$2>ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);A$3:A$12*$F$2/$B$2-ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);($F$2-СУММ(ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)))*1000);0.001;); ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)-ЕСЛИ(ЕСЛИ(A$3:A$12*$F$2/$B$2<ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);-A$3:A$12*$F$2/$B$2+ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)<=НАИМЕНЬШИЙ(ЕСЛИ(A$3:A$12*$F$2/$B$2<ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);-A$3:A$12*$F$2/$B$2+ОКРУГЛ(A$3:A$12*$F$2/$B$2;3);(-$F$2+ СУММ(ОКРУГЛ(A$3:A$12*$F$2/$B$2;3)))*1000);0.001;))
чуть довести до ума и будет работать (тут пример для 10 первых значений)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх