Marginal percentage within a slab

Recently I was asked to make an incentive plan with following slabs. One who achieves his target within the slab will get corresponding percentage of his bonus.


Therefore someone who achieves his target with say 45% will get 25% of his bonus amount. Target achievement of above 100% will also get bonus as per highest slab. This task was fairly easy with nested if and easier with vlookup function.

However later it was discussed that it would be unfair to give same percentage of bonus to someone who achieve 45% and other 25% of his target. So it was decided that the percentage will be on pro-rata basis within that slab. Further anyone who achieves his target by more than 100% will get incremental 120% of his bonus for every one percent of target above 100%.

This task also would have been easier had the marginal increase was same but it was not. As you can see in the table below that marginal increase is different for different slabs.


The equation of a straight line y=mx+c and mighty vlookup function comes to our rescue here. I came up with following solution.


Helper column is same as lower limit of target. And yes one has to achieve 125% of his target to get 100% bonus amount in this case. You can update the table as per your need like not giving any bonus for 0-25% target or different slabs etc. Following is the link to file for your perusal…


TEXT function heads up!

I was going through a file that used TEXT formula to calculate the difference between dates. It was a file from human resource department file which calculated the age of the employees using TEXT formula. Initially it looked very easy and useful. I have been using DATEDIF function all this years and in front of TEXT it looked so cumbersome. Then I compared the results from the two functions. To my surprise the results were different.


The results from TEXT formula were higher by one month or more. It appears that TEXT formula while it take care of years but for months it complete the full cycle of 12 months ignoring dates. Although on lighter side someone who is 30 year old would not mind a month or two added to his age but an infant like my daughter certainly would.