Find maximum whole number divisor of an amount - excel

Here is the spreadsheet download to work from. I'm running on Office 365.
I am trying to get the "Rate" and the "Days Billed" for each record. The amount is a function of Rate x Days Billed. The number of Days Billed max out with the total number of days in each month (i.e. November is 30 days max); these are also whole numbers.
I wrote this formula in E2:
=IFERROR(SMALL(IF(MOD($A2,ROW(INDIRECT("1:"&DAY(EOMONTH($B2,0)))))=0,ROW(INDIRECT("1:"&DAY(EOMONTH($B2,0))))),COLUMNS($E2:E2)),"")
In C2:
=MAX($E2:$R2)
In D2:
=A2/C2
When I drag across it spits out all the whole number divisors (Days Billed) that result in the Amount/Days Billed to also be a whole number. It is only getting me results for whole number Days Billed which also result in whole number Rates when dividing with the Amount. I want to include Rates that go to the hundredths place as well, not just whole numbers. (Rates often go to hundredths place)
For example, if the Amount is $4,832.40 in November the Rate should be $161.08 and the Days Billed should be 30 because 30 days is the max divisor of days and 161.08 is also divisible to the hundredths place.
Each amount basically has a whole number day multiplied by a rate that can be whole number or up to the hundredths place of denomination.
I may be overthinking this, but does anyone have any ideas of how to tweak my formula to achieve what I'm after? or even a better solution? It'd be ideal if I didn't have to have those helper columns either and it was encased in a single cell formula.
Thanks a ton,
spacej3di

Use LARGE instead of SMALL and multiply A1 by 100 and return the max:
=IFERROR(LARGE(IF(MOD($A2*100,ROW(INDIRECT("1:"&DAY(EOMONTH($B2,0)))))=0,ROW(INDIRECT("1:"&DAY(EOMONTH($B2,0))))),1),"")

Related

How to create exponential growth in excel over a year

So I am trying to build an excel model where every month the numbers will increase exponentially to a point at the end of the year which is driven by annual expectations. Currently I have it divided by 12 and each year there are huge jumps over the previous making the chart/growth very jumpy. For illustration purposes, lets say for 2020 the desired number for the year is 12. In the current state, I would get 1 per month (12/12), however, what I want is for it to be growing gradually/exponentially, so for example 0.2, 0.5, 0.9 etc with December being the largest, and the sum for the entire year equaling 12. Then the next year (2021), starting in January, it would take into account the December 2020 number and grow from there again to the desired number (lets say total 24 for 2021) and so on. I'd love for it to have a more exponential / hockey stick-like growth.
What would be a good way to do this?
The function RRI can be used to find an interest rate which will give you a given target value. This can be used to find terms in a geometric series which have a given sum (which is what you seem to be asking for).
For example, say you want 12 exponentially increasing numbers which, when added to 100, gets you to 2000. Starting with 100, repeatedly multiply by (1 + RRI(12,100,2000)). To get the numbers that you want (which will be 12 numbers which sum to 1900) just calculate the difference each month:
I think the simplest way to solve this is by using Goal Seek. First you need to build a sheet like this:
You choose the starting value in January (B1) and every month is a constant growth rate (D1) bigger than the previous month. You also calculate the total sum at the bottom in B13.
Now you use goal seek to find the growth rate which makes the sum equal to 12:
The answer I get for a starting value of 0.1 is a growth rate of 1.376:

Formula to Adjust for Rounding Issues

I am trying to create a formula in Excel that solves for the base number of units needed on a monthly interval with an annual growth escalator that matches in whole units the total I'm starting with. I can't from a practical standpoint have fractions.
This is an example of the formula x is number of monthly units, y is the total number of units and the desired annual growth rate is 20%. Here is the algebra butin practice only one variable will need to be solved for (x): y= 12x + (1.2x)*12+(1.2^2)*x*12+(1.2^3)*x*12. I get close using the round function but always end up a few short of the total desired due. Is there a way to add on the difference at the end formulaically?
ROUND(20000/(12+(12*(1+20%))+12*(1+20%)^2+12*(1+20%)^3),0)
I'm extremely close but I need to make sure the total by month matches the total desired.

Subtracting viralnes

i have a yearly unit that i divide by a percentage to give me the monthly equivalent. I have a growth formula that increases the monthly unit to a yearly one month by month, how can i create a formula that give me the actual unit per month not the growth. Example
4
5
7
8 this is the growth but i what 5-4=1....
7-5=2...
=ROUND(Q59*$B$49,0) is how i get 4..5..6..7..8 how do i get to 1..2..1 in one formula . Thanks
If I'm understanding you correctly you are looking for the incremental increase rather than the total increase. Without more information it is difficult to understand exactly what your looking for, but your formula sounds like it is multiplying over 100%. You want to multiply by the percentage of increase. so essentially what your doing is adding the beginning balance back in. Change your percentage in the cell to the increase and not the increase plus beginning.

Divide Time Period across different Time Frames (Calculating Interest)

In the attached excel file
http://www.sendspace.com/file/y9qj0t
I've got a time period "C3:D3" (time periods can be altered by user) and a sum of money for which i need to calculate interest across different time periods with different interest rates.
You can check out my formula in "E6:E" but somehow I'm not postive it's correct.
I want the formula to divide days of the above period of time across the different int. rates time frames & return "0" when int.rates times frames are before or after my time period.
Also, I'm not certain how to handle the last int. rate time frame (ie the last time int. rate was changed so it's not a closed time frame B50:C50). B50 is occupied by the last date int. rate was changed and C50 equals above mentioned D3. Does it make any sense?
Thanks for any help!
I was going to answer your previous question....but you deleted it...
Your method works, I think, but this formula can give you the correct result in a single cell without using columns E and F
=SUMPRODUCT(LOOKUP(ROW(INDIRECT(C3&":"&D3-1)),B6:D50))/365*E3
it doesn't matter what value you put in C50
The ROW/INDIRECT part gives you an "array" of all dates from C3 to D3-1 and that array is the lookup value for LOOKUP function, looking up each date in B6:B50 and returning the corresponding rate from D6:D50. SUMPRODUCT then sums all those rates. Diving by 365 then gives you the average annual rate. I get 2.89 for your example, the same as your result

Adding Two Times Up In Excel

I I'm have small headache caused today by excel and the way it takes control of everything. I have two time values I need to add together then divide by a value I got charged for that time to work out how much it cost me an hour.
so say I was charged day on for 12:30:00
on day 2 I was charged for 13:20:00
and day 3 I was charged for 20:30:00
In total it cost me £1000
The calculation would be
£1000 / (12:30:00 + 13:20:00 + 20:30:00 = 46:20:00)
I would guess to get the answer I would
1000 / Sum(12:30:00+13:20:00+20:30:00) = price per hour
But it doesn't...
I guess I need some sort of convert function on the time or to divide it by 24 to get hours but I'm stuck
Help would be hugely appreciated!
Excel represents times as fractional days, so your function is actually representing the rate per day.
Assuming your times are in cells A1:A3, you can adjust your function to something like:
1000 / Sum(A1:A3) / 24
which will give you the rate per hour (by my calculations, £21.58/hr).
As others have mentioned, you will need to set the cell to a currency format.
Excel should be performing the calculation correctly, but it is just showing as a time. Format the result cell as "number" instead.
You can use the HOUR and MINUTE functions to get the hour and minute portions of the time values, however as lc mentions, you do need to ensure that the formatting of the cell is set to Number, as it will default to a time.
Assuming you have your hh:mm:ss values running down the page (column A), in the next column put the formula
=(A1-INT(A1))*24
underneath this you can put your formula
= 1000 / SUM(A1:A3)
but don't forget to format it as Number.

Resources