EXCEL Formule

Download as pdf or txt
Download as pdf or txt
You are on page 1of 77
At a glance
Powered by AI
The document discusses troubleshooting formulas in Excel and describes various error values and tools to diagnose and fix formula errors.

Excel displays various error values including #DIV/0!, #NAME?, #N/A, #NUM!, #VALUE! and more when formulas errors occur.

The IFERROR() function allows formulas errors to be handled gracefully by returning a custom value if an error occurs.

Microsoft Excel 2019

Formulas and Functions

Paul McFedries
Microsoft Excel 2019 Formulas and Functions
Published with the authorization of Microsoft Corporation by:
Pearson Education, Inc.
Copyright © 2019 by Pearson Education, Inc.
All rights reserved. This publication is protected by copyright, and permission must be obtained from the publisher prior to
any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechani-
cal, photocopying, recording, or likewise. For information regarding permissions, request forms, and the appropriate con-
tacts within the Pearson Education Global Rights & Permissions Department, please visit www.pearsoned.com/permissions/.
No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has
been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Nor is
any liability assumed for damages resulting from the use of the information contained herein.
ISBN-13: 978-1-5093-0619-0
ISBN-10: 1-5093-0619-6
Library of Congress Control Number:  2019930661
1 19

Trademarks
Microsoft and the trademarks listed at http://www.microsoft.com on the “Trademarks” webpage are trademarks of the
Microsoft group of companies. All other marks are property of their respective owners.

Warning and Disclaimer


Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied.
The information provided is on an “as is” basis. The author, the publisher, and Microsoft Corporation shall have neither
liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained
in this book.

Special Sales
For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic
versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding
interests), please contact our corporate sales department at [email protected] or (800) 382-3419.
For government sales inquiries, please contact [email protected].
For questions about sales outside the U.S., please contact [email protected].
Editor-in-Chief: Brett Bartow
Executive Editor: Loretta Yates
Sponsoring Editor: Charvi Arora
Managing Editor: Sandra Schroeder
Senior Project Editor: Tracey Croom
Project Editor: Charlotte Kughen
Indexer: Cheryl Lenser
Proofreader: Gill Editorial Services
Technical Editor: Bob Umlas
Publishing Coordinator: Cindy Teeters
Cover Designer: Twist Creative, Seattle
Compositor: Bronkella Publishing LLC
Graphics: TJ Graham Art
To Karen and Chase
Contents at a Glance
Introduction xxiii

Part I Mastering Excel formulas 1


CHAPTER 1 Building basic formulas 3
CHAPTER 2 Creating advanced formulas 25
CHAPTER 3 Troubleshooting formulas 49

Part II Harnessing the power of functions 67


CHAPTER 4 Understanding functions 69
CHAPTER 5 Working with text functions 79
CHAPTER 6 Working with logical and information functions 105
CHAPTER 7 Working with lookup functions 135
CHAPTER 8 Working with date and time functions 153
CHAPTER 9 Working with math functions 183

Part III Building business formulas 205


CHAPTER 10 Implementing basic business formulas 207
CHAPTER 11 Building descriptive statistical formulas 229
CHAPTER 12 Building inferential statistical formulas 245
CHAPTER 13 Applying regression to track trends and make forecasts 265
CHAPTER 14 Building loan formulas 305
CHAPTER 15 Working with investment formulas 325
CHAPTER 16 Building discount formulas 339

Part IV Building business models 359


CHAPTER 17 Analyzing data with tables 361
CHAPTER 18 Analyzing data with PivotTables 381
CHAPTER 19 Using Excel’s business modeling tools 399
CHAPTER 20 Solving complex problems with Solver 421

Index 443

v

Contents
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii

Part I Mastering Excel formulas 1

Chapter 1 Building basic formulas 3


Understanding formula basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Formula limits in Excel 2019 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Entering and editing formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Using arithmetic formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Using comparison formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Using text formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Using reference formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Understanding operator precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The order of precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Controlling the order of precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Controlling worksheet calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Copying and moving formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Understanding relative reference format. . . . . . . . . . . . . . . . . . . . . . . . . 12
Understanding absolute reference format . . . . . . . . . . . . . . . . . . . . . . . . 13
Copying a formula without adjusting relative references. . . . . . . . . . 14
Displaying worksheet formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Displaying all worksheet formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Displaying a cell’s formula by using FORMULATEXT(). . . . . . . . . . . . . . 15
Converting a formula to a value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Working with range names in formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Pasting a name into a formula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Applying names to formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Naming formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Working with links in formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Understanding external references. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Updating links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Changing the link source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
vii

Chapter 2 Creating advanced formulas 25
Working with arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Using array formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Using array constants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Functions that use or return arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Using iteration and circular references. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Consolidating multisheet data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Consolidating by position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Consolidating by category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Applying data-validation rules to cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Using dialog box controls on a worksheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Displaying the Developer tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Using the form controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Adding a control to a worksheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Linking a control to a cell value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Understanding the worksheet controls . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chapter 3 Troubleshooting formulas 49


Understanding Excel’s error values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
#CALC!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
#DIV/0! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
#FIELD! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
#N/A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
#NAME?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Avoiding #NAME? errors when deleting range names. . . . . . . . . . . . . . 52
#NULL!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
#NUM!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
#REF!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
#SPILL! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
#UNKNOWN!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
#VALUE! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Fixing other formula errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


Missing or mismatched parentheses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Erroneous formula results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Fixing circular references. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

viii Contents
Handling formula errors with IFERROR() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Using the formula error checker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Choosing an error action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Setting error checker options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Auditing a worksheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Understanding auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Tracing cell precedents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Tracing cell dependents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Tracing cell errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Removing tracer arrows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Evaluating formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Watching cell values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Part II Harnessing the power of functions 67

Chapter 4 Understanding functions 69


About Excel’s functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
The structure of a function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Typing a function into a formula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Using the Insert Function feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Loading the Analysis ToolPak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Chapter 5 Working with text functions 79


Excel’s text functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Working with characters and codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
The CHAR() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
The CODE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Converting text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
The LOWER() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
The UPPER() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
The PROPER() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
The NUMBERVALUE() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Formatting text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
The DOLLAR() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
The FIXED() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

ix
Contents 
The TEXT() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Displaying when a workbook was last updated. . . . . . . . . . . . . . . . . . . 89
Manipulating text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Removing unwanted characters from a string. . . . . . . . . . . . . . . . . . . . 89
The TEXTJOIN() function: Concatenating text with a delimiter. . . . . 91
The REPT() function: Repeating a character or string. . . . . . . . . . . . . 92
Extracting a substring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Converting text to sentence case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
A date-conversion formula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Searching for substrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
The FIND() and SEARCH() functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Extracting a first name or last name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Extracting first name, last name, and middle initial . . . . . . . . . . . . . . . 99
Determining the column letter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Substituting one substring for another. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
The REPLACE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
The SUBSTITUTE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Removing a character from a string. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Removing two different characters from a string. . . . . . . . . . . . . . . . 102
Removing line feeds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Chapter 6 Working with logical and information functions 105


Adding intelligence with logical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Using the IF() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Performing multiple logical tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Combining logical functions with arrays . . . . . . . . . . . . . . . . . . . . . . . . . 116
Getting data with information functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
The CELL() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
The ERROR.TYPE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
The INFO() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The SHEET() and SHEETS() functions . . . . . . . . . . . . . . . . . . . . . . . . . . 130
The IS functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Chapter 7 Working with lookup functions 135


Taking a look at Excel’s lookup functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Understanding lookup tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
x Contents
The CHOOSE() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Determining the name of the day of the week. . . . . . . . . . . . . . . . . . . 137
Determining the month of the fiscal year . . . . . . . . . . . . . . . . . . . . . . . 138
Calculating weighted questionnaire results . . . . . . . . . . . . . . . . . . . . . 139
Integrating CHOOSE() and worksheet option buttons. . . . . . . . . . . . 139
Looking up values in tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
The VLOOKUP() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
The HLOOKUP() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Returning a customer discount rate with a range lookup. . . . . . . . . 142
Returning a tax rate with a range lookup. . . . . . . . . . . . . . . . . . . . . . . . 143
Finding exact matches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Advanced lookup operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
The MATCH() and INDEX() functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Chapter 8 Working with date and time functions 153


How Excel deals with dates and times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Entering dates and times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Excel and two-digit years . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Using Excel’s date functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Returning a date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Returning parts of a date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Calculating the difference between two dates. . . . . . . . . . . . . . . . . . . 169
Using Excel’s time functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Returning a time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Returning parts of a time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Calculating the difference between two times. . . . . . . . . . . . . . . . . . . 176

Chapter 9 Working with math functions 183


Excel’s math and trig functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Understanding Excel’s rounding functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
The ROUND() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
The MROUND() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
The ROUNDDOWN() and ROUNDUP() functions . . . . . . . . . . . . . . . . . . . . 188
The CEILING.MATH() and FLOOR.MATH() functions. . . . . . . . . . . . . . 188
Calculating Easter dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
The EVEN() and ODD() functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

xi
Contents 
The INT() and TRUNC() functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Using rounding to prevent calculation errors. . . . . . . . . . . . . . . . . . . . 190
Summing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
The SUM() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
The SUMIF() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Summing only the positive or negative values in a range. . . . . . . . . 193
The SUMIFS() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Calculating cumulative totals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
The MOD() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
A better formula for time differences. . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Summing every nth row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Determining whether a year is a leap year. . . . . . . . . . . . . . . . . . . . . . . 196
Creating ledger shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Generating random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
The RAND() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
The RANDBETWEEN() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
The RANDARRAY() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Creating increasing random numbers with the SEQUENCE()
function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

Part III Building business formulas 205

Chapter 10 Implementing basic business formulas 207


Pricing formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Price markups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Price discounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Break-even point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Financial formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Sales ratios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Cost of goods sold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Gross margin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Net margin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Fixed-asset ratios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Inventory formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Inventory ratios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Inventory management formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

xii Contents
Liquidity formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Accounts receivable ratios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Accounts payable ratios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Working capital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Liquidity ratios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Liquidity index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Chapter 11 Building descriptive statistical formulas 229


Understanding descriptive statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Counting items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
The COUNT() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
The COUNTA() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
The COUNTBLANK() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
The COUNTIF() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
The COUNTIFS() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Calculating averages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
The AVERAGE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
The AVERAGEIF() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
The AVERAGEIFS() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
The MEDIAN() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
The MODE() function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Calculating the weighted mean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Calculating extreme values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
The MAX() and MIN() functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
The LARGE() and SMALL() functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Performing calculations on the top k values. . . . . . . . . . . . . . . . . . . . . 238
Performing calculations on the bottom k values. . . . . . . . . . . . . . . . . 238
Working with rank and percentile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Calculating rank. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Calculating percentile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Calculating measures of variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Calculating the range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Calculating the variance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Calculating the standard deviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Working with frequency distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

xiii
Contents 
Chapter 12 Building inferential statistical formulas 245
Understanding inferential statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Sampling data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Extracting a periodic sample. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Extracting a random sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Determining whether two variables are related . . . . . . . . . . . . . . . . . . . . . . . 249
Calculating covariance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Calculating correlation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Working with probability distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Calculating probability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Discrete probability distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Understanding the normal distribution and the NORM.DIST()
function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Determining confidence intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Hypothesis testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Chapter 13 Applying regression to track trends and make


forecasts 265
Choosing a regression method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Using simple regression on linear data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Analyzing trends using best-fit lines. . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Making forecasts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Using simple regression on nonlinear data. . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Working with an exponential trend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Working with a logarithmic trend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Working with a power trend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Using polynomial regression analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Using multiple regression analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Chapter 14 Building loan formulas 305


Understanding the time value of money. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Calculating a loan payment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Loan payment analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Working with a balloon loan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Calculating interest costs, part I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

xiv Contents
Calculating the principal and interest. . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Calculating interest costs, part II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Calculating cumulative principal and interest. . . . . . . . . . . . . . . . . . . . . 311
Building a loan amortization schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Building a fixed-rate amortization schedule. . . . . . . . . . . . . . . . . . . . . 312
Building a dynamic amortization schedule. . . . . . . . . . . . . . . . . . . . . . 313
Calculating the term of a loan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Calculating the interest rate required for a loan . . . . . . . . . . . . . . . . . . . . . . . 317
Calculating how much you can borrow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Chapter 15 Working with investment formulas 325


Working with interest rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Understanding compound interest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Nominal versus effective interest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Converting between the nominal rate and the effective rate. . . . . 327
Calculating the future value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
The future value of a lump sum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
The future value of a series of deposits. . . . . . . . . . . . . . . . . . . . . . . . . . 329
The future value of a lump sum plus deposits . . . . . . . . . . . . . . . . . . . 329
Working toward an investment goal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Calculating the required interest rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Calculating the required number of periods. . . . . . . . . . . . . . . . . . . . . 331
Calculating the required regular deposit. . . . . . . . . . . . . . . . . . . . . . . . 332
Calculating the required initial deposit. . . . . . . . . . . . . . . . . . . . . . . . . . 333
Calculating the future value with varying interest rates . . . . . . . . . . 334

Chapter 16 Building discount formulas 339


Calculating the present value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Taking inflation into account. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Calculating present value using PV() . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Income investing versus purchasing a rental property. . . . . . . . . . . 342
Buying versus leasing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Discounting cash flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Calculating the net present value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Calculating net present value using NPV() . . . . . . . . . . . . . . . . . . . . . . 346

xv
Contents 
Net present value with varying cash flows. . . . . . . . . . . . . . . . . . . . . . . 347
Net present value with nonperiodic cash flows. . . . . . . . . . . . . . . . . . 348
Calculating the payback period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Simple undiscounted payback period. . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Exact undiscounted payback point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Discounted payback period. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Calculating the internal rate of return. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Using the IRR() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Calculating the internal rate of return for nonperiodic
cash flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Calculating multiple internal rates of return. . . . . . . . . . . . . . . . . . . . . 353

Part IV Building business models 359

Chapter 17 Analyzing data with tables 361


Sorting a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Sorting on part of a field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Sorting without articles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Sorting table data into an array, part I: The SORT() function . . . . . 364
Sorting table data into an array, part II: The SORTBY() function . . 364
Filtering table data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Using complex criteria to filter a table. . . . . . . . . . . . . . . . . . . . . . . . . . 366
Entering computed criteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Filtering table data with the FILTER() function. . . . . . . . . . . . . . . . . 370
UNIQUE() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

Referencing tables in formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371


Using table specifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Entering table formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Excel’s table functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
About table functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Using DAVERAGE(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Using DGET(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

xvi Contents
Chapter 18 Analyzing data with PivotTables 381
Working with PivotTable subtotals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Hiding PivotTable grand totals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Hiding PivotTable subtotals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Customizing the subtotal calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Changing the value field summary calculation . . . . . . . . . . . . . . . . . . . . . . . . 383
Using a difference summary calculation. . . . . . . . . . . . . . . . . . . . . . . . 383
Toggling the difference calculation with VBA. . . . . . . . . . . . . . . . . . . . 385
Using a percentage summary calculation . . . . . . . . . . . . . . . . . . . . . . . 385
Using a running total summary calculation. . . . . . . . . . . . . . . . . . . . . . 388
Using an index summary calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Creating custom PivotTable calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Creating a calculated field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Creating a calculated item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Using PivotTable results in a worksheet formula. . . . . . . . . . . . . . . . . . . . . . . 395

Chapter 19 Using Excel’s business modeling tools 399


Using what-if analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Setting up a one-input data table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Adding more formulas to the input table . . . . . . . . . . . . . . . . . . . . . . . 402
Setting up a two-input data table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Editing a data table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Working with Goal Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
How does Goal Seek work?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Running Goal Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Optimizing product margin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
A note about Goal Seek’s approximations. . . . . . . . . . . . . . . . . . . . . . . 409
Performing a break-even analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Solving algebraic equations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Working with scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Understanding scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Setting up your worksheet for scenarios . . . . . . . . . . . . . . . . . . . . . . . . 414
Adding a scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Displaying a scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Editing a scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

xvii
Contents 
Merging scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Generating a summary report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Deleting a scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

Chapter 20 Solving complex problems with Solver 421


Some background on Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
The advantages of Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
When do you use Solver? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Loading Solver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Using Solver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Adding constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Saving a solution as a scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Setting other Solver options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Selecting the method Solver uses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Controlling how Solver works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Working with Solver models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Making sense of Solver’s messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Displaying Solver’s reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
The Answer report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
The Sensitivity report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
The Limits report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

xviii Contents
Acknowledgments

Substitute damn every time you’re inclined to write very; your editor will delete it and the
writing will be just as it should be.

—Mark Twain

I didn’t follow Mark Twain’s advice in this book (the word very appears throughout), but
if my writing still appears “just as it should be,” then it’s because of the keen minds and
sharp linguistic eyes of the editors at Pearson Education. Near the front of the book you’ll
find a long list of the hard-working professionals whose fingers made it into this particular
paper pie. However, there are a few folks I worked with directly, so I’d like to single them
out for extra credit. A big, heaping helping of thanks goes out to executive editor Loretta
Yates, project editor Charlotte Kughen, and technical editor Bob Umlas.

xix
Acknowledgments 
About the author

Paul McFedries is an Excel expert and full-time technical writer. Paul has been authoring
computer books since 1991 and has more than 95 books to his credit, which combined
have sold more than 4 million copies worldwide. His titles include the Que Publishing
books My Office 2016, Windows 10 In Depth (with coauthor Brian Knittel), and PCs for
Grownups, as well as the Sams Publishing book Windows 7 Unleashed. Paul is also the
proprietor of Word Spy (www.wordspy.com), a website devoted to lexpionage, the
sleuthing of new words and phrases that have entered the English language. Please drop
by Paul’s personal website at mcfedries.com or follow Paul on Twitter, at twitter.com/
paulmcf and twitter.com/wordspy.

For companion files, you can visit the book's page at mcfedries.com,
https://mcfedries.com/books/book.php?title=excel-2019-formulas-and-functions, or
at the Microsoft Press Store, MicrosoftPressStore.com/Excel2019FormulasFunctions/
downloads.

About the author  xxi


CHAPTER 3

Troubleshooting formulas
In this chapter, you will:
• Decipher the formula error values that Excel displays
• Learn how to fix a few other common formula error types
• Handle formula errors gracefully with the IFERROR() function
• Diagnose formula problems using Excel’s Formula Error Checker
• Learn how to use Excel’s worksheet auditing tools

D espite your best efforts, the odd error might appear in your formulas from time to time. Such er-
rors can be mathematical (for example, dividing by zero), or Excel might simply be incapable of
interpreting the formula. In the latter case, problems can be caught while you’re entering the formula.
For example, if you try to enter a formula that has unbalanced parentheses, Excel doesn’t accept the
entry, and it displays an error message. Other errors are more insidious. For example, your formula
might appear to be working—that is, it might return a value—but the result might be incorrect be-
cause the data is flawed or because your formula has referenced the wrong cell or range.

Whatever the error and whatever the cause, formula woes need to be worked out because you or
someone else in your company is likely depending on your models to produce accurate results. Don’t
fall into the trap of thinking that your spreadsheets are problem free. A recent University of Hawaii
study found that 50% of spreadsheets contained errors that led to “significant miscalculations.” And
the more complex the model, the greater the chance that errors can creep in. A KPMG study from a few
years ago found that a staggering 90% of spreadsheets used for tax calculations contained errors.

The good news is that fixing formula flaws need not be drudgery. With a bit of know-how and
Excel’s top-notch troubleshooting tools, sniffing out and repairing model maladies isn’t hard. This
chapter tells you everything you need to know.

Tip  If you try to enter an incorrect formula, Excel won’t let you do anything else until you
either fix the problem or cancel the operation (which means you lose your formula). If the
formula is complex, you might not be able to see the problem right away. Instead of delet-
ing all your work, place an apostrophe (') at the beginning of the formula to convert it to
text. This way, you can save your work while you try to figure out the problem.

49

Understanding Excel’s error values
When you enter or edit a formula or change one of the formula’s input values, Excel might show an er-
ror value as the formula result. Excel has eleven different error values: #CALC!, #DIV/0!, #FIELD!, #N/A,
#NAME?, #NULL!, #NUM!, #REF!, #SPILL!, #UNKNOWN!, and #VALUE!. The next few sections give you a
detailed look at these error values and offer suggestions for dealing with them.

#CALC!
The new #CALC! error appears when Excel’s calculation engine comes across a formula or expression
that it doesn’t support. Examples include one of the following:

■■ An array nested inside another array

■■ An array that includes one or more range references

■■ An array that contains no items

#DIV/0!
The #DIV/0! error almost always means that the cell’s formula is trying to divide by zero, a mathemati-
cal no-no. The cause is usually a reference to a cell that either is blank or contains the value 0. Check
the cell’s precedents (the cells that are directly or indirectly referenced in the formula; see “Auditing
a worksheet,” later in this chapter) to look for possible culprits. You’ll also see #DIV/0! if you enter an
inappropriate argument in some functions. MOD(), for example, returns #DIV/0! if the second argu-
ment is 0.

That Excel treats blank cells as the value 0 can pose problems in a worksheet that requires the user
to fill in the data. If your formula requires division by one of the temporarily blank cells, it will show
#DIV/0! as the result, possibly confusing the user. You can get around this by telling Excel not to per-
form the calculation if the cell used as the divisor is 0. This is done with the IF() worksheet function,
which I discuss in detail in Chapter 6, “Working with logical and information functions.” (For an even
better way to deal with potential formula errors, see “Handling formula errors with IFERROR(),” later
in this chapter.) For example, consider the following formula, which uses named cells to calculate gross
margin:

=GrossProfit / Sales

To prevent the #DIV/0! error from appearing if the Sales cell is blank (or 0), you’d modify the for-
mula as follows:

=IF(Sales = 0, "", GrossProfit / Sales)

If the value of the Sales cell is 0, the formula returns the empty string; otherwise, it performs the
calculation.

50 Chapter 3  Troubleshooting formulas


#FIELD!
The new #FIELD! error value tells you that your formula is referencing an invalid linked data type. This
can happen in three ways:

■■ Your formula includes a data-type reference to a field that isn’t found in a linked data type.
For example, if cell A1 contains a Stocks data type and your formula references A1.[52-week
high], you’ll get a #FIELD! error because the 52-week high field doesn’t exist. In this example,
you can solve the problem by removing the dash: A1.[52 week high].

■■ Your formula includes a data-type reference (for example, A1.Price for a Stocks data type) on a
cell that doesn’t use a linked data type.

■■ Your formula includes a data-type reference (for example, A1.Description for a Stocks data
type) on a cell that doesn’t have any data for the referenced field.

#N/A
The #N/A error value is short for not available, and it means that the formula couldn’t return a legiti-
mate result. You usually see #N/A when you use an inappropriate argument (or when you omit a re-
quired argument) in a function. HLOOKUP() and VLOOKUP(), for example (see Chapter 7, “Working with
lookup functions”), return #N/A if the lookup value is smaller than the first value in the lookup range.

To solve the problem, first check the formula’s input cells to see whether any of them are displaying
the #N/A error. If so, that’s why your formula is returning the same error; the problem actually lies in the
input cell. When you’ve found where the error originates, examine the formula’s operands to look for
inappropriate data types. In particular, check the arguments used in each function to ensure that they
make sense for the function and that no required arguments are missing.

Note  It’s common in spreadsheet work to purposely generate an #N/A! error to show that
a particular cell value isn’t currently available. For example, you might be waiting for budget
figures from one or more divisions or for the final numbers from month- or year-end. In
such a case, you enter =NA() into the cell. You fix this “problem” by replacing the NA() func-
tion with the appropriate data when it arrives.

#NAME?
The #NAME? error appears when Excel doesn’t recognize a name you used in a formula or when it inter-
prets text within the formula as an undefined name. This means that the #NAME? error pops up in a wide
variety of circumstances:

■■ You spelled a range name incorrectly.

■■ You used a range name that you haven’t yet defined.

Chapter 3  Troubleshooting formulas 51


■■ You spelled a function name incorrectly.

■■ You used a function that’s part of an uninstalled add-in.

■■ You used a string value without surrounding it with quotation marks.

■■ You entered a range reference and accidentally omitted the colon.

■■ You entered a reference to a range on another worksheet and didn’t enclose the sheet name in
single quotation marks.

Tip  When entering function names and defined names, use all lowercase letters. If Excel
recognizes a name, it converts the function to all uppercase and the defined name to its
original case. If no conversion occurs, you know that you misspelled the name, you haven’t
defined it yet, or you’re using a function from an add-in that isn’t loaded.
Remember that you also can use these commands to enter functions and names safely:
Formulas > Insert Function (or select Shift+F3); Formulas > Use In Formula; or Formulas
> Use In Formula > Paste Names (or select F3).

These are mostly syntax errors, so fixing them means double-checking your formula and correct-
ing range name or function name misspellings, or inserting missing quotation marks or colons. Also,
be sure to define any range names you use and to install the appropriate add-in modules for functions
you use.

Avoiding #NAME? errors when deleting range names


If you’ve used a range name in a formula and then you delete that name, Excel generates the #NAME?
error. Wouldn’t it be better if Excel just converted the name to its appropriate cell reference in each
formula? Possibly, but there is an advantage to Excel’s seemingly inconvenient approach. By generating
an error, Excel enables you to catch range names that you delete by accident. Because Excel leaves the
names in the formula, you can recover by redefining the original range name.

Redefining the original range name becomes problematic if you can’t remember the appropriate
range coordinates. This is why it’s always a good idea to paste a list of range names and their references
into each of your worksheets (select Formulas > Use In Formula > Paste Names > Paste List).

If you don’t need this safety net, you can force Excel to convert deleted range names into their cell
references. Here are the steps to follow:

1. Select File > Options to display the Excel Options dialog box.

2. Select Advanced.

3. In the Lotus Compatibility Settings For section, use the list to select the worksheet you want
to use.

52 Chapter 3  Troubleshooting formulas


4. Select the Transition Formula Entry check box.

5. Select OK.

Excel now treats your formula entries the same way Lotus 1-2-3 did way back in days of yore. Specifi-
cally, in formulas that use a deleted range name, the name automatically gets converted to its appro-
priate range reference. As an added bonus, Excel also performs the following automatic conversions:

■■ If you enter a range reference in a formula, the reference gets converted to a range name (pro-
vided that a name exists, of course).

■■ If you define a name for a range, Excel converts any existing range references into the new name.

Caution  The treatment of formulas in the Lotus 1-2-3 manner only applies to formulas that
you create after you select the Transition Formula Entry check box.

#NULL!
Excel displays the #NULL! error in a very specific case: when you use the intersection operator (a space)
on two ranges that have no cells in common. For example, because the ranges A1:B2 and C3:D4 have no
common cells, the following formula returns the #NULL! error:

=SUM(A1:B2 C3:D4)

Check your range coordinates to ensure that they’re accurate. Also, check to see if one of the ranges
has been moved, causing the two ranges in your formula to no longer intersect.

#NUM!
The #NUM! error means there’s a problem with a number in a formula. This almost always means that
you entered an invalid argument in a math or trig function. For example, perhaps you entered a
negative number as the argument for the SQRT() or LOG() function. Check the formula’s input cells—
particularly those that are used as arguments for mathematical functions—to make sure the values are
appropriate.

The #NUM! error also appears if you’re using iteration (or a function that uses iteration; see Chapter
2, “Creating advanced formulas”), and Excel can’t calculate a result. There could be no solution to the
problem, or you might need to adjust the iteration parameters.

#REF!
The #REF! error means that a formula contains an invalid cell reference, which is usually caused by one
of the following actions:

■■ You deleted a cell to which the formula refers. You need to add the cell back in or adjust the
formula reference.

Chapter 3  Troubleshooting formulas 53


■■ You cut a cell and then pasted it into a cell used by the formula. You need to undo the cut and
then paste the cell elsewhere. (Note that it’s okay to copy a cell and paste it onto a cell used by
the formula.)

■■ Your formula references a nonexistent cell address, such as B0. This can happen if you cut or
copy a formula that uses relative references and paste it in such a way that the invalid cell ad-
dress is created. For example, suppose that your formula references cell B1. If you cut or copy
the cell containing the formula and paste it one row higher, the reference to B1 becomes invalid
because Excel can’t move the cell reference up one row.

#SPILL!
You see the new #SPILL! error when a dynamic array formula or function that needs to spill data into
one or more adjacent cells encounters a non-empty cell in the spill range. (See Chapter 2 to learn more
about spill ranges.) You have two ways to handle a #SPILL! error:

■■ Move the formula that needs the spill range to a new location where the spill range is empty.

■■ Move the existing data out of the spill range.

In both cases, Excel removes the #SPILL! error and spills the formula result in the new spill range.

#UNKNOWN!
If you see the new #UNKNOWN! error, it means your formula or expression is referencing a data type that
isn’t supported in your version of Excel. This most often means that the reference is to a data type that
was added to a later version of Excel, so the only way to resolve the error is to upgrade to a version of
Excel that supports the data type.

#VALUE!
When Excel generates a #VALUE! error, it means you’ve used an inappropriate argument in a func-
tion. This is most often caused by using the wrong data type. For example, you might have entered or
referenced a string value instead of a numeric value. Similarly, you might have used a range reference
in a function argument that requires a single cell or value. Excel also generates this error if you use a
value that’s larger or smaller than Excel can handle. In all these cases, you solve the problem by double-
checking your function arguments to find and edit the inappropriate arguments.

Note  Excel can work with values between –1E–307 and 1E+307.

54 Chapter 3  Troubleshooting formulas


Fixing other formula errors
Not all formula errors generate one of Excel’s seven error values. Instead, you might see a warning
dialog box from Excel (for example, if you try to enter a function without including a required argu-
ment). Or, you might not see any indication that something is wrong. To help you in these situations,
the following sections cover some of the most common formula errors.

Missing or mismatched parentheses


If you miss a parenthesis when typing a formula, or if you place a parenthesis in the wrong location,
Excel usually displays a dialog box like the one shown in Figure 3-1 when you attempt to confirm the
formula. If the edited formula is what you want, select Yes to have Excel enter the corrected formula
automatically; if the edited formula is not correct, select No and edit the formula by hand.

FIGURE 3-1  If you miss a parenthesis, Excel attempts to fix the problem and displays this dialog box to ask if you
want to accept the correction.

Caution  Excel doesn’t always fix missing parentheses correctly. It tends to add the missing
parenthesis to the end of the formula, which is often not what you want. Therefore, always
check Excel’s proposed solution carefully before accepting it.

To help you avoid missing or mismatched parentheses, Excel provides two visual clues in the formula
itself when you’re editing it:

■■ The first clue occurs when you type a right parenthesis. Excel temporarily bolds both the right
parenthesis and its corresponding left parenthesis. If you type what you think is the last right
parenthesis but Excel doesn’t bold the first left parenthesis, your parentheses are unbalanced.

■■ The second clue occurs when you use the left and right arrow keys to navigate a formula. When
you cross over a parenthesis, Excel bolds the other parenthesis in the pair.

Chapter 3  Troubleshooting formulas 55


Erroneous formula results
If a formula produces no warnings or error values, the result might still be in error. If the result of a for-
mula is incorrect, here are a few techniques that can help you understand and fix the problem:

■■ Calculate complex formulas one term at a time. In the formula bar, select the expression
you want to calculate and then select F9. Excel converts the expression into its value. Make sure
that you select the Esc key when you’re done to avoid entering the formula with just the calcu-
lated values.

■■ Evaluate the formula. You can step through the various parts of a formula, a technique that I
describe later in this chapter (see “Evaluating formulas”).

■■ Break up long or complex formulas. One of the most problematic aspects of formula
troubleshooting is making sense out of long formulas. The previous techniques can help (by en-
abling you to evaluate parts of the formula), but it’s usually best to keep your formulas as short
as you can at first. When you get things working properly, you often can combine formulas for a
more efficient model.

■■ Recalculate all formulas. A formula might display the wrong result because other formulas on
which it depends need to be recalculated. This is particularly true if one or more of those formu-
las use custom VBA functions. Select Shift+F9 to recalculate all worksheet formulas.

■■ Pay attention to operator precedence. As explained in Chapter 1, “Building basic formulas,”


Excel’s operator precedence means that certain operations are performed before others. An
erroneous formula result could, therefore, be caused by Excel’s precedence order. To control
precedence, use parentheses.

■■ Watch out for nonblank “blank” cells. A cell might appear to be blank but actually contain
data or even a formula. For example, some users “clear” a cell by selecting the spacebar, and
Excel then treats the cell as nonblank. Similarly, some formulas return an empty string instead
of a value. (For example, see the IF() function formula earlier in this chapter for avoiding the
#DIV/0! error.)

■■ Watch unseen values. In a large model, your formula could be using cells that you can’t see
because they’re offscreen or on another sheet. Excel’s Watch Window enables you to keep an
eye on the current value of one or more cells. To learn about the Watch Window, see “Watching
cell values,” later in this chapter.

Fixing circular references


A circular reference occurs when a formula refers to its own cell. This can happen in one of two ways:

■■ Directly: The formula explicitly references its own cell. For example, a circular reference would
result if the following formula were entered into cell A1:
=A1+A2

56 Chapter 3  Troubleshooting formulas


■■ Indirectly: The formula references a cell or function that, in turn, references the formula’s cell.
For example, suppose that cell A1 contains the following formula:
=A5*10

■■ A circular reference would result if cell A5 referred to cell A1, as in this example:
=SUM(A1:D1)

When Excel detects a circular reference, it displays the dialog box shown in Figure 3-2.

FIGURE 3-2  If you attempt to enter a formula that contains a circular reference, Excel displays this dialog box.

When you select OK, Excel displays tracer arrows that connect the cells involved in the circular refer-
ence. (Tracers are discussed in detail later in this chapter; see “Auditing a worksheet.”) Knowing which
cells are involved enables you to correct the formula in one of them to solve the problem.

Handling formula errors with IFERROR()


Earlier you saw how to use the IF() function to avoid a #DIV/0! error by testing the value of the for-
mula divisor to see if it equals 0. This works fine if you can anticipate the specific type of error the user
might make. However, in many instances you can’t know the exact nature of the error in advance. For
example, the simple formula =GrossProfit/Sales would generate a #DIV/0! error if Sales equals
0. However, it would generate a #NAME? error if the name GrossProfit or the name Sales no longer
exists, or it would generate a #REF! error if the cells associated with one or both of GrossProfit and
Sales were deleted.

If you want to handle errors gracefully in your worksheets, it’s often best to assume that any error
can occur. Fortunately, that doesn’t mean you have to construct complex tests using deeply nested
IF() functions that check for every error type (#DIV/0!, #N/A, and so on). Instead, Excel enables you to
use a simple test for any error by offering the IFERROR() function:

IFERROR(value, value_if_error)

value The expression that might generate an error


value_if_error The value to return if value returns an error

Chapter 3  Troubleshooting formulas 57


If the value expression doesn’t generate an error, IFERROR() returns the expression result; other-
wise, it returns value_if_error (which might be the null string or an error message). Here’s an example:

=IFERROR(GrossProfit / Sales, "")

Note  If you want to handle the specific case of the #N/A error, use the IFNA(value,
value_if_na) function. Here, value is the expression that you’re testing for the #N/A error, and
value_if_na is the value to return if value returns the #N/A error.

Using the formula error checker


If you use Microsoft Word, you’re probably familiar with the double blue line that appears under words
and phrases that the grammar checker has flagged as being incorrect. The grammar checker operates
by using a set of rules that determine correct grammar and syntax. As you type, the grammar checker
operates in the background, constantly monitoring your writing. If something you write goes against
one of the grammar checker’s rules, the wavy line appears to let you know there’s a problem.

Excel has a similar feature: the formula error checker. Like the grammar checker, the formula error
checker uses a set of rules to determine correctness, and it operates in the background to monitor your
formulas. If it detects something amiss, it displays an error indicator—a green triangle—in the upper-
left corner of the cell containing the formula, as shown in Figure 3-3.

Error indicator

FIGURE 3-3  If Excel’s formula error checker detects a problem, it displays a green triangle in the upper-left corner
of the formula’s cell.

Choosing an error action


When you select the cell with the formula error, Excel displays a formula error icon beside the cell. If
you hover your mouse pointer over the icon, a pop-up message describes the error, as shown in Figure
3-4. The formula error icon drop-down menu contains the following actions:

■■ Corrective action: This is a command (the name of which depends on the type of error) that
Excel believes either will fix the problem or help you troubleshoot the error. In Figure 3-4, for

58 Chapter 3  Troubleshooting formulas


example, Excel is reporting that the formula in cell C3 differs from its neighboring formulas. (In
the formula bar, the expression in the parentheses should be 1+C2 instead of 1-C2.) In this case,
the corrective action command in the formula error icon is Copy Formula From Left. Or, if Excel
can’t suggest a solution, it might show the command Show Calculation Steps, which runs the
Evaluate Formula feature. See “Evaluating formulas,” later in this chapter.

■■ Help On This Error: Select this option to get information on the error via the Excel Help sys-
tem.

■■ Ignore Error: Select this option to leave the formula as is.

■■ Edit In Formula Bar: Select this option to display the formula in Edit mode in the formula bar.
You can then fix the problem by editing the formula.

■■ Error-Checking Options: Select this option to display the Formulas tab of the Excel Options
dialog box (discussed next).

FIGURE 3-4  Select the cell containing the error and then move the mouse pointer over the formula error icon to
see a description of the error.

Setting error checker options


Like Word’s grammar checker, Excel’s formula error checker has a number of options that control how it
works and which errors it flags. To see these options, you have two choices:

■■ Select File > Options > Formulas to open the Excel Options dialog box and display the For-
mulas tab.

■■ Select Error-Checking Options in the formula error icon’s drop-down menu (as described in
the previous section).

Either way, the options appear in the Error Checking and Error Checking Rules sections in the For-
mulas tab, as shown in Figure 3-5.

Chapter 3  Troubleshooting formulas 59


FIGURE 3-5  In the Formulas tab, the Error Checking and Error Checking Rules sections contain the options that
govern the workings of the formula error checker.

Here’s a rundown of the available options:

■■ Enable Background Error Checking: This check box toggles the formula error checker’s back-
ground operation on and off. If you turn off the background checking, you can run a check at
any time by choosing Formulas > Error Checking.

■■ Indicate Errors Using This Color: Use this color palette to select the color of the error indica-
tor.

■■ Reset Ignored Errors: If you’ve ignored one or more errors, you can redisplay the error indica-
tors by selecting this button.

■■ Cells Containing Formulas That Result In An Error: When this check box is selected, the
formula error checker flags formulas that evaluate to #DIV/0!, #NAME?, or any of the other error
values discussed earlier.

■■ Inconsistent Calculated Column Formula In Tables: When this check box is selected, Excel
examines the formulas in a table’s calculated column and flags any cell that contains a formula
with a different structure than the other cells in the column. The formula error icon for this error
includes the command Restore To Calculated Column Formula, which enables you to update
the formula so that it’s consistent with the rest of the column.

■■ Cells Containing Years Represented As 2 Digits: When this check box is selected, the for-
mula error checker flags formulas that contain date text strings in which the year contains only
two digits (a possibly ambiguous situation because the string could refer to a date in either the
1900s or the 2000s). In such a case, the list of options supplied in the formula error icon contains
two commands—Convert XX To 19XX and Convert XX To 20XX—that enable you to convert
the two-digit year to a four-digit year.

■■ Numbers Formatted As Text Or Preceded By An Apostrophe: When this check box is


selected, the formula error checker flags cells that contain a number that is either formatted as
text or preceded by an apostrophe. In such a case, the list of options supplied in the formula er-
ror icon contains the Convert To Number command to convert the text to its numeric equiva-
lent.

60 Chapter 3  Troubleshooting formulas


■■ Formulas Inconsistent With Other Formulas In The Region: When this check box is select-
ed, the formula error checker flags formulas that are structured differently from similar formu-
las in the surrounding area. In such a case, the list of options supplied in the formula error icon
contains a command such as Copy Formula From Left to make the formula consistent with the
surrounding cells.

■■ Formulas Which Omit Cells In A Region: When this check box is selected, the formula error
checker flags formulas that omit cells that are adjacent to a range referenced in the formula. For
example, suppose that the formula is =AVERAGE(C4:C21), where C4:C21 is a range of numeric
values. If cell C3 also contains a numeric value, the formula error checker flags the formula to
alert you to the possibility that you missed including cell C3 in the formula. Figure 3-6 shows
this example. In such a case, the list of options supplied in the formula error icon will contain the
command Update Formula To Include Cells to adjust the formula automatically.

FIGURE 3-6  The formula error checker can flag formulas that omit cells that are adjacent to a range referenced by
the formula. In this case, the formula in C23 should include cell C3.

■■ Unlocked Cells Containing Formulas: When this check box is selected, the formula error
checker flags formulas that reside in unlocked cells. This isn’t an error so much as a warning that
other people could tamper with the formula even after you have protected the sheet. In such a
case, the list of options supplied in the formula error icon will contain the command Lock Cell
to lock the cell and prevent users from changing the formula after you protect the sheet.

■■ Formulas Referring To Empty Cells: When this check box is selected, the formula error
checker flags formulas that reference empty cells. In such a case, the list of options supplied in
the formula error icon will contain the command Trace Empty Cell to enable you to find the

Chapter 3  Troubleshooting formulas 61


empty cell. (At this point, you can either enter data into the cell or adjust the formula so that it
doesn’t reference the cell.)

■■ Data Entered In A Table Is Invalid: When this check box is selected, the formula error checker
flags cells that violate a table’s data-validation rules. This can happen if you set up a data-
validation rule with only a Warning or Information style, in which case the user can still opt to
enter the invalid data. In such cases, the formula error checker will flag the cells that contain
invalid data. The formula error icon list includes the Display Type Information command,
which shows the data-validation rule that the cell data violates.

Auditing a worksheet
As you’ve seen, some formula errors result from referencing other cells that contain errors or inappro-
priate values. The first step in troubleshooting these kinds of formula problems is to determine which
cell (or group of cells) is causing an error. This is straightforward if the formula references only a single
cell, but it gets progressively more difficult as the number of references increases. (Another complicat-
ing factor is the use of range names because it won’t be obvious which range each name is referenc-
ing.)

To determine which cells are wreaking havoc on your formulas, you can use Excel’s auditing features
to visualize and trace a formula’s input values and error sources.

Understanding auditing
Excel’s formula-auditing features operate by creating tracers—arrows that literally point out the cells
involved in a formula. You can use tracers to find three kinds of cells:

■■ Precedents: These are cells that are directly or indirectly referenced in a formula. For example,
suppose that cell B4 contains the formula =B2; then B2 is a direct precedent of B4. Now suppose
that cell B2 contains the formula =A2/2; this makes A2 a direct precedent of B2, but it’s also an
indirect precedent of cell B4.

■■ Dependents: These are cells that are directly or indirectly referenced by a formula in another
cell. In the preceding example, cell B2 is a direct dependent of A2, and B4 is an indirect depen-
dent of A2.

■■ Errors: These are cells that contain an error value and are directly or indirectly referenced in a
formula (and therefore cause the same error to appear in the formula).

Figure 3-7 shows a worksheet with three examples of tracer arrows:

■■ Cell B4 contains the formula =B2, and B2 contains =A2/2. The arrows (they’re blue onscreen)
point out the precedents (direct and indirect) of B4.

62 Chapter 3  Troubleshooting formulas


■■ Cell D4 contains the formula =D2, and D2 contains =D1/0. The latter produces the #DIV/0!
error. Therefore, the same error appears in cell D4. The arrow (it’s red onscreen) is pointing out
the source of the error.

■■ Cell G4 contains the formula =Sheet5!A1. Excel displays the dashed arrow with the worksheet
icon whenever the precedent or dependent exists on a different worksheet.

Tracers (blue) Error tracer (red) Tracer to another worksheet

FIGURE 3-7  This worksheet demonstrates the three types of tracer arrows.

Tracing cell precedents


To trace cell precedents, follow these steps:

1. Select the cell that contains the formula whose precedents you want to trace.

2. Select Formulas > Trace Precedents. Excel adds a tracer arrow to each direct precedent.

3. Keep repeating step 2 to see more levels of precedents.

Tip  You also can trace precedents by double-clicking the cell, provided that you turn off
in-cell editing. You do this by choosing File > Options > Advanced and then deselecting
the Allow Editing Directly In Cells check box. Now when you double-click a cell, Excel se-
lects the formula’s precedents.

Tracing cell dependents


Here are the steps to follow to trace cell dependents:

1. Select the cell whose dependents you want to trace.

2. Select Formulas > Trace Dependents. Excel adds a tracer arrow to each direct dependent.

3. Keep repeating step 2 to see more levels of dependents.

Chapter 3  Troubleshooting formulas 63


Tracing cell errors
To trace cell errors, follow these steps:

1. Select the cell that contains the error you want to trace.

2. Select Formulas > Error Checking > Trace Error. Excel adds a tracer arrow to each cell that
produced the error.

Removing tracer arrows


To remove the tracer arrows, you have three choices:

■■ To remove all the tracer arrows, select Formulas > Remove Arrows.

■■ To remove precedent arrows one level at a time, select Formulas, drop down the Remove Ar-
rows list, and select Remove Precedent Arrows.

■■ To remove dependent arrows one level at a time, select Formulas, drop down the Remove Ar-
rows list, and select Remove Dependent Arrows.

Evaluating formulas
Earlier, you learned that you can troubleshoot a wonky formula by evaluating parts of it. You do this
by selecting the part of the formula you want to evaluate and then selecting F9. This works fine, but it
can be tedious in a long or complex formula, and there’s always a danger that you might accidentally
confirm a partially evaluated formula and lose your work.

A better solution is to use Excel’s Evaluate Formula feature. It does the same thing as the F9 tech-
nique, but it’s easier and safer. Here’s how it works:

1. Select the cell that contains the formula you want to evaluate.

2. Select Formulas > Evaluate Formula. Excel displays the Evaluate Formula dialog box.

3. The current term in the formula is underlined in the Evaluation box. At each step, you select
from one or more of the following buttons:

• Evaluate: Display the current value of the underlined term.


• Step In: Display the first dependent of the underlined term. If that dependent also has a
dependent, select this button again to see it (see Figure 3-8).

• Step Out: Hide a dependent and evaluate its precedent.


4. Repeat step 3 until you’ve completed your evaluation.

5. Select Close.

64 Chapter 3  Troubleshooting formulas


FIGURE 3-8  With the Evaluate Formula feature, you can “step into” the formula to display its dependent cells.

Watching cell values


In the precedent tracer example shown in Figure 3-7, the formula in cell G4 refers to a cell in another
worksheet, which is represented in the trace by a worksheet icon. In other words, you can’t see the
formula cell and the precedent cell at the same time. This could also happen if the precedent existed on
another workbook or even elsewhere on the same sheet if you’re working with a large model.

This is a problem because there’s no easy way to determine the current contents or value of the
unseen precedent. If you’re having a problem, troubleshooting requires that you track down the far-off
precedent to see if it might be the culprit. That’s bad enough with a single unseen cell, but what if your
formula refers to 5 or 10 such cells? And what if those cells are scattered in different worksheets and
workbooks?

This level of hassle—not at all uncommon in the spreadsheet world—was no doubt the inspira-
tion behind an elegant solution: the Watch Window. This window enables you to keep tabs on both
the value and the formula in any cell in any worksheet in any open workbook. Here’s how you set up a
watch:

1. Switch to the workbook that contains the cell or cells you want to watch.

2. Select Formulas > Watch Window. Excel displays the Watch Window.

3. Select Add Watch. Excel displays the Add Watch dialog box.

4. Either select the cell you want to watch or type in a reference formula for the cell (for example,
=A1). Note that you can select a range to add multiple cells to the Watch Window.

5. Select Add. Excel adds the cell or cells to the Watch Window, as shown in Figure 3-9.

Chapter 3  Troubleshooting formulas 65


FIGURE 3-9  Use the Watch Window to keep an eye on the values and formulas of unseen cells that reside in other
worksheets or workbooks.

When you no longer need a watch, you should remove it to avoid cluttering the Watch Window. To
remove a watch, select Formulas > Watch Window to open the Watch Window, select the watch, and
then select Delete Watch.

66 Chapter 3  Troubleshooting formulas


Index

Symbols accounts payable ratios, 223


accounts payable turnover, 223
& (ampersand) operator, 6 days purchases in accounts payable, 223-224
{ } (braces), in array formulas, 27 sales to accounts payable, 224
, (commas), arguments and, 72 accounts payable turnover, 223
$ (dollar sign), in cell references, 13 accounts receivable aging worksheet, building,
( ) (parentheses), in order of precedence, 8-9 122-124
(‘ ‘) (single quotation marks), in external refer- accounts receivable ratios, 222
ences, 22 accounts receivable turnover, 222
#CALC! error value, 50 average AR duration, 222-223
#DIV/0! error value, 50 accounts receivable turnover, 222
#FIELD! error value, 51 acid-test ratio, 226-227
#N/A! error value, 51, 58 ACOS() function, 185
#NAME? error value, 51-53 ACOSH() function, 185
#NULL! error value, 53 ACOT() function, 185
#NUM! error value, 53, 353 ACOTH() function, 186
#REF! error value, 53-54 adding. See also inserting
constraints in Solver, 426-428
#SPILL! error value, 28, 54, 202
every nth row with MOD() function, 196
#UNKNOWN! error value, 54
formulas to data tables, 402-403
#VALUE! error value, 54, 248
months to dates, 163
with EDATE() function, 163
with EOMONTH() function, 164
A scenarios
to Quick Access Toolbar, 416
ABS( ) function, 183
to worksheets, 414-415
absolute reference format, 13 times, 176
ignoring when applying range names, 18 values, 192
account numbers with SUM() function, 192-195
generating, 96, 102-103 with SUMIF() function, 193
looking up, 144-145 with SUMIFS() function, 193-194

443
add-ins

add-ins, loading Solver, 423 in Function Arguments dialog box, 75-76


ADDRESS( ) function, 122 syntax, 71
advertising, analyzing versus sales, 274 arithmetic formulas, operators for, 5-6
ages, calculating, 169-170 array constants, 30-31
AGGREGATE( ) function, 183 array formulas
aging overdue invoices, 123-124 array constants in, 30-31
aging worksheet (accounts receivable), correspondences in, 28
building, 122-124 defined, 25
dynamic, 27-28
algebraic equations, solving, 411-412
entering, 26-27
allowing principal paydowns, 321-323
on multiple ranges, 29
amortization schedules, building, 312-315,
arrays
320-321
creating, 25
ampersand (&) operator, 6
defined, 25
Analysis ToolPak
functions using/returning, 31-32
loading, 76-77
logical functions combined with, 116-121
Regression tool, 273
resizing, 27
analyzing selecting, 27
data. See Goal Seek; scenarios; what-if sorting tables into
analysis with SORTBY() function, 364-365
table of defects, 378-379 with SORT() function, 364
anchored cell references, 13 AR. See accounts receivable ratios
AND() function, 106, 111-113 articles, sorting without, 363-364
aging overdue invoices, 124
ASIN() function, 186
applying conditions across ranges, 116
ASINH() function, 186
looking up list values, 118
ATAN() function, 186
ANSI character set, 80
ATAN2() function, 186
generating, 81-82
ATANH() function, 186
ANSI codes, 80
auditing worksheets, 62-63
CHAR( ) function, 81-83
dependent tracing, 63
CODE( ) function, 83
error cell tracing, 64
Answer report (Solver), 437-439
evaluating formulas, 64-65
applying range names to formulas, 17-20
precedent tracing, 63
approximations in Goal Seek, 409-410
removing tracer arrows, 64
AP. See accounts payable ratios setting Watch Windows, 65-66
ARABIC( ) function, 183 AutoComplete feature for functions, 73-74
arguments automatic recalculation, 10
commas and, 72
average AR duration, 222-223
defined, 71
average deviation, 240
forms allowed, 72
average difference, 240

444
calculated fields

AVERAGE( ) function, 233 break-even analysis


AVERAGEA( ) function, 233 with Goal Seek, 410-411
AVERAGEIF( ) function, 233 with Solver, 423-426
AVERAGEIFS( ) function, 234 break-even point, 211-213
averages, calculating, 232 building. See also creating; entering
with AVERAGE( ) function, 233 investment schedules, 335-337
with AVERAGEA( ) function, 233 loan amortization schedules, 312-315,
with AVERAGEIF( ) function, 233 320-321
with AVERAGEIFS( ) function, 234 built-in functions. See functions
with MEDIAN( ) function, 234 business forecasting. See regression analysis
with MODE( ) function, 234 business formulas
with SUMPRODUCT( ) function, 235-236 financial, 213
cost of goods sold, 215
fixed-asset ratios, 217-218

B gross margin, 216


net margin, 216
BAHTTEXT( ) function, 79 sales ratios, 214-215
balloon loan payments, calculating, 308 inventory, 218
BASE( ) function, 183 inventory management, 220-221
bell curves, 257-258. See also normal distri- inventory ratios, 218-220
bution liquidity, 221
Bernoulli sampling process, 255 accounts payable ratios, 223-224
accounts receivable ratios, 222-223
best-fit trendlines, 266
liquidity index, 227-228
analyzing sales versus advertising, 274
liquidity ratios, 226-227
calculating
working capital, 224-225
with LINEST( ) function, 271-273
pricing, 207
with TREND( ) function, 270-271
break-even point, 211-213
plotting, 267-268
discounts, 209-211
R2 for, 269-270
markups, 207-209
regression equation for, 268-269
business modeling tools. See Goal Seek; sce-
billable time, rounding, 191-192
narios; what-if analysis
bin interval, 242
buying equipment, leasing versus, 343-344
BINOM.DIST( ) function, 255
binomial distributions, 255
bins, 242
birthday, returning, 164 C
blanks, counting in ranges, 131-132 #CALC! error value, 50
Boolean logic. See logical functions calculated fields
borrowed amount, calculating, 318-319 creating, 393-394
braces ({ }), in array formulas, 27 defined, 391

445
calculated items

calculated items differences between times, 176-177


creating, 394-395 with MOD() function, 195
defined, 392 discount amount, 210
calculating discount rate, 210-211
accounts payable turnover, 223 exponential trend values, 290-291
accounts receivable turnover, 222 extreme values, 236
acid-test ratio, 226-227 with LARGE() and SMALL() functions,
ages, 169-170 237-238
average AR duration, 222-223 with MAX() and MIN() functions, 236
averages, 232 fixed assets to short-term debt, 218
with AVERAGE( ) function, 233 fixed-asset turnover, 217
with AVERAGEA( ) function, 233 frequency distributions, 242-244
with AVERAGEIF( ) function, 233 future value, 328-330
with AVERAGEIFS( ) function, 234 for investment goals, 334
with MEDIAN( ) function, 234 gross margin, 216
with MODE( ) function, 234 holiday dates, 167-168
with SUMPRODUCT( ) function, Easter Sunday, 189
235-236 initial deposit for investment goals, 333
best-fit trendlines interest costs, 309-310
with LINEST( ) function, 271-273 interest rate, 317-318
with TREND( ) function, 270-271 for investment goals, 330-331
borrowed amount, 318-319 internal rate of return, 352
break-even point, 211-213 with IRR() function, 352-353
cash ratio, 227 with MIRR() function, 353-354
confidence intervals, 261-262 with XIRR() function, 353
correlation, 251-252 inventory reorder level, 221
cost of goods sold, 215 inventory safety stock, 220-221
cost price, 209 inventory turnover, 219
covariance, 250-251 inventory turnover rate, 219
cumulative principal and interest, 311-312 Julian dates, 169
cumulative totals, 194-195 liquidity index, 227-228
current ratio, 226 list price, 211
days purchases in accounts payable, loan payments, 306-312
223-224 logarithmic trend values, 295-296
deposits for investment goals, 332-333 markup amount, 208
difference between dates, 169-170 markup rate, 208-209
with DAYS( ) function, 170 net margin, 216
with DAYS360( ) function, 171-172 net present value, 345-346
with NETWORKDAYS( ) function, with NPV() function, 346-348
170-171 with XNPV() function, 348-349
with YEARFRAC( ) function, 172 net price, 209-210

446
changing

payback period, 349 cash flows, discounting, 344-345


discounted, 351 calculating net present value, 345-349
exact undiscounted, 350-351 cash-flow analysis, book publishing example,
simple undiscounted, 349-350 354-358. See also discount formulas
percentile, 239, 259 net cash flows, 356-357
periods for investment goals, 331-332 operating costs and sales, 355-356
PivotTable subtotals, 382-383 per-unit constants, 355
polynomial regression values, 301-302 cash ratio, 227
power trend values, 298-299 catalog price, 209
present value, 339-340 categories, consolidating by, 38-39
inflation, 340-341
categorizing by values, 112-113
with PV( ) function, 341-344
causation, 252
preventing calculation errors, 190-191
CEILING.MATH() function, 183, 188-189
principal and interest, 309-310
cell errors. See error cells
probability, 253-255
range, 240 CELL() function, 99-100, 125-127
rank, 239 cell references. See also referencing
return on fixed assets, 217-218 absolute format, 13
sales per employee, 215 ignoring when applying range
sales to accounts payable, 224 names, 18
sales to current assets, 214 changing format of, 14
sales to inventory, 220 circular, troubleshooting, 56-57
sales to short-term debt, 214 converting range names to, 52
selling price, 208 external, 22
shape of curve, 260-261 mixed format, 14
standard deviation, 241-242 in range names, 13
standard scores, 258-259 relative format, 12-14
term of loan, 315-317 ignoring when applying range
tiered payments, 110 names, 18
value field summaries, 383 troubleshooting, 53-54
difference calculations, 383-385 cell values, watching, 65-66
index calculations, 389-391 cells
percentage calculations, 385-387 linking dialog box controls to, 43
running total calculations, 388-389 padding, 92
variance, 240-241 changing
weighted questionnaire results, 139 cell reference format, 14
working capital, 224-225 cells
working capital turnover, 225 in Goal Seek, 406
calculation of formulas, controlling, 9-10 in scenarios, 414
carriage returns, removing with CLEAN( ) in Solver, 422
function, 90 link source, 23

447
changing

value field summary calculations, 383 COMBIN() function, 184


difference calculations, 383-385 COMBINA() function, 184
index calculations, 389-391 combo boxes
percentage calculations, 385-387 inserting, 46-47
running total calculations, 388-389 looking up values, 148
CHAR( ) function, 79-83, 200 commas (,), arguments and, 72
character codes, 80-81 comparing scenarios, 417-419
CHAR( ) function, 81-83 comparison formulas, operators for, 6
CODE( ) function, 83 complex criteria, filtering with, 366
characters entering compound criteria, 368-369
counting with SUBSTITUTE( ) function, 102 filtering with criteria range, 367-368
removing extra, 89 setting up criteria range, 366-367
with CLEAN( ) function, 90 compound computed criteria, 369
with TRIM( ) function, 89-90
compound criteria, entering, 368-369
removing from strings, 101-102
compound interest, 325
repeating with REPT( ) function, 92-93
computed criteria, 366
charts, building text-based, 92-93
filtering with, 369-370
check boxes, inserting, 46
CONCAT() function, 80
CHOOSE( ) function, 136-137
concatenating text with delimiter, 91
day of week, determining, 137
conditional formatting, 114-115
disadvantages of, 140
creating ledger shading, 197
month of fiscal year, determining, 138-139
conditions
option buttons, integration with, 139-140
applying across ranges, 116
weighted questionnaire results, calculating,
operations on cells meeting, 117-118
139
confidence intervals, calculating, 261-262
choosing error actions, 58-59
confidence levels, 262
circular references, 32-34
troubleshooting, 56-57 CONFIDENCE.NORM() function, 262
CLEAN( ) function, 79, 90, 103 CONFIDENCE.T() function, 262
client workbooks, 21 consolidating multisheet data, 34-35
by category, 38-39
CODE( ) function, 79, 83
by position, 35-38
coefficient of determination (R2), 269-270
constants, array, 30-31
COGS (cost of goods sold), 215
constraint cells in Solver, 422
COLUMN( ) function, 31, 99-100
constraints
column letters, extracting, 99-100
adding in Solver, 426-428
column names in range names, 18-20
non-negative constraints in Solver, 428
columns
continuous compounding, 329
creating ledger shading, 198
continuous random variables, 246
lookup column, specifying, 148-149
contribution margin, 211
COLUMNS( ) function, 31

448
customizing PivotTable subtotal calculations

controls. See dialog box controls errors in ranges, 132


converting items, 230
between nominal/effective interest rates, with COUNT() function, 230
327, 335 with COUNTA() function, 231
dates with text functions, 95 with COUNTBLANK() function, 231
degrees/radians, 185 with COUNTIF() function, 232
formulas with COUNTIFS() function, 232
to text, 49 non-numeric values in ranges, 132
to values, 15-16 occurrences in ranges, 119-120
range names to cell references, 52 covariance, calculating, 250-251
strings COVARIANCE.P() function, 250-251
to dates, 158 COVARIANCE.S() function, 250-251
to times, 174 creating
text, 84 arrays, 25
with LOWER( ) function, 84 custom functions, 70
with NUMBERVALUE( ) function, 85 custom PivotTable calculations, 391
with PROPER( ) function, 84 calculated fields, 393-394
to sentence case, 95 calculated items, 394-395
with UPPER( ) function, 84 restrictions on, 392
copying formulas, 11-12 criteria range
with absolute references, 13 filtering with, 367-368
with mixed references, 14 setting up, 366-367
with relative references, 12-14 CSC() function, 186
CORREL( ) function, 251-252, 270-271 CSCH() function, 186
correlation, calculating, 251-252 CUMIPMT() function, 311-312
correspondences in array formulas, 28 CUMPRINC() function, 311-312
COS( ) function, 186 cumulative principal and interest, calculating,
COSH( ) function, 186 311-312
cost of goods sold (COGS), 215 cumulative totals, calculating, 194-195
cost price, 209 current assets, 224
costs, types of, 211 sales to, 214
COT( ) function, 186 current date, returning, 157
COTH( ) function, 186 current liabilities, 224
COUNT( ) function, 230 current ratio, 226
COUNTA( ) function, 231 current time, returning, 173
COUNTBLANK( ) function, 131, 231 custom functions, creating, 70
COUNTIF( ) function, 232, 254 customizing PivotTable subtotal calculations,
COUNTIFS( ) function, 232 382-383
counting
blanks in ranges, 131-132
characters with SUBSTITUTE( ) function, 102

449
custom PivotTable calculations

custom PivotTable calculations, creating, 391 YEAR(), 159


calculated fields, 393-394 YEARFRAC(), 172
calculated items, 394-395 dates
restrictions on, 392 adding months to, 163
with EDATE() function, 163
with EOMONTH() function, 164

D calculating difference between, 169-170


with DAYS() function, 170
data analysis tools. See Goal Seek; scenarios; with DAYS360() function, 171-172
what-if analysis with NETWORKDAYS() function,
data bars, 94 170-171
data tables with YEARFRAC() function, 172
adding formulas to, 402-403 calculating
editing, 405 Easter Sunday, 189
one-input setup, 400-402 holidays, 167-168
recalculating, 10, 404 Julian dates, 169
two-input setup, 403-405 converting
data types, referencing, 51, 54 with text functions, 95
data validation, 40-42 strings to, 158
entering, 154-155
DATE( ) function, 95, 156, 158, 161
formatting, 88, 154-155
returning birthday, 164
returning, 157
returning future dates, 161
with DATE() function, 158
returning last day of month, 164
with DATEVALUE() function, 158
date functions
future dates, 161
DATE( ), 158, 161, 164
with TODAY() function, 157
DATEVALUE( ), 158
returning parts of, 159
DAY(), 159
with DAY() function, 159
DAYS( ), 170
with ISOWEEKNUM() function, 160
DAYS360( ), 171-172
with MONTH() function, 159
EDATE( ), 163
with WEEKDAY() function, 160
EOMONTH( ), 164
with WEEKNUM() function, 160
ISOWEEKNUM( ), 160
with WORKDAY() function, 161
list of, 156-157
with WORKDAY.INTL() function,
MONTH( ), 159
162-163
NETWORKDAYS( ), 170-171
with YEAR() function, 159
NETWORKDAYS.INTL( ), 171
serial numbers for, 153-154
TODAY(), 157
two-digit years, 155-156
WEEKDAY( ), 137, 160, 165-167
DATEVALUE() function, 156, 158
WEEKNUM( ), 160
WORKDAY( ), 161 DAVERAGE() function, 376-377
WORKDAY.INTL( ), 162-163 DAY() function, 156, 159

450
discount formulas

day of week, determining, 137 frequency distributions, 242-244


DAYS( ) function, 156, 170 percentile, 239
DAYS360( ) function, 156, 171-172 range, 240
days purchases in accounts payable, 223-224 rank, 239
DCOUNT( ) function, 376 standard deviation, 241-242
variance, 240-241
DCOUNTA( ) function, 376
deseasoning data, 286
DECIMAL( ) function, 184
destination ranges, 35
degree symbol, inserting, 89
Developer tab, displaying, 42
degrees, converting to/from radians, 185
DGET( ) function, 376-378
DEGREES( ) function, 185-186
dialog box controls
deleting. See removing
check boxes, 46
delimiters, concatenating text with, 91
combo boxes, 46-47
dependents
group boxes, 44
defined, 62
inserting, 43
tracing, 63
linking to cells, 43
dependent variables, 246, 265
list boxes, 46-47
dependent workbooks, 21 option buttons, 45
deposits, calculating scroll bars, 47-48
future value, 329 spin boxes, 47-48
for investment goals, 332-333 difference between dates, calculating, 169-170
descriptive statistics, 229-230 with DAYS() function, 170
averages, 232 with DAYS360() function, 171-172
with AVERAGE( ) function, 233 with NETWORKDAYS() function, 170-171
with AVERAGEA( ) function, 233 with YEARFRAC() function, 172
with AVERAGEIF( ) function, 233 differences between times, calculating, 176-177
with AVERAGEIFS( ) function, 234 with MOD() function, 195
with MEDIAN( ) function, 234
difference summary calculations, 383-385
with MODE( ) function, 234
direct costs, 215
with SUMPRODUCT( ) function,
direct relationships, 250
235-236
disabling data table recalculation, 404
counting items, 230
with COUNT( ) function, 230 discontinuities, 429
with COUNTA( ) function, 231 discount amount, 210
with COUNTBLANK( ) function, 231 discounted payback period, calculating, 351
with COUNTIF( ) function, 232 discount factor, 340
with COUNTIFS( ) function, 232 discount formulas. See also cash-flow analysis
extreme values, 236 discounting cash flows, 344-345
with LARGE( ) and SMALL( ) functions, net present value, 345-349
237-238
with MAX( ) and MIN( ) functions, 236

451
discount formulas

internal rate of return, 352 DMAX() function, 376


with IRR( ) function, 352-353 DMIN() function, 376
with MIRR( ) function, 353-354 DOLLAR() function, 80, 86
with XIRR( ) function, 353 dollar sign ($), in cell references, 13
payback period, 349 dot follower effect, 92
discounted, 351
DPRODUCT() function, 376
exact undiscounted, 350-351
drop-down lists, in-cell lists and exact-match
simple undiscounted, 349-350
lookups, 145-146
present value, 339-340
DSTDEV() function, 376
inflation, 340-341
DSTDEVP() function, 376
with PV( ) function, 341-344
relationship to present value/future value/ DSUM( ) function, 375-376
interest earned, 339 due dates, avoiding weekends, 122-123
discount functions DVAR() function, 376
IRR(), 352-353 DVARP() function, 376
MIRR( ), 353-354 dynamic amortization schedules, building,
NPV(), 346-348 313-315
PV(), 341-344 dynamic array formulas, 27-28
XIRR( ), 353 dynamic array functions, list of, 32
XNPV(), 348-349
discount rate, 210-211
returning, 142-143
discounts (on price), 209
E
discount amount, 210 Easter Sunday, calculating, 168, 189
discount rate, 210-211 EDATE() function, 156, 163
list price, 211 editing
net price, 209-210 constraints, 427
discrete probability distributions data tables, 405
binomial, 255 formulas, 5
hypergeometric, 256 scenarios, 416-417
Poisson, 256-257 Edit mode, 5
discrete random variables, 246 EFFECT() function, 327, 335
displaying effective interest, 326-327
Developer tab, 42 converting to/from nominal interest, 327,
formulas, 15 335
last updated date, 89 employee time sheets, building, 177-181
scenarios, 415-416 employees, sales per, 215
#DIV/0! error value, 50 empty cells, counting, 231
dividing by zero errors, 50 engines in Solver, 429
avoiding, 109

452
feasible solutions

entering EVEN() function, 184, 189


array formulas, 26-27 even rows, adding, 196
compound criteria, 368-369 Evolutionary engine, 429, 432
computed criteria, 369-370 EXACT() function, 80
dates/times, 154-155 exact-match lookups, 144-146
dynamic array formulas, 27-28
exact undiscounted payback point, calculating,
formulas, 4-5
350-351
functions into formulas, 73-74
EXP() function, 184, 288, 299
table formulas, 373-374
exponential trends, 288-289
table functions, 376
calculating values, 290-291
Enter mode, 4
with GROWTH() function, 291-292
EOMONTH( ) function, 156, 164
with LOGEST() function, 292-293
error actions, choosing, 58-59 plotting, 289-290
error cells exponentiation operator, 5
defined, 62
extending forecasts
tracing, 64
with fill handle, 276
error checker (for formulas), 58 with Series command, 276-277
choosing error action, 58-59
external references, 22
setting options, 59-62
extracting
error indicator (green triangle), 58
column letters, 99-100
error messages for parentheses in formulas, 9 names, 97-99
ERROR.TYPE() function, 125, 128-129 periodic samples, 247-248
error values, 50 random samples, 249
#CALC!, 50 substrings, 94
#DIV/0!, 50 with LEFT() function, 94
#FIELD!, 51 with MID() function, 94
#N/A!, 51, 58 with RIGHT() function, 94
#NAME?, 51-53 extreme values, calculating, 236
#NULL!, 53 with LARGE() and SMALL() functions,
#NUM!, 53 237-238
#REF!, 53-54 with MAX() and MIN() functions, 236
#SPILL!, 54
#UNKNOWN!, 54
#VALUE!, 54
errors. See also troubleshooting formulas F
counting in ranges, 132 FACT() function, 184
ignoring in ranges, 132-133 FACTDOUBLE() function, 184
preventing with rounding, 190-191
FALSE results, handling in IF() function, 108
evaluating formulas, 64-65
FALSE() function, 106
feasible solutions, 431

453
#FIELD! error value

#FIELD! error value, 51 fiscal year, determining month of, 138-139


field names, 361 FISHER() function, 229
field values, 361 fixed assets, 217
fields fixed assets to short-term debt, 218
defined, 361 fixed-asset ratios, 217
hiding, 362 fixed assets to short-term debt, 218
partial fields, sorting on, 362-363 fixed-asset turnover, 217
FIELDVALUE( ) function, 136 return on fixed assets, 217-218
fill handle, extending forecasts, 276 fixed-asset turnover, 217
FILTER( ) function, 32, 370 fixed costs, 211
filtering tables, 365-366 FIXED() function, 80, 87
with complex criteria, 366-369 fixed-rate amortization schedules, building,
with computed criteria, 369-370 312-313
with FILTER( ) function, 370 FLOOR.MATH() function, 184, 188-189
with UNIQUE( ) function, 371 FORECAST() function, 279
financial formulas, 213. See also business for- forecasts, 274. See also exponential trends;
mulas; discount formulas; investment logarithmic trends; power trends;
formulas; loan formulas regression analysis
compound interest, 325 extending
continuous compounding, 329 with fill handle, 276
converting between nominal/effective with Series command, 276-277
interest rates, 327, 335 plotting, 275
cost of goods sold, 215 regression equation for, 277-278
effective interest, 326-327 seasonal sales model case study, 280-288
fixed-asset ratios, 217 with FORECAST() function, 279
fixed assets to short-term debt, 218 with LINEST() function, 279
fixed-asset turnover, 217 with TREND() function, 278
return on fixed assets, 217-218 Forecast Sheet, 267
gross margin, 216
formatting
net margin, 216
conditional formatting, 114-115
nominal interest, 326-327
creating ledger shading, 197
sales ratios, 214
dates/times, 154-155
sales per employee, 215
numbers, restoring formatting, 388
sales to current assets, 214
text, 85
sales to short-term debt, 214
with DOLLAR() function, 86
simple interest, 325
with FIXED() function, 87
time value of money, 305-306
with TEXT() function, 87-89
FIND( ) function, 80, 97-99
form controls
finding check boxes, 46
leap years, 196-197 combo boxes, 46-47
row numbers of list values, 120-121

454
formulas

group boxes, 44 financial, 213


inserting, 43 compound interest, 325
linking to cells, 43 continuous compounding, 329
list boxes, 46-47 converting between nominal/ef-
option buttons, 45 fective interest rates, 327, 335
scroll bars, 47-48 cost of goods sold, 215
spin boxes, 47-48 effective interest, 326-327
formulas fixed-asset ratios, 217-218
adding to data tables, 402-403 gross margin, 216
arithmetic, operators for, 5-6 net margin, 216
array nominal interest, 326-327
array constants in, 30-31 sales ratios, 214-215
correspondences in, 28 simple interest, 325
defined, 25 time value of money, 305-306
dynamic, 27-28 inventory, 218
entering, 26-27 inventory management, 220-221
on multiple ranges, 29 inventory ratios, 218-220
circular references, 32-34 investment
comparison, operators for, 6 building investment schedule,
computed criteria, entering, 369-370 335-337
conditional formatting with, 114-115 calculating future value, 328-330
converting investment goals, 330-334
to text, 49 iteration, 32-34
to values, 15-16 limits on, 4
copying/moving, 11-12 line breaks in, 3
with absolute references, 13 links in, 21
with mixed references, 14 changing source, 23
with relative references, 12-14 external references, 22
discount updating, 22-23
calculating internal rate of return, liquidity, 221
352-354 accounts payable ratios, 223-224
calculating payback period, 349-351 accounts receivable ratios, 222-223
calculating present value, 339-344 liquidity index, 227-228
discounting cash flows, 344-349 liquidity ratios, 226-227
relationship to present value/future working capital, 224-225
value/interest earned, 339 loan
displaying, 15 allowing principal paydowns, 321-323
editing, 5 borrowed amount, 318-319
entering, 4-5 building loan amortization schedules,
evaluating, 64-65 312-315, 320-321

455
formulas

cumulative principal and interest, date functions


311-312 DATE(), 95, 158, 161, 164
interest costs, 309-310 DATEVALUE(), 158
interest rate, 317-318 DAY(), 159
loan payments, 306-312 DAYS(), 170
principal and interest, 309-310 DAYS360(), 171-172
term of loan, 315-317 EDATE(), 163
naming, 20 EOMONTH(), 164
nesting, limits on, 4 ISOWEEKNUM(), 160
operator precedence, 7-9 list of, 156-157
PivotTable results in, 395-397 MONTH(), 159
pricing, 207 NETWORKDAYS(), 124, 170-171
break-even point, 211-213 NETWORKDAYS.INTL(), 171
discounts, 209-211 TODAY(), 157
markups, 207-209 WEEKDAY(), 122, 137, 160, 165-167
range names in, 16 WEEKNUM(), 160
applying new, 17-20 WORKDAY(), 123, 161
pasting, 16-17 WORKDAY.INTL(), 162-163
recalculation, controlling, 9-10 YEAR(), 159
reference, operators for, 6 YEARFRAC(), 172
referencing tables in, 371 defined, 70
entering table formulas, 373-374 discount functions
table specifiers, 371-373 IRR( ), 352-353
structure of, 3 MIRR(), 353-354
table, entering, 373-374 NPV(), 346-348
in table records, sorting, 362 PV(), 341-344
text, operators for, 6 XIRR(), 353
troubleshooting. See troubleshooting XNPV(), 348-349
formulas FORMULATEXT(), 8, 15
typing functions into, 73-74 IFERROR(), 57-58
FORMULATEXT( ) function, 8, 15 IFNA(), 58, 143
fractional powers, raising numbers to, 9 information functions
frequency distributions, calculating, 242-244 CELL(), 125-127
FREQUENCY( ) function, 243-244, 253 ERROR.TYPE(), 128-129
INFO(), 70, 129-130
front loading interest costs, 309
ISxxx( ), 130, 132-133
functions
list of, 125
ADDRESS( ), 122
SHEET(), 130
in Analysis TookPak, 76
SHEETS(), 130
AutoComplete feature, 73-74
Insert Function feature, 74-76
COLUMNS( ), 31
creating custom, 70

456
functions

investment functions MOD(), 195-198


EFFECT(), 327, 335 MROUND(), 187-188, 191-192
FV( ), 71-72, 328-330 ODD(), 189
FVSCHEDULE( ), 334 RAND( ), 199-201
NOMINAL( ), 327, 335 RANDARRAY(), 32, 202
NPER(), 331-332 RANDBETWEEN(), 201, 249
PMT(), 332-333 ROUND(), 186-187
PV(), 333 ROUNDDOWN(), 188
RATE(), 330-331 ROUNDUP(), 188
loan functions SEQUENCE(), 32, 202-203
CUMIPMT( ), 311-312 SUM(), 70, 192, 194-195
CUMPRINC( ), 311-312 SUMIF(), 193
FV(), 317 SUMIFS(), 193-194
INDIRECT( ), 310 TRUNC(), 190
IPMT(), 309-310 MDETERM(), 31
NPER(), 315-316 MINVERSE(), 31
PMT( ), 70, 307-308 MMULT(), 31
PPMT(), 309-310 names, troubleshooting, 51-52
PV(), 318-319 nesting, 73
RATE(), 317-318 regression analysis
logical functions EXP(), 288-299
AND(), 111-113, 124 FORECAST(), 279
IF( ), 50, 70, 106-124, 143 GROWTH(), 31, 291-292
IFS(), 110-111 INTERCEPT(), 273
list of, 106 LINEST(), 31, 271-273, 279, 295, 302,
OR(), 113-114 304
XOR( ), 114 LN(), 293-295, 298
lookup functions, 135 LOGEST(), 31, 292-293
CHOOSE( ), 137-140 RSQ(), 273
HLOOKUP( ), 31, 141-146 SLOPE(), 273
INDEX( ), 31, 47, 147-151 TREND(), 32, 270-271, 278, 301-304
list of, 136 ROW(), 31, 82, 121
LOOKUP( ), 31 ROWS(), 31
MATCH( ), 31, 146-151 SINGLE(), 32
VLOOKUP( ), 32, 140-146 statistical functions
math functions AVERAGE(), 233
CEILING.MATH( ), 188-189 AVERAGEA(), 233
EVEN( ), 189 AVERAGEIF(), 233
FLOOR.MATH( ), 188-189 AVERAGEIFS(), 234
INT( ), 190-191 BINOM.DIST(), 255
list of, 183-185 CONFIDENCE.NORM(), 262
CONFIDENCE.T(), 262

457
functions

CORREL( ), 251-252, 270-271 VARPA(), 241


COUNT( ), 230 VAR.S(), 241
COUNTA( ), 231 Z.TEST(), 263
COUNTBLANK( ), 131, 231 structure of, 70-72
COUNTIF( ), 232, 254 summary functions
COUNTIFS( ), 232 changing, 383
COVARIANCE.P( ), 250-251 difference calculations, 383-385
COVARIANCE.S( ), 250-251 index calculations, 389-391
FISHER( ), 229 list of, 383
FREQUENCY( ), 243-244, 253 percentage calculations, 385-387
HYPGEOM.DIST( ), 256 running total calculations, 388-389
KURT( ), 261 table functions
LARGE( ), 237-238 advantages of, 375
MAX( ), 115, 121, 236, 240 analyzing table of defects, 378-379
MAXA( ), 237 DAVERAGE(), 377
MEDIAN( ), 234 DGET(), 377-378
MIN( ), 115, 121, 236, 240 DSUM(), 375
MINA( ), 237 entering, 376
MODE( ), 234 FILTER(), 32, 370
MODE.MULT( ), 235 GETPIVOTDATA(), 391, 395-397
MODE.SNGL( ), 235 list of, 376
NORM.DIST( ), 259 SORT(), 32, 364
OFFSET( ), 246-249 SORTBY(), 32, 364-365
PEARSON( ), 229 syntax of, 375-376
PERCENTILE.EXC( ), 239 TABLE(), 405
PERCENTILE.INC( ), 239 UNIQUE(), 32, 371
PHI( ), 229 text functions
POISSON.DIST( ), 256 CELL(), 99-100
PROB( ), 254 CHAR(), 81-83, 200
RANK.AVG( ), 239 CLEAN(), 90, 103
RANK.EQ( ), 239 CODE(), 83
SKEW( ), 260 COLUMN(), 31, 99-100
SMALL( ), 237-238 DOLLAR(), 86
STDEVA( ), 242 FIND(), 97-99
STDEV.P( ), 242 FIXED(), 87
STDEVPA( ), 242 LEFT(), 94
STDEV.S( ), 242 LEN(), 90
SUMPRODUCT( ), 31, 235-236 list of, 79-80
T.TEST( ), 264 LOWER(), 84
VARA( ), 241 MID(), 94
VAR.P( ), 241 NUMBERVALUE(), 85
PROPER(), 84

458
histograms

REPLACE( ), 100-101 random numbers, 198


REPT( ), 92-93 with RAND() function, 199-201
RIGHT( ), 94 with RANDARRAY() function, 202
SEARCH( ), 97-99 with RANDBETWEEN() function, 201
SUBSTITUTE( ), 101-103 with SEQUENCE() function, 202-203
TEXT( ), 87-89 series of letters, 82-83
TEXTJOIN( ), 91 Solver reports, 437
TRIM( ), 89-90 Answer report, 437-439
UNICHAR( ), 81 Limits report, 441
UPPER(), 84 Sensitivity report, 439-440
time functions summary reports for scenarios, 417-419
HOUR( ), 174 GETPIVOTDATA() function, 136, 391, 395-397
list of, 173 Goal Seek, 405
MINUTE( ), 175 approximations in, 409-410
NOW( ), 71, 89, 173 break-even analysis, 410-411
SECOND( ), 175 iterative methods, 406
TIME( ), 174-176 optimizing product margin, 408-409
TIMEVALUE( ), 174 pausing, 407
TRANSPOSE( ), 32 resuming, 407
trigonometric functions, list of, 185-186 solving algebraic equations, 411-412
types of, 69 steps in, 407-408
typing into formulas, 73-74 worksheet setup, 406
using/returning arrays, 31-32 Good Friday, calculating, 168
future dates, returning, 161 grand totals
future times, returning, 175-176 of calculated fields, 394
future value, 306 in PivotTables, 381
calculating, 328-330 hiding, 382
for investment goals, 334 GRG Nonlinear engine, 429, 431-432
relationship to discounting, 339 gross margin, 216
FV( ) function, 71-72, 317, 328-330 group boxes, inserting, 44
FVSCHEDULE() function, 334 GROWTH() function, 31, 291-292

G H
GCD( ) function, 184 hiding
generating fields, 362
account numbers, 96, 102-103 PivotTable grand totals, 382
ANSI character set, 81-82 PivotTable subtotals, 382
random letters, 200 histograms, 93

459
HLOOKUP() function

HLOOKUP( ) function, 31, 136, 141-142 INDEX() function, 31, 47, 136, 147
exact-match lookups, 144-146 list boxes, looking up values, 148
range lookups, 142-144 lookup column, specifying, 148-149
holidays, calculating, 167-168, 189 multiple-column lookups, 150-151
HOUR( ) function, 173-174 row-and-column lookups, 149-150
hurdle rate, 346 INDIRECT() function, 310
HYPGEOM.DIST( ) function, 256 inferential statistics, 245-246
hypergeometric distributions, 256 confidence intervals, 261-262
hypothesis testing, 263-264 correlation, 251-252
covariance, 250-251
hypothesis testing, 263-264
normal distribution, 257-258
I percentiles, 259
shape of curve, 260-261
IF( ) function, 70, 106, 143
standard scores, 258-259
aging overdue invoices, 123-124
probability distributions, 252
applying conditions across ranges, 116
binomial, 255
avoiding
calculating, 253-255
#DIV/0 errors, 50
hypergeometric, 256
division by zero, 109
Poisson, 256-257
weekend due dates, 122-123
sampling data, 246-247
combining with arrays, 116-121
periodic samples, 247-248
conditional formatting with, 114-115
random samples, 249
counting occurrences in ranges, 119-120
finding row numbers in lists, 120-121 inflation, 340-341
handling FALSE results, 108 INFO() function, 70, 125, 129-130
multiple logical tests with, 109-115 information functions
nesting, 109-110 CELL(), 125-127
operations on cells that meet condition, ERROR.TYPE(), 128-129
117-118 INFO(), 129-130
simple version, 106-107 ISxxx( ), 130, 132-133
IFERROR( ) function, 57-58, 106 list of, 125
IFNA( ) function, 58, 106, 143 SHEET(), 130
SHEETS(), 130
IFS( ) function, 106, 110-111
initial deposit, calculating for investment goals,
ignoring errors in ranges, 132-133
333
in-cell drop-down lists, exact-match lookups
input modes, 4-5
and, 145-146
Insert Function feature, 74-76
income investing, rental properties versus,
342-343 inserting
degree symbol, 89
incorrect formula results, troubleshooting, 56
dialog box controls, 43
independent variables, 246, 265
check boxes, 46
index summary calculations, 389-391
combo boxes, 46-47

460
IPMT() function

group boxes, 44 inventory management formulas, 220


list boxes, 46-47 inventory reorder level, 221
option buttons, 45 inventory safety stock, 220-221
scroll bars, 47-48 inventory ratios, 218
spin boxes, 47-48 inventory turnover, 219
functions with Insert Function feature, inventory turnover rate, 219
74-76 sales to inventory, 220
integrating CHOOSE( ) function with option inventory reorder level, 221
buttons, 139-140 inventory safety stock, 220-221
intelligent, defined, 105 inventory turnover, 219
INTERCEPT( ) function, 273 inventory turnover rate, 219
interest costs inverse relationships, 250
calculating, 309-310 investment formulas. See also discount for-
front loading, 309 mulas
interest earned, relationship to discounting, building investment schedule, 335-337
339 calculating future value, 328-330
interest rates investment goals, 330
calculating, 317-318 deposits, 332-333
for investment goals, 330-331 future value with varying interest
compound interest, 325 rates, 334
converting between nominal/effective initial deposit, 333
rates, 327, 335 interest rate, 330-331
effective interest, 326-327 periods, 331-332
nominal interest, 326-327 investment functions
simple interest, 325 EFFECT(), 327, 335
internal rate of return, calculating, 352 FV(), 328-330
with IRR( ) function, 352-353 FVSCHEDULE(), 334
with MIRR( ) function, 353-354 NOMINAL(), 327, 335
with XIRR( ) function, 353 NPER(), 331-332
INT( ) function, 184, 190-191 PMT(), 332-333
inventory, 218 PV(), 333
inventory formulas, 218 RATE(), 330-331
inventory management, 220 investment goals, 330
inventory reorder level, 221 deposits, 332-333
inventory safety stock, 220-221 future value with varying interest rates, 334
inventory ratios, 218 initial deposit, 333
inventory turnover, 219 interest rate, 330-331
inventory turnover rate, 219 periods, 331-332
sales to inventory, 220 investment schedules, building, 335-337
IPMT() function, 309-310

461
IRR() function

IRR( ) function, 352-353 letters, generating


ISBLANK( ) function, 125, 131-132 random, 200
ISERR( ) function, 125 series of, 82-83
ISERROR( ) function, 125, 132-133 limits on formulas, 4
ISEVEN( ) function, 125 Limits report (Solver), 441
ISFORMULA( ) function, 125 linear data, simple regression on, 266
ISLOGICAL( ) function, 125 best-fit trendlines, 266-274
ISNA( ) function, 125 forecasts, 274-279
seasonal sales model case study, 280-288
ISNONTEXT( ) function, 125
linear models, 429
ISNUMBER( ) function, 125, 132
linear programming, 421
ISODD( ) function, 125
line breaks in formulas, 3
ISOWEEKNUM( ) function, 156, 160
line feeds, removing
ISREF( ) function, 125
with CLEAN() function, 90
ISTEXT( ) function, 125
with SUBSTITUTE() function, 103
ISxxx() functions, 130, 132-133
line of best fit, 266
iteration formulas, 32-34
analyzing sales versus advertising, 274
iterative methods
calculating
in Goal Seek, 406
with LINEST() function, 271-273
in Solver, 422
with TREND() function, 270-271
plotting, 267-268
R2 for, 269-270
J–K–L regression equation for, 268-269
LINEST() function, 31, 271-273, 279, 295, 302,
Julian dates, calculating, 169
304
linked data types, referencing, 51
KURT( ) function, 261
linking
kurtosis, 261 dialog box controls to cells, 43
workbooks, 21
LARGE( ) function, 237-238 links in formulas, 21
last day of month, returning changing source, 23
with DATE( ) function, 164 external references, 22
with EOMONTH( ) function, 164 updating, 22-23
last updated date, displaying, 89 liquid assets, 221
LCM( ) function, 184 liquidity, 221
leap years, finding, 196-197 liquidity formulas, 221
leasing equipment, buying versus, 343-344 accounts payable ratios, 223
ledger shading, creating, 197-198 accounts payable turnover, 223
LEFT( ) function, 80, 94 days purchases in accounts payable,
LEN( ) function, 80, 90 223-224
sales to accounts payable, 224

462
lump sum future value

accounts receivable ratios, 222 loan functions


accounts receivable turnover, 222 CUMIPMT(), 311-312
average AR duration, 222-223 CUMPRINC(), 311-312
liquidity index, 227-228 FV(), 317
liquidity ratios, 226 INDIRECT(), 310
acid-test ratio, 226-227 IPMT(), 309-310
cash ratio, 227 NPER(), 315-316
current ratio, 226 PMT(), 307-308
working capital, 224-225 PPMT(), 309-310
liquidity index, 227-228 PV(), 318-319
liquidity ratios, 226 RATE(), 317-318
acid-test ratio, 226-227 loan payments, calculating, 306-312
cash ratio, 227 LOG() function, 184
current ratio, 226 LOG10() function, 184
list boxes logarithmic trends, 293-294
inserting, 46-47 calculating values, 295-296
looking up values, 148 plotting, 294-295
list price, 209, 211 LOGEST() function, 31, 292-293
list values, looking up, 118-119 logical functions
lists, finding row numbers of values, 120-121 AND(), 111-113, 124
LN( ) function, 184, 293-295, 298 IF(), 106-124
loading IFS(), 110-111
Analysis TookPak, 76-77 list of, 106
Solver, 423 OR(), 113-114
Solver models, 433 XOR(), 114
loan amortization schedules, building, 312-315, lookup column, specifying, 148-149
320-321 lookup functions, 135
loan analysis, 307-308 CHOOSE(), 137-140
loan formulas HLOOKUP(), 141-146
allowing principal paydowns, 321-323 INDEX(), 147-151
borrowed amount, 318-319 list of, 136
building loan amortization schedules, 312- MATCH(), 146-151
315, 320-321 VLOOKUP(), 140-146
cumulative principal and interest, 311-312 lookup tables, 136-137
interest costs, 309-310 LOOKUP() function, 31, 136
interest rate, 317-318 LOWER() function, 80, 84
loan payments, 306-312 lump sum future value, calculating, 328
principal and interest, 309-310
term of loan, 315-317

463
manual recalculation

M mean, calculating, 233-234


measures of association, 249-250
manual recalculation, 10 measures of central tendency, 240
manufacturer’s suggested retail price (MSRP), measures of dispersion, 240
209 measures of location, 240
manufacturing contribution margin, 212 measures of variation, 240
markup amount, 208 median, calculating, 234
markup rate, 208-209 MEDIAN() function, 234
markups, 207 Memorial Day, calculating, 168
cost price, 209 merging scenarios, 417
markup amount, 208 messages in Solver, 434-435
markup rate, 208-209
MID() function, 80, 94
selling price, 208
MIN() function, 115, 121, 236, 240
MATCH( ) function, 31, 136, 146-147
MINA() function, 237
list boxes, looking up values, 148
MINUTE() function, 173, 175
lookup column, specifying, 148-149
MINVERSE() function, 31, 184
multiple-column lookups, 150-151
row-and-column lookups, 149-150 MIRR() function, 353-354
math functions missing/mismatched parentheses, trouble-
CEILING.MATH( ), 188-189 shooting, 55
EVEN( ), 189 mixed reference format, 14
FLOOR.MATH( ), 188-189 MMULT() function, 31, 184
INT( ), 190-191 MOD() function, 184-195
list of, 183-185 adding every nth row, 196
MOD( ), 195-198 calculating time differences, 195
MROUND( ), 187-188, 191-192 creating ledger shading, 197-198
ODD( ), 189 finding leap years, 196-197
RAND(), 199-201 mode, calculating, 234
RANDARRAY( ), 202 MODE() function, 234
RANDBETWEEN( ), 201 MODE.MULT() function, 235
ROUND( ), 186-187 MODE.SNGL() function, 235
ROUNDDOWN( ), 188 models (Solver), saving, 433-434
ROUNDUP( ), 188
money, time value of, 305-306
SEQUENCE( ), 202-203
month of fiscal year, determining, 138-139
SUM( ), 192, 194-195
MONTH() function, 157, 159
SUMIF( ), 193
months
SUMIFS( ), 193-194
adding to dates, 163
TRUNC(), 190
with EDATE() function, 163
MAX( ) function, 115, 121, 236, 240
with EOMONTH() function, 164
MAXA( ) function, 237
MDETERM( ) function, 31, 184

464
NPV() function

returning last day naming formulas, 20


with DATE( ) function, 164 negative values, adding in range, 193
with EOMONTH( ) function, 164 nesting
returning nth occurrence of weekday, formulas, limits on, 4
165-167 functions, 73
mortgages IF() functions, 109-110
principal paydowns, allowing, 321-323 parentheses, 9
variable-rate amortization schedules, SUBSTITUTE() functions, 102
building, 320-321 net cash flows, 356-357
moving formulas, 11-12 net margin, 216
with absolute references, 13 net present value, calculating, 345-346
with mixed references, 14 with NPV() function, 346-348
with relative references, 12-14 with XNPV() function, 348-349
MROUND( ) function, 184, 187-188, 191-192 net price, 209-210
MSRP (manufacturer’s suggested retail price), NETWORKDAYS() function, 124, 157, 170-171
209 NETWORKDAYS.INTL() function, 157, 171
MULTINOMIAL( ) function, 184 NOMINAL() function, 327, 335
multiple-column lookups, 150-151 nominal interest, 326-327
multiple internal rates of return, calculating, converting to/from effective interest, 327,
353-354 335
multiple logical tests, performing, 109-115 nonlinear data, 266
multiple ranges, array formulas on, 29 simple regression on, 288
multiple regression, 266, 303-304 exponential trends, 288-293
multisheet data, consolidating, 34-35 logarithmic trends, 293-296
by category, 38-39 power trends, 296-299
by position, 35-38 nonlinear programming, 421
multithreaded calculation, 10 non-negative constraints in Solver, 428
MUNIT( ) function, 184 non-numeric values, counting in ranges, 132
nonperiodic cash flows
calculating internal rate of return, 353
N net present value with, 348-349
normal distribution, 257-258
N( ) function, 125 percentiles, 259
#N/A! error value, 51, 58 shape of curve, 260-261
NA( ) function, 125 standard scores, 258-259
#NAME? error value, 51-53 NORM.DIST() function, 259
named ranges. See range names NOT() function, 106
names NOW() function, 71, 89, 173
extracting, 97-99 NPER() function, 315-316, 331-332
of functions, troubleshooting, 51-52 NPV() function, 346-348

465
#NULL! error value

#NULL! error value, 53


null hypothesis, 263
P
#NUM! error value, 53, 353 padding cells, 92
number formatting, restoring, 388 parentheses ()
numbers, formatting as text. See text, for- missing/mismatched, troubleshooting, 55
matting in order of precedence, 8-9
NUMBERVALUE( ) function, 80, 85 partial fields, sorting on, 362-363
numeric formatting symbols, 87 parts of dates, returning, 159
with DAY() function, 159
with ISOWEEKNUM() function, 160

O
with MONTH() function, 159
with WEEKDAY() function, 160
objective cells in Solver, 422 with WEEKNUM() function, 160
ODD( ) function, 184, 189 with WORKDAY() function, 161
with WORKDAY.INTL() function, 162-163
odd rows, adding, 196
with YEAR() function, 159
OFFSET( ) function, 246-247
parts of times, returning, 174
extracting periodic samples, 247-248
with HOUR() function, 174
extracting random samples, 249
with MINUTE() function, 175
one-input data tables, setup, 400-402
with SECOND() function, 175
operating costs, 355-356
pasting range names into formulas, 16-17
operations research, 421
pausing Goal Seek, 407
operators
payables. See accounts payable ratios
arithmetic, 5-6
payback period, calculating, 349
comparison, 6
discounted, 351
for constraints, 427
exact undiscounted, 350-351
order of precedence, 7-9
simple undiscounted, 349-350
reference, 6
text, 6 payments
defined, 306
optimizing product margin, 408-409
loan payments, calculating, 306-312
option buttons
mortgage payments, allowing principal
inserting, 45
paydowns, 321-323
integrating CHOOSE( ) function with,
PEARSON() function, 229
139-140
percentage summary calculations, 385-387
options for error checker, setting, 59-62
percentile
order of precedence, 7-9
calculating, 239, 259
OR( ) function, 106, 113-114
defined, 238
looking up list values, 118-119
PERCENTILE.EXC() function, 239
overdue invoices, aging, 123-124
PERCENTILE.INC() function, 239

466
PRODUCT() function

periodic samples position, consolidating by, 35-38


defined, 246 positive values, adding in range, 193
extracting, 247-248 power trends, 296-297
periods calculating values, 298-299
calculating for investment goals, 331-332 plotting, 297-298
defined, 306 POWER() function, 184
per-unit constants, 355 PP&E (property, plant, and equipment), 217
PHI( ) function, 229 PPMT() function, 309-310
PI( ) function, 184 precedence. See order of precedence
PivotTables, 381 precedents
creating custom calculations, 391 defined, 62
calculated fields, 393-394 tracing, 63
calculated items, 394-395 present value, 306
restrictions on, 392 calculating, 339-340
grand totals, 381 inflation, 340-341
hiding, 382 with PV() function, 341-344
resetting to normal, 389 relationship to discounting, 339
subtotals, 381-382 price points, setting, 191
customizing calculation, 382-383
pricing formulas, 207
hiding, 382
break-even point, 211-213
value field summary calculations, 383
discounts, 209
difference calculations, 383-385
discount amount, 210
index calculations, 389-391
discount rate, 210-211
percentage calculations, 385-387
list price, 211
running total calculations, 388-389
net price, 209-210
in worksheet formulas, 395-397
markups, 207
plotting cost price, 209
best-fit trendlines, 267-268 markup amount, 208
exponential trends, 289-290 markup rate, 208-209
forecasts, 275 selling price, 208
logarithmic trends, 294-295
principal and interest, calculating, 309-310
polynomial regression, 300-301
principal paydowns, allowing, 321-323
power trends, 297-298
probability distributions, 252
PMT( ) function, 70, 307-308, 332-333
binomial, 255
Point mode, 4
calculating, 253-255
Poisson distributions, 256-257 hypergeometric, 256
POISSON.DIST() function, 256 Poisson, 256-257
polynomial regression, 266, 299-300 PROB() function, 254
calculating values, 301-302 product margin, optimizing, 408-409
plotting, 300-301
PRODUCT() function, 184

467
projections

projections. See forecasts ranges. See also array formulas; arrays


PROPER( ) function, 80, 84 adding only positive/negative values, 193
property, plant, and equipment (PP&E), 217 applying conditions across, 116
p-value, 263 copying/moving, 11-12
PV( ) function, 318-319, 333, 341-344 with absolute references, 13
with mixed references, 14
with relative references, 12-14
counting
Q–R blanks in, 131-132
cells in, 232
Quick Access Toolbar, adding scenarios to, 416
errors in, 132
quick ratio, 226-227
non-numeric values, 132
QUOTIENT( ) function, 184
occurrences in, 119-120
ignoring errors, 132-133
R2 (in regression analysis), 269-270 multiple ranges, array formulas on, 29
radians, converting to/from degrees, 185 recalculation, 10
RADIANS( ) function, 185-186 rank
RAND( ) function, 184, 199-201 calculating, 239
RANDARRAY( ) function, 32, 184, 202 defined, 238
RANDBETWEEN( ) function, 184, 201, 249 RANK.AVG() function, 239
random letters, generating, 200 RANK.EQ() function, 239
random numbers, generating, 198 RATE() function, 317-318, 330-331
with RAND( ) function, 199-201 recalculating data tables, 404
with RANDARRAY( ) function, 202 recalculation of formulas, controlling, 9-10
with RANDBETWEEN( ) function, 201 receivables. See accounts receivable ratios
with SEQUENCE( ) function, 202-203
records, defined, 361
random samples
#REF! error value, 53-54
defined, 246
reference formulas, operators for, 6
extracting, 249
references. See cell references
random variables, 246
referencing. See also cell references
range, calculating, 240
data types, troubleshooting, 54
range lookups, 142-144
linked data types, troubleshooting, 51
range names tables, 371
cell references in, 13 entering table formulas, 373-374
converting to cell references, 52 table specifiers, 371-373
deleting, 52-53
regression analysis, 265
in formulas, 16
methods of, 266
applying new, 17-20
multiple regression, 303-304
pasting, 16-17
polynomial regression, 299-300
troubleshooting, 51-53
calculating values, 301-302
plotting, 300-301

468
returning

simple regression on linear data, 266 resizing arrays, 27


best-fit trendlines, 266-274 restoring number formatting, 388
forecasts, 274-279 results of formulas, troubleshooting, 56
seasonal sales model case study, resuming Goal Seek, 407
280-288 retail price, 209
simple regression on nonlinear data, 288
returning
exponential trends, 288-293
arrays, 31-32
logarithmic trends, 293-296
birthday, 164
power trends, 296-299
dates, 157
regression equation, 268-269 with DATE() function, 158
for forecasts, 277-278 with DATEVALUE() function, 158
Regression tool in Analysis ToolPak, 273 with TODAY() function, 157
relative reference format, 12-14 discount rates, 142-143
ignoring when applying range names, 18 future dates, 161
removing future times, 175-176
carriage returns with CLEAN( ) function, 90 last day of month
characters from strings, 101-102 with DATE() function, 164
constraints, 427 with EOMONTH() function, 164
extra string characters, 89 nth occurrence of weekday in month,
with CLEAN( ) function, 90 165-167
with TRIM( ) function, 89-90 parts of dates, 159
line feeds with DAY() function, 159
with CLEAN( ) function, 90 with ISOWEEKNUM() function, 160
with SUBSTITUTE( ) function, 103 with MONTH() function, 159
range names, 52-53 with WEEKDAY() function, 160
scenarios, 419 with WEEKNUM() function, 160
tracer arrows, 64 with WORKDAY() function, 161
Watch Windows, 66 with WORKDAY.INTL() function,
rental properties, income investing versus, 162-163
342-343 with YEAR() function, 159
reorder level, 221 parts of times, 174
repeating text with REPT( ) function, 92-93 with HOUR() function, 174
REPLACE( ) function, 80, 100-101 with MINUTE() function, 175
reports (Solver), generating, 437 with SECOND() function, 175
Answer report, 437-439 tax rates, 143-144
Limits report, 441 times, 173
Sensitivity report, 439-440 with NOW() function, 173
with TIME() function, 174
REPT( ) function, 80, 92-93
with TIMEVALUE() function, 174
reseasoning data, 287
resetting PivotTables to normal, 389

469
return on fixed assets

return on fixed assets, 217-218


Ribbon, displaying Developer tab, 42
S
RIGHT( ) function, 80, 94 saddle points, 257
risk premium, 306 safety stock, 220-221
ROMAN( ) function, 184 sales
ROUND( ) function, 184, 186-187 analyzing versus advertising, 274
ROUNDDOWN( ) function, 185, 188 book publishing example, 355-356
rounding functions seasonal sales model case study, 280-288
for billable time, 191-192 sales mix, 212
CEILING.MATH( ), 188-189 sales per employee, 215
EVEN( ), 189 sales ratios, 214
FLOOR.MATH( ), 188-189 sales per employee, 215
INT( ), 190-191 sales to current assets, 214
list of, 186 sales to short-term debt, 214
MROUND( ), 187-188, 191-192 sales to accounts payable, 224
ODD( ), 189 sales to current assets, 214
preventing calculation errors, 190-191 sales to inventory, 220
ROUND( ), 186-187 sales to short-term debt, 214
ROUNDDOWN( ), 188 sampling data, 246-247
ROUNDUP( ), 188 extracting periodic samples, 247-248
setting price points, 191 extracting random samples, 249
TRUNC(), 190
saving
ROUNDUP( ) function, 185, 188 Solver models, 433-434
row-and-column lookups, 149-150 Solver solutions as scenarios, 428
ROW( ) function, 31, 82, 121 scenarios, 412-414
row names in range names, 18-20 adding
row numbers, finding for list values, 120-121 to Quick Access Toolbar, 416
rows to worksheets, 414-415
adding every nth row with MOD( ) function, comparing, 417-419
196 deleting, 419
creating ledger shading, 197-198 displaying, 415-416
ROWS( ) function, 31 editing, 416-417
RSQ( ) function, 273 merging, 417
RTD( ) function, 136 saving Solver solutions as, 428
rule of addition, 253 worksheet setup, 414

rule of multiplication, 253 scroll bars, inserting, 47-48

running total summary calculations, 388-389 SEARCH() function, 80, 97-99


searching for substrings
with COLUMN() and CELL() functions,
99-100
with FIND() and SEARCH() functions, 97-99

470
sorting

seasonal indexes, 284 Simplex LP engine, 429


seasonal sales model case study, 280-288 SIN() function, 186
seasonally adjusting data, 286 SINGLE() function, 32
SEC( ) function, 186 single quotation marks (‘ ‘) in external refer-
SECH( ) function, 186 ences, 22
SECOND( ) function, 173, 175 SINH() function, 186
second-order polynomial regression equation, SKEW() function, 260
299 slack (in Solver Answer report), 438
selecting arrays, 27 SLOPE() function, 273
selling price, 208 SMALL() function, 237-238
Sensitivity report (Solver), 439-440 smooth models, 429
sentence case, converting text to, 95 Solver, 421
SEQUENCE( ) function, 32, 185, 202-203 adding constraints, 426-428
serial numbers for dates/times, 153-154 advantages of, 422
Series command, extending forecasts, 276-277 break-even analysis, 423-426
series of deposits, calculating future value, 329 engines in, 429
generating reports, 437
series of letters, generating, 82-83
Answer report, 437-439
SERIESSUM( ) function, 185
Limits report, 441
server workbooks, 21
Sensitivity report, 439-440
shape of curve, calculating, 260-261
loading, 423
SHEET( ) function, 125, 130 messages in, 434-435
SHEETS( ) function, 125, 130 non-negative constraints, 428
short-term debt options, 429-432
fixed assets to, 218 saving
sales to, 214 models, 433-434
SIGN( ) function, 185 solutions as scenarios, 428
significance levels, 262 solving transportation problem, 435-437
simple interest, 325 when to use, 422-423
simple regression, 266 solving
on linear data, 266 algebraic equations, 411-412
best-fit trendlines, 266-274 transportation problem, 435-437
forecasts, 274-279 SORT() function, 32, 364
seasonal sales model case study, SORTBY() function, 32, 364-365
280-288 sorting
on nonlinear data, 288 tables, 361
exponential trends, 288-293 without articles, 363-364
logarithmic trends, 293-296 with formulas in, 362
power trends, 296-299 on partial fields, 362-363
simple undiscounted payback period, calcu-
lating, 349-350

471
sorting

with SORT( ) function, 364 MAXA(), 237


with SORTBY( ) function, 364-365 MEDIAN(), 234
values randomly, 200-201 MIN(), 236, 240
source (of links), changing, 23 MINA(), 237
source ranges, 35 MODE(), 234
source workbooks, 21 MODE.MULT(), 235
specifiers. See table specifiers MODE.SNGL(), 235
NORM.DIST(), 259
#SPILL! error value, 28, 54, 202
OFFSET( ), 246-249
spill ranges, troubleshooting, 54
PEARSON(), 229
spills, 27
PERCENTILE.EXC(), 239
spin boxes, inserting, 47-48
PERCENTILE.INC(), 239
spread, calculating, 240 PHI(), 229
SQRT( ) function, 185 POISSON.DIST(), 256
SQRTPI( ) function, 185 PROB(), 254
standard deviation, calculating, 241-242 RANK.AVG(), 239
standard normal distribution, 257-258 RANK.EQ(), 239
standard scores, calculating, 258-259 SKEW(), 260
statistical functions. See also table functions SMALL(), 237-238
AVERAGE( ), 233 STDEVA(), 242
AVERAGEA( ), 233 STDEV.P(), 242
AVERAGEIF( ), 233 STDEVPA(), 242
AVERAGEIFS( ), 234 STDEV.S(), 242
BINOM.DIST( ), 255 SUMPRODUCT(), 235-236
CONFIDENCE.NORM( ), 262 T.TEST(), 264
CONFIDENCE.T( ), 262 VARA(), 241
CORREL( ), 251-252 VAR.P(), 241
COUNT(), 230 VARPA(), 241
COUNTA( ), 231 VAR.S(), 241
COUNTBLANK( ), 231 Z.TEST(), 263
COUNTIF( ), 232, 254 statistics
COUNTIFS( ), 232 descriptive, 229-230
COVARIANCE.P( ), 250-251 averages, 232-236
COVARIANCE.S( ), 250-251 counting items, 230-232
FISHER( ), 229 extreme values, 236-238
FREQUENCY( ), 243-244, 253 frequency distributions, 242-244
HYPGEOM.DIST( ), 256 percentile, 239
KURT( ), 261 range, 240
LARGE( ), 237-238 rank, 239
MAX( ), 236, 240 standard deviation, 241-242
variance, 240-241

472
SUMSQ() function

inferential, 245-246 SUBSTITUTE() function, 80, 101-103


confidence intervals, 261-262 substituting substrings
correlation, 251-252 with REPLACE() function, 100-101
covariance, 250-251 with SUBSTITUTE() function, 101-102
hypothesis testing, 263-264 substrings
normal distribution, 257-261 extracting, 94
probability distributions, 252-257 with LEFT() function, 94
sampling data, 246-249 with MID() function, 94
status (in Solver Answer report), 438 with RIGHT() function, 94
STDEVA() function, 242 searching for
STDEVPA( ) function, 242 with COLUMN() and CELL() functions,
STDEV.P() function, 242 99-100
STDEV.S( ) function, 242 with FIND() and SEARCH() functions,
strings 97-99
concatenating with delimiter, 91 substituting
converting, 84 with REPLACE() function, 100-101
to dates, 158 with SUBSTITUTE() function, 101-102
with LOWER( ) function, 84 SUBTOTAL() function, 185
with NUMBERVALUE( ) function, 85 subtotals in PivotTables, 381-382
with PROPER( ) function, 84 customizing calculation, 382-383
to times, 174 hiding, 382
with UPPER( ) function, 84 SUM() function, 70, 185, 192, 194-195
counting characters in, 102 counting occurrences in ranges, 119-120
defined, 79 operations on cells that meet condition,
formatting, 85 117-118
with DOLLAR( ) function, 86 SUMIF() function, 185, 193
with FIXED( ) function, 87 SUMIFS() function, 185, 193-194
with TEXT( ) function, 87-89 summary functions
removing characters from, 101-102 changing, 383
removing extra characters, 89 difference calculations, 383-385
with CLEAN( ) function, 90 index calculations, 389-391
with TRIM( ) function, 89-90 list of, 383
repeating with REPT( ) function, 92-93 percentage calculations, 385-387
substrings running total calculations, 388-389
extracting, 94 summary reports, generating for scenarios,
extracting names, 97-99 417-419
substituting, 100-102 summary statistics. See descriptive statistics
structured referencing of tables, 371 summing. See adding
entering table formulas, 373-374
SUMPRODUCT() function, 31, 185, 235-236
table specifiers, 371-373
SUMSQ() function, 185
subproblems, 431

473
SUMX2MY2() function

SUMX2MY2( ) function, 185 on partial fields, 362-363


SUMX2PY2( ) function, 185 with SORT() function, 364
SUMXMY2( ) function, 185 with SORTBY() function, 364-365
syntax (of functions), 71 structured referencing, 371
entering table formulas, 373-374
table specifiers, 371-373

T
TAN() function, 186
TANH() function, 186
T( ) function, 80 target cells in Solver, 422
T.TEST( ) function, 264 tax rates, returning, 143-144
table formulas, entering, 373-374 term of loan, calculating, 315-317
table functions text
advantages of, 375 character codes, 80-81
analyzing table of defects, 378-379 CHAR() function, 81-83
DAVERAGE( ), 377 CODE() function, 83
DGET(), 377-378 concatenating with delimiter, 91
DSUM(), 375 converting, 84
entering, 376 formulas to, 49
FILTER( ), 370 with LOWER() function, 84
list of, 376 with NUMBERVALUE() function, 85
SORT( ), 364 with PROPER() function, 84
SORTBY( ), 364-365 to sentence case, 95
syntax of, 375-376 with UPPER() function, 84
UNIQUE( ), 371 defined, 79
table of defects, analyzing, 378-379 formatting, 85
table ranges, 361 with DOLLAR() function, 86
table specifiers, 371-373 with FIXED() function, 87
with TEXT() function, 87-89
TABLE( ) function, 405
repeating with REPT() function, 92-93
tables. See also data tables; PivotTables
text formulas, operators for, 6
defined, 361
filtering, 365-366 text functions
with complex criteria, 366-369 CELL(), 99-100
with computed criteria, 369-370 CHAR(), 81-83
with FILTER( ) function, 370 CLEAN(), 90, 103
with UNIQUE( ) function, 371 CODE(), 83
lookup tables, 136-137 COLUMN(), 99-100
sorting, 361 DOLLAR(), 86
without articles, 363-364 FIND(), 97-99
with formulas in, 362 FIXED(), 87
LEFT(), 94
LEN(), 90

474
trendlines

list of, 79-80 converting strings to, 174


LOWER( ), 84 entering, 154-155
MID( ), 94 formatting, 154-155
NUMBERVALUE( ), 85 returning, 173
PROPER(), 84 with NOW() function, 173
REPLACE(), 100-101 with TIME() function, 174
REPT( ), 92-93 with TIMEVALUE() function, 174
RIGHT( ), 94 returning future, 175-176
SEARCH( ), 97-99 returning parts of, 174
SUBSTITUTE( ), 101-103 with HOUR() function, 174
TEXT( ), 87-89 with MINUTE() function, 175
TEXTJOIN( ), 91 with SECOND() function, 175
TRIM( ), 89-90 serial numbers for, 153-154
UNICHAR( ), 81 TIMEVALUE() function, 173-174
UPPER(), 84 TODAY() function, 157
text values. See strings toggling difference calculations, 385
text-based charts, building, 92-93 totals, calculating cumulative, 194-195
TEXT( ) function, 80, 87-89 tracer arrows, 62-63
TEXTJOIN( ) function, 80, 91 circular references, troubleshooting, 57
third-order polynomial regression equation, removing, 64
300 tracing
threads, 10 dependents, 63
tiered payments, calculating, 110 error cells, 64
time factor, 314 precedents, 63
time formatting symbols, 88 transportation problem, solving, 435-437
time functions TRANSPOSE() function, 32
HOUR( ), 174 TREND() function, 32, 270-271, 278, 301-304
list of, 173 trendlines, 266
MINUTE( ), 175 analyzing sales versus advertising, 274
NOW(), 173 calculating
SECOND( ), 175 with LINEST() function, 271-273
TIME( ), 174-176 with TREND() function, 270-271
TIMEVALUE( ), 174 exponential trends, 288-289
time sheets, building, 177-181 calculating values, 290-291
time value of money, 305-306 with GROWTH() function, 291-292
TIME( ) function, 173-174 with LOGEST() function, 292-293
returning future times, 175-176 plotting, 289-290
times for forecasts, 274
adding, 176 extending with fill handle, 276
calculating differences between, 176-177 extending with Series command,
with MOD( ) function, 195 276-277

475
trendlines

with FORECAST( ) function, 279 #NULL!, 53


with LINEST( ) function, 279 #NUM!, 53
plotting, 275 #REF!, 53-54
regression equation for, 277-278 #SPILL!, 54
seasonal sales model case study, #UNKNOWN!, 54
280-288 #VALUE!, 54
with TREND( ) function, 278 IFERROR() function, 57-58
logarithmic trends, 293-294 incorrect results, 56
calculating values, 295-296 missing/mismatched parentheses, 9, 55
plotting, 294-295 TRUE() function, 106
plotting, 267-268 TRUNC() function, 185, 190
polynomial regression, 299-300 two-digit years, 155-156
calculating values, 301-302 two-input data tables, setup, 403-405
plotting, 300-301
TYPE() function, 125
power trends, 296-297
typing functions into formulas, 73-74
calculating values, 298-299
plotting, 297-298
R2 for, 269-270
regression equation for, 268-269 U
trigonometric functions, list of, 185-186
undiscounted payback period, calculating,
TRIM( ) function, 80, 89-90
349-351
troubleshooting formulas, 49
UNICHAR() function, 80-81
auditing worksheets, 62-63
UNICODE() function, 80
dependent tracing, 63
UNIQUE() function, 32, 371
error cell tracing, 64
#UNKNOWN! error value, 54
evaluating formulas, 64-65
precedent tracing, 63 unknowns in Solver, 422
removing tracer arrows, 64 updating links, 22-23
setting Watch Windows, 65-66 UPPER() function, 80, 84
circular references, 56-57
converting to text, 49
error checker, 58
choosing error action, 58-59
V
setting options, 59-62 validating data, 40-42
error values, 50 value field summary calculations in PivotTables,
#CALC!, 50 383
#DIV/0!, 50 difference calculations, 383-385
#FIELD!, 51 index calculations, 389-391
#N/A!, 51, 58 percentage calculations, 385-387
#NAME?, 51-53 running total calculations, 388-389

476
worksheets

#VALUE! error value, 54, 248 weekdays, returning nth occurrence in month,
VALUE( ) function, 80 165-167
values weekend due dates, avoiding, 122-123
adding, 192 WEEKNUM() function, 157, 160
with SUM( ) function, 192, 194-195 weighted averages, 390
with SUMIF( ) function, 193 weighted mean, calculating, 235-236
with SUMIFS( ) function, 193-194 weighted questionnaire results, calculating, 139
categorizing by, 112-113 what-if analysis, 399-400
converting formulas to, 15-16 data tables
sorting randomly, 200-201 adding formulas to, 402-403
VARA( ) function, 241 editing, 405
variable cells in Solver, 422 one-input setup, 400-402
variable costs, 211 two-input setup, 403-405
variable interest rates, calculating future value wildcard characters in MATCH() function, 147
for investment goals, 334 workbooks
variable-rate mortgage amortization displaying last updated date, 89
schedules, building, 320-321 linking, 21
variables WORKDAY() function, 123, 157, 161
defined, 246 WORKDAY.INTL() function, 162-163
measures of association, 249-250 WORKDAY.INTO() function, 157
types of, 246 working capital, 224-225
variance, calculating, 240-241 working capital ratio, 226
VARPA( ) function, 241 working capital turnover, 225
VAR.P( ) function, 241 worksheets
VAR.S( ) function, 241 account receivable aging worksheet,
varying cash flows, net present value with, building, 122-124
347-348 adding scenarios to, 414-415
viewing auditing, 62-63
current input mode, 5 dependent tracing, 63
formulas, 15 error cell tracing, 64
VLOOKUP( ) function, 32, 136, 140-141 evaluating formulas, 64-65
exact-match lookups, 144-146 precedent tracing, 63
range lookups, 142-144 removing tracer arrows, 64
setting Watch Windows, 65-66
dialog box controls

W check boxes, 46
combo boxes, 46-47
watching cell values, 65-66 group boxes, 44
Watch Windows, setting, 65-66 inserting, 43
WEEKDAY( ) function, 122, 137, 157, 160, 165-167 linking to cells, 43

477
worksheets

list boxes, 46-47


option buttons, 45
Y
scroll bars, 47-48 YEARFRAC() function, 157, 172
spin boxes, 47-48 YEAR() function, 157, 159
time sheets, building, 177-181 years
finding leap years, 196-197
two-digit, 155-156
X y-values, 265

XIRR( ) function, 353


XNPV( ) function, 348-349
XOR( ) function, 106, 114
Z
x-values, 265 zero, dividing by, 50, 109
Z-scores, calculating, 258-259
Z.TEST() function, 263

478