Spreadsheet Engineering “Training in spreadsheet modeling improves both the efficiency and effectiveness with which analysts use spreadsheets” Steve Powell, Dartmouth College
Common Spreadsheet Problems 1. Erroneous formulae: formula copied wrong or by accident >> Relative versus Absolute references! referenced original cells have been deleted or moved inappropriate or incomplete set of cells included in a range name incorrect use of a function
Common Spreadsheet Problems 2. Data input errors: values entered over formulas same assumption value is entered in different places in the model inappropriate values are entered 3. Assumptions are not documented or accessible to the user 4. A key factor or relationship has been omitted from the model
“Good” Spreadsheet Programming Techniques Never put a constant in a formula: document all numbers in their own cells Design the workbook to include sections for assumptions and inputs, output reports, data structures, model documentation and intermediate calculations Use range names Test your model before using it Protect cells that contain formulas Use macros to automate key operations Use influence diagrams to develop model
Building Influence Diagrams Start with a key output What single measure will decision-maker use to assess the success of the project? Decompose the output measure into a small set of variables that determine it directly Take each influencing variable and repeat this process of decomposition Identify input data and decisions as they arise Make sure that each variable appears only once
Symbols Needed in Influence Diagrams Objective Variable Fixed Input Parameter Random Input Parameter Decision
Create an influence diagram for a pro forma Income Statement What should be the key output to start the diagram? What assumptions will you need to make?
Designing a Spreadsheet Sketch the spreadsheet Influence diagrams Organize into modules Algebraically outline parts of logic Start small: design, build and test one module of the model at a time Isolate input parameters Design for use: Create outputs that answer the questions the user wants to address (e.g. graphs) Place key results close to input assumptions
Designing a Spreadsheet Keep it simple Break down long formulas into simpler intermediate calculations Easier to spot errors & documents logic Design for communication Informative labels Formatting options Document important data and formulas Cell comments