If you use Excel to model businesses, business processes, or business transactions, this course will change your life. You’ll learn how to create tools for yourself that will amaze even you. Unrestricted use of this material is available in two ways.

As a stand-alone Web site
It resides on your computer, and you can use it anywhere. No need for Internet access.
At this Web site
If you have access to the Internet whenever you want to view this material, you can purchase on-line access. Unlimited usage. I’m constantly making improvements and you’ll get them as soon as they’re available.

To Order On Line

 Order "Spreadsheet Models for Managers, on-line edition, one month" by credit card, for USD 69.95 each, using our secure server, and receive download instructions by return email.
 Order "Spreadsheet Models for Managers, on-line edition, three months" by credit card, for USD 199.00 each, using our secure server, and receive download instructions by return email.

To Order by Mail

 Make your check payable to Chaco Canyon Consulting, for the amount indicated: For the download: USD 199.00 For access online for three months: USD 199.00 For access online for one month: USD 69.95 And send it to: Chaco Canyon Consulting 700 Huron Avenue, Suite 19C Cambridge, MA 02138

To use the course software you’ll need some other applications, which you very probably already have. By placing your order, you’re confirming that you have the software you need, as described on this site.

 All together now
```Function Depreciation(firstPeriod As Range, _
nPeriods As Integer) As Double
If Application.Caller.Column _
- firstPeriod.Column + 1 <= nPeriods Then
Depreciation = 1 / nPeriods
End If
End Function```

Demonstration

Here it is at last — our depreciation macro. There isn’t much to it, but building it from scratch can be a challenge. Notice that we eliminated the Else clause of the If. We can do this because the value of Depreciation is initialized to 0 every time the function is invoked. So if we leave it alone, we get the correct result unless the column number test of the If is passed.