Solved

Function to automate calculation of sheet

Posted on 2011-09-20
6
192 Views
Last Modified: 2012-05-12
Hi,

Have attached an example, basically need a function that returns a value based on a start and end date, i.e. Forcast(startdate,enddate,amount, excluded month 1, exc month 2, exc month 3, exc month 4).

In the example you will see in Column D a list of dates that amounts go out on, ie 14th or 28th of month etc.  Next to this in column E is the amount paid on that date.  Now the function will need to work out for each column how many of those payment dates are between the start and end date specified in the function call.

And then times the amount by the number of times that date appears.  It then needs to add this total together, and add in the (amount) figure as above and also the income figure which is calculated by number of FRIDAYS between that date times £565.

If the month is one of the excluded dates then it is not included in the calculation for that period, i.e. if I included 2 and 3 as the excluded months then it would not count these.

Columns F to I values right at the bottom show what should be right if the function is working as planned.

Cheers
Example.xlsx
0
Comment
Question by:StormFusion
  • 3
6 Comments
 

Author Comment

by:StormFusion
Comment Utility
0
 

Author Comment

by:StormFusion
Comment Utility
0
 

Author Comment

by:StormFusion
Comment Utility
Finally found something that has stumped the pro's lol
0
 
LVL 19

Accepted Solution

by:
akoster earned 500 total points
Comment Utility
Well, it's not hard to concoct a formula that delivers what you are looking for, the hard part is getting to know what exactly you are looking for.
The way i understand the description from an input viewpoint, you could be looking for a formula with 37 inputs (start date, end date, income plus 17 day values and 17 amounts) that has one output.
looking at the expected output columns F:I, you would be looking for a formula that takes the start date, end date, a single day number and a single corresponding day value as inputs and delivers a single output (thereby forgetting about the income on fridays)

If you want a function to represent the formula you are already using, it would be

Public Function Forcast(startdate As Date, enddate As Date, day As Integer, amount As Double) As String
Dim result As Double
Dim wage As Double

    '-- initialise
    result = 0
    wage = 565
        
    For d = startdate To enddate
        '-- add planned dates
        If DatePart("d", d) = day Then result = result + amount
        '-- add income on fridays
        'If Weekday(d, vbMonday) = 5 Then result = result + wage
    Next d
    process = result

End Function

Open in new window


you can un-comment the if weekday()=5 line to include wages on friday.
0
 
LVL 50

Expert Comment

by:teylyn
Comment Utility
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
Improved? Move/Copy Add-in Replacement - How to avoid the annoying, “A formula or sheet you want to move or copy contains the name XXX, which already exists on the destination worksheet.” David Miller (dlmille)  It was one of those days… I wa…
The viewer will learn how to simulate a series of coin tosses with the rand() function and learn how to make these “tosses” depend on a predetermined probability. Flipping Coins in Excel: Enter =RAND() into cell A2: Recalculate the random variable…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now