art_TD, приветствую.
Формула в целом логичная.
Я бы вот так переписал (убрал мешающие ограничения в строках типа $B$9999, разбил на строки Alt-Enter и работаю на копии листа ВЕС):
Код |
---|
=ОКРУГЛ(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) / СЧЁТЕСЛИ($B:$B;$B2) + ЕСЛИ(СЧЁТЕСЛИ($B$1:$B2;$B2)=1;
ВПР($B2;ВЕС_Тест!$A:$F;6;0) - СЧЁТЕСЛИ($B:$B;$B2) * ОКРУГЛ(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) / СЧЁТЕСЛИ($B:$B;$B2); 2); 0); 2)
|
И у меня такой вопрос возник.
На остатках в 1 коп. формула работает хорошо (10/3): 10-3*3,33 = 0,01. Результат: 3.34, 3.33, 3.33.
А если будет такой вариант?
9/8 = 1,125 ≈ 1,13
9-8*1,13 = -0,04.
Результат: 1,09 + 7 раз по 1,13.
Или даже так:
270/240 = 1,125 ≈ 1,13
270-240*1,13 = -1,2.
Первый результат будет отрицательным?
Если такие варианты возможны в вашей задаче, давайте попробуем по-другому распределять копейки.
UPD. Тогда вот так можно:
Код |
---|
=ОКРУГЛ(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) / СЧЁТЕСЛИ($B:$B;$B2) + ЕСЛИ(СЧЁТЕСЛИ($B$1:$B2;$B2) <= ОКРУГЛ(ABS(100*(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) - СЧЁТЕСЛИ($B:$B;$B2) * ОКРУГЛ(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) / СЧЁТЕСЛИ($B:$B;$B2); 2))); 0); ЗНАК(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) - СЧЁТЕСЛИ($B:$B;$B2) * ОКРУГЛ(
ВПР($B2;ВЕС_Тест!$A:$F;6;0) / СЧЁТЕСЛИ($B:$B;$B2); 2)) / 100; 0); 2) |