Spreadsheet Models for Managers


Getting Access to Spreadsheet Models for Managers


If Spreadsheet Models for Managersyou 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.
Order "Spreadsheet Models for Managers, downloadable hyperbook edition" 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.

Spreadsheet Models for Managers

Problem Set 13Session Links
Using Macros I

Be sure to check the list of worksheet functions that are needed for the homework assignments, to see which new functions (if any) might help with this assignment.

For a quick way to copy homework problem data into your homework solution, see “Avoid retyping homework problem data.”

Remember that some problems are slight extensions of what we show you in class, in the demonstrations and in the session notes, and some problems are somewhat ambiguous. This is intended to parallel what you’ll frequently encounter at work. If you feel a bit confused, there are some things you can do to help clarify things.

Before attempting this homework, you might find it helpful to read about:

Numbers in square brackets to the right of the problem numbers indicate point values.

Blue square Problem 13.1 [30]

Write a macro that computes, for any number, the multiple of 100 that’s nearest to that number. Call your macro “Round100”. For example, Round100(712) should return 700. You can assume that the argument to your macro is always a number. Your macro should round to the next largest 100 if the number ends in 50 or more. The behavior for negative numbers should be symmetric. That is, for any x, Round100(-x) should be the same as -Round100(x). Use your macro to demonstrate the following results:

Retrieve homework data in 2007+ format
x Round100(x)
457.2500
0.00
100.0100

Your result should be a single 4x1 range.

Blue square Problem 13.2 [30]

Jersey Fried ChickenThe price schedule provided to Jersey Fried Chicken for cases of fried chicken buckets offers discounts depending on the number of cases of buckets ordered. The schedule is shown in the table below, which is reproduced from Problem 11.3.

Retrieve homework data in 2007+ format
Quantity Price
1-399 $21.00
400-1199 $18.00
1200 or more $16.90

Write a macro called BucketPrice which accepts a single argument that represents the quantity ordered, and returns a value equal to the price of one case of buckets. Your macro should assume that its argument is any number greater than or equal to 1. If it receives an argument that isn’t an integer, it should truncate the fractional part of the argument and return a result as if it had received an integer argument. Demonstrate your macro for these arguments: 276.00, 402.00, 432.47, 1898.20. Your result should be a single 4x1 range.

Blue square Problem 13.3 [40]

In the course of modeling operations at JFC, you find that you buy several products with three-step “staircase” price schedules as in Problem 13.2. You could write a separate function macro for each one, but that approach is wasteful and creates duplicated code. So you decide instead to write a single macro that’s invoked by each specialized macro. This is more reliable because it concentrates all the “thinking” in a single place.

Gray square Problem 13.3 (a) [20]

The macro is called Staircase3, and does all the hard work for all three-step staircase pricing. It returns a single floating-point number — the unit price for the quantity specified. It accepts six arguments, ordered as follows:

quantity
The quantity whose unit price is to be determined by Staircase3. If it receives a value that isn’t an integer, it should truncate the fractional part of the argument and return a result as if it had received an integer argument.
price0
The undiscounted unit price. In the chicken buckets example, this argument would have the value $21.00. A floating-point number.
thresh1
The minimum number of units required for the first discount level. In the chicken buckets example, this argument would have the value 400. A large integer.
price1
The first level of discounted unit price. In the chicken buckets example, this argument would have the value $18.00. A floating-point number.
thresh2
The minimum number of units required for the second discount level. In the chicken buckets example, this argument would have the value 1200. A large integer.
price2
The second level of discounted unit price. In the chicken buckets example, this argument would have the value $16.90. A floating-point number.

Write the macro Staircase3, and demonstrate that it gives correct chicken-bucket prices for the chicken-bucket price schedule and these order quantities: 276.00, 402.00, 432.47, 1898.20. Your result should be a single 4x1 range.

Gray square Problem 13.3 (b) [20]

Write a new macro BucketPrice3, that behaves exactly like BucketPrice, but computes its results by invoking Staircase3 internally. BucketPrice3 takes a single argument, and produces results identical to Price. Demonstrate its use with the four values 276.00, 402.00, 432.47, 1898.20. Your result should be a single 4x1 range.

Last Modified: Wednesday, 27-Apr-2016 04:15:26 EDT

Function Macros

We focus on function macros in this course because they’re more likely than command macros to make a real difference in your facility with constructing models. For instance, when your customer wants to see result streams displayed as [Month1, Month2, Month3, Q1 Total, Month4, Month5, Month6, Q2 Total, …], you probably realize that such a layout makes copy/paste and fill very inconvenient. A macro can provide a simple means of producing the preferred layout from a more easily maintained pure month structure. It’s also easy to construct macros for running sums and running differences. Can you think of other applications for function macros that make your models easier to build and maintain?