Подумав немного, я придумал то же решение, что и IQV, но немного расширил его. Может быть, так легче понять. Мне было любопытно по поводу расщепления.
Это более подробный подход к тому же расчету.
Формула для B3
, B4
и B5
будет иметь вид:
=IF($B$1<=100; $B$1; 100)
=IF($B$1<=200; IF($B1-100 > 0; $B$1-100; 0); 100)
=IF($B$1<=300; IF($B$1-200 > 0; $B$1-200; 0); 100)
Формула для суммы будет простым умножением (=B3*C3+B4*C4+B5*C5
).
Вложив эти операторы IF
вы избавите себя от необходимости проверять всякий раз, когда одна из сумм будет равна нулю. Очевидным недостатком будет отсутствие определения того, что произойдет, если вы превысите 300 единиц. Таким образом, с обоими подходами вы в конечном итоге отдадите эти единицы бесплатно. Преимущество этого более подробного подхода заключается в том, что он становится легко очевидным, поскольку сумма единиц не будет превышать 300 единиц.
Чтобы изменить это поведение, вам просто нужно изменить формулу B5
чтобы не иметь условия. В моем примере вам нужно изменить его на IF($B$1-200 > 0; $B$1-200; 0)