Hi all,
This might be as much a maths question as an excel question.
I’m trying to apportion a value between twenty different descriptors. This is linearly apportioned based on another numeric feature and will add up to the original value, example below.
However, to make things complicated, I want to ensure that none of the apportioned values fall below a minimum, whilst still making sure that all twenty will add up to the original value.
Is there anyway I can do this in formula rather than in VBA?
For example apportioning linearly below, 'D', ends up with 106k. Can I set a minimum value, of say, 150k, that would then automatically adjust all the other values to linearly apportion the remainder whilst still adding up to 10m?
[TABLE="width: 302"]
<colgroup><col><col><col></colgroup><tbody>[TR]
[TD="colspan: 2"]Total to apportion[/TD]
[TD="align: right"]10,000,000.00[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD] [/TD]
[TD]Numeric feature[/TD]
[TD]Apportioned value[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD="align: right"]0.901310638[/TD]
[TD="align: right"]805,843.83[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD="align: right"]0.803327803[/TD]
[TD="align: right"]718,239.33[/TD]
[/TR]
[TR]
[TD]C[/TD]
[TD="align: right"]0.302376282[/TD]
[TD="align: right"]270,348.59[/TD]
[/TR]
[TR]
[TD]D[/TD]
[TD="align: right"]0.118878557[/TD]
[TD="align: right"]106,286.94[/TD]
[/TR]
[TR]
[TD]E[/TD]
[TD="align: right"]0.940530667[/TD]
[TD="align: right"]840,909.67[/TD]
[/TR]
[TR]
[TD]F[/TD]
[TD="align: right"]0.241567195[/TD]
[TD="align: right"]215,980.40[/TD]
[/TR]
[TR]
[TD]G[/TD]
[TD="align: right"]0.81744142[/TD]
[TD="align: right"]730,858.04[/TD]
[/TR]
[TR]
[TD]H[/TD]
[TD="align: right"]0.521753703[/TD]
[TD="align: right"]466,489.56[/TD]
[/TR]
[TR]
[TD]I[/TD]
[TD="align: right"]0.337175248[/TD]
[TD="align: right"]301,461.65[/TD]
[/TR]
[TR]
[TD]J[/TD]
[TD="align: right"]0.612220382[/TD]
[TD="align: right"]547,374.01[/TD]
[/TR]
[TR]
[TD]K[/TD]
[TD="align: right"]0.781189611[/TD]
[TD="align: right"]698,446.02[/TD]
[/TR]
[TR]
[TD]L[/TD]
[TD="align: right"]0.772540213[/TD]
[TD="align: right"]690,712.77[/TD]
[/TR]
[TR]
[TD]M[/TD]
[TD="align: right"]0.19931728[/TD]
[TD="align: right"]178,205.60[/TD]
[/TR]
[TR]
[TD]N[/TD]
[TD="align: right"]0.844274884[/TD]
[TD="align: right"]754,849.30[/TD]
[/TR]
[TR]
[TD]O[/TD]
[TD="align: right"]0.271566755[/TD]
[TD="align: right"]242,802.41[/TD]
[/TR]
[TR]
[TD]P[/TD]
[TD="align: right"]0.556527301[/TD]
[TD="align: right"]497,579.94[/TD]
[/TR]
[TR]
[TD]Q[/TD]
[TD="align: right"]0.539259607[/TD]
[TD="align: right"]482,141.24[/TD]
[/TR]
[TR]
[TD]R[/TD]
[TD="align: right"]0.765787615[/TD]
[TD="align: right"]684,675.40[/TD]
[/TR]
[TR]
[TD]S[/TD]
[TD="align: right"]0.364686522[/TD]
[TD="align: right"]326,058.93[/TD]
[/TR]
[TR]
[TD]T[/TD]
[TD="align: right"]0.492949588[/TD]
[TD="align: right"]440,736.38[/TD]
[/TR]
[TR]
[TD]TOTAL[/TD]
[TD] [/TD]
[TD="align: right"]10,000,000.00[/TD]
[/TR]
</tbody>[/TABLE]
Thanks
This might be as much a maths question as an excel question.
I’m trying to apportion a value between twenty different descriptors. This is linearly apportioned based on another numeric feature and will add up to the original value, example below.
However, to make things complicated, I want to ensure that none of the apportioned values fall below a minimum, whilst still making sure that all twenty will add up to the original value.
Is there anyway I can do this in formula rather than in VBA?
For example apportioning linearly below, 'D', ends up with 106k. Can I set a minimum value, of say, 150k, that would then automatically adjust all the other values to linearly apportion the remainder whilst still adding up to 10m?
[TABLE="width: 302"]
<colgroup><col><col><col></colgroup><tbody>[TR]
[TD="colspan: 2"]Total to apportion[/TD]
[TD="align: right"]10,000,000.00[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD] [/TD]
[TD]Numeric feature[/TD]
[TD]Apportioned value[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD="align: right"]0.901310638[/TD]
[TD="align: right"]805,843.83[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD="align: right"]0.803327803[/TD]
[TD="align: right"]718,239.33[/TD]
[/TR]
[TR]
[TD]C[/TD]
[TD="align: right"]0.302376282[/TD]
[TD="align: right"]270,348.59[/TD]
[/TR]
[TR]
[TD]D[/TD]
[TD="align: right"]0.118878557[/TD]
[TD="align: right"]106,286.94[/TD]
[/TR]
[TR]
[TD]E[/TD]
[TD="align: right"]0.940530667[/TD]
[TD="align: right"]840,909.67[/TD]
[/TR]
[TR]
[TD]F[/TD]
[TD="align: right"]0.241567195[/TD]
[TD="align: right"]215,980.40[/TD]
[/TR]
[TR]
[TD]G[/TD]
[TD="align: right"]0.81744142[/TD]
[TD="align: right"]730,858.04[/TD]
[/TR]
[TR]
[TD]H[/TD]
[TD="align: right"]0.521753703[/TD]
[TD="align: right"]466,489.56[/TD]
[/TR]
[TR]
[TD]I[/TD]
[TD="align: right"]0.337175248[/TD]
[TD="align: right"]301,461.65[/TD]
[/TR]
[TR]
[TD]J[/TD]
[TD="align: right"]0.612220382[/TD]
[TD="align: right"]547,374.01[/TD]
[/TR]
[TR]
[TD]K[/TD]
[TD="align: right"]0.781189611[/TD]
[TD="align: right"]698,446.02[/TD]
[/TR]
[TR]
[TD]L[/TD]
[TD="align: right"]0.772540213[/TD]
[TD="align: right"]690,712.77[/TD]
[/TR]
[TR]
[TD]M[/TD]
[TD="align: right"]0.19931728[/TD]
[TD="align: right"]178,205.60[/TD]
[/TR]
[TR]
[TD]N[/TD]
[TD="align: right"]0.844274884[/TD]
[TD="align: right"]754,849.30[/TD]
[/TR]
[TR]
[TD]O[/TD]
[TD="align: right"]0.271566755[/TD]
[TD="align: right"]242,802.41[/TD]
[/TR]
[TR]
[TD]P[/TD]
[TD="align: right"]0.556527301[/TD]
[TD="align: right"]497,579.94[/TD]
[/TR]
[TR]
[TD]Q[/TD]
[TD="align: right"]0.539259607[/TD]
[TD="align: right"]482,141.24[/TD]
[/TR]
[TR]
[TD]R[/TD]
[TD="align: right"]0.765787615[/TD]
[TD="align: right"]684,675.40[/TD]
[/TR]
[TR]
[TD]S[/TD]
[TD="align: right"]0.364686522[/TD]
[TD="align: right"]326,058.93[/TD]
[/TR]
[TR]
[TD]T[/TD]
[TD="align: right"]0.492949588[/TD]
[TD="align: right"]440,736.38[/TD]
[/TR]
[TR]
[TD]TOTAL[/TD]
[TD] [/TD]
[TD="align: right"]10,000,000.00[/TD]
[/TR]
</tbody>[/TABLE]
Thanks