Monday 6 February 2017

Accounting

What is 'Accounting'
Accounting is the systematic and comprehensive recording of financial transactions pertaining to a business, and it also refers to the process of summarizing, analyzing and reporting these transactions to oversight agencies and tax collection entities. Accounting is one of the key functions for almost any business; it may be handled by a bookkeeper and accountant at small firms or by sizable finance departments with dozens of employee’s at large companies.

Breaking Down 'Accounting'
The reports generated by various streams of accounting, such as cost accounting and management accounting, are invaluable in helping management make informed business decisions. While basic accounting functions can be handled by a bookkeeper, advanced accounting is typically handled by qualified accountants who possess designations such as Certified Public Accountant (CPA) in the United States, or Chartered Accountant (CA), Certified General Accountant (CGA) or Certified Management Accountant (CMA) in Canada.



Generally Accepted Accounting Principles
In most cases, accountants use generally accepted accounting principles (GAAP) when preparing financial statements. GAAP is a set of standards related to balance sheet identification, outstanding share measurements, and other accounting issues, and its standards are based on double-entry accounting, a method which enters each expense or incoming revenue in two places on a company's balance sheet.

Creating Financial Statements
The financial statements that summarize a large company's operations, financial position and cash flows over a particular period are concise statements based on thousands of financial transactions. As a result, all accounting designations are the culmination of years of study and rigorous examinations combined with a minimum number of years of practical accounting experience.

Example of Double Entry Accounting
To illustrate double-entry accounting, imagine a business issue an invoice to one of its clients. An accountant using the double-entry method enters a credit under the accounts receivables column and a debit under the balance sheet's revenue column. When the client pays the invoice, the accountant debits accounts receivables and credits revenue. Double-entry accounting is also called balancing the books, as all of the accounting entries are balanced against each other. If the entries aren't balanced, the accountant knows there must be a mistake somewhere in the ledger.

Financial Accounting versus Management Accounting
Financial accounting refers to the processes accountants use to generate the annual accounting statements of a firm. Management accounting uses much of the same processes but utilizes information in different ways. Namely, in management accounting, an accountant generates monthly or quarterly reports that a business's management team can use to make decisions about how the business operates.

Financial Accounting versus Cost Accounting
Just as management accounting helps businesses make decisions about management, cost accounting helps businesses make decisions about costing. Essentially, cost accounting considers all of the costs related to producing a product. Analysts, managers, business owners and accountants use this information to determine what their products should cost. In cost accounting, money is cast as an economic factor in production, whereas in financial accounting, money is considered to be a measure of a company's economic performance.

Thursday 2 February 2017

CA Course Duration After 12th B.Com Graduation MBA

CA Course Duration After 12th, Course Duration after B.Com and MBA are specified below. The Duration of CA Course after 12th is not Fixed. The CA Course Duration after 12th can vary between 4.5 years to 5 years. The Course Duration if everything goes well after 12th will be Three and Half Years. In this article, we will take different probabilities that you face after 12th Standard and what will be the Maximum CA Course Duration in each of these cases. Students can also find information on CA Course Duration after Graduation. This Article on CA Course Duration after 12th was written by CA Harleen.

CA Course Duration after 12thThru CPT

If you have chosen CPT Path after 12th Standard, the the Maximum Course Duration will be as follows.
Course StageDuration
Time to Complete CPT11 Months
CA IPCC12 Months
Articleship2.5 Years
Clearing CA Final Exam6 Months
Total Duration5 Years

For Example. A Student has Cleared 12th Standard in March 2016. Your CPT Attempt will be in December 2016. The Results of Dec 2016 exam will come out in January 2017.
After the results, you need to register for CA IPCC. Your CA IPCC Attempt will be in November 2017. The Results of CA IPCC Nov 2017 exam will release in February 2018.
After clearing the IPCC Exam, you need to Register for Articleship Training under a Practising Chartered Accountant. The Training will be for two and half years, that is some where until Oct 2020.
You can Give your CA Final exam in November 2020, which is highly unlikely. Lets say you appeared for May 2021 CA Final Exam. The results will come out in July 2021.
By September 2021. you will get your Membership Certificate.
So, the total duration of CA Course from clearing 12th Standard to getting your Membership certificate is 5 Years 6 Months approx.

Course Duration thru Direct Entry

Even through Direct Entry, the CA Course Duration after 12th Standard will not change much. Its more or like the same.

CA Eligibility After 12th:

You need not clear 12th Exam to register for CA CPT Course. You can apply for CA CPT registration after clearing 10th Standard itself.
However, in order to appear for exam, you need to clear the 12th Exam

Monday 30 January 2017

CA Final SFM Notes PDF | Free Formula Theory Notes

CA Final Strategic Financial Management (SFM) Notes and also SFM Theory Formula Notes for May 2017 exams have been provided in PDF format. The SFM Notes are mobile compatible and can be easily read on mobile devices with small screens. The Notes includes latest Mock Test Papers, Summary Notes, Hand Written Notes etc. Most of these files are owned by FinApp and we request users not to use them for any commercial purpose. CA Final Strategic Financial Management Notes is available for download. Students can download the Notes or can read directly in the Post. In our earlier posts, we also provided Notes for Financial Reporting and Direct Tax.


CA Final SFM Notes Download

About CA Final SFM Paper

Strategic Financial Management (SFM) is a blend of Strategic Management and Financial Management. It has acquired a critical significance now-a-days, due to recent surge in globalization and massive cross border flow of capital.
The study of this subject opens new opportunities for Chartered Accountancy students. The paper stresses the importance of applying the knowledge and techniques of financial management to the planning, operating and monitoring of the finance function in particular as well as the organization in general.
SFM Other Misc Notes
Other Notes relating to CA Final Strategic Financial Management (SFM) Paper like Suggested Answers, Revision Test Papers, Practice Manuals and Study Materials are not included in this post. Those files are exclusively owned by ICAI Bos Knowledge Portal. Students can get these files from ICAI website.

Monday 23 January 2017

This Books is available in PDF format
http://www.accountingpdfbooks.com





Part I: Basic Information
Chapter 1: Excel in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapter 2: Basic Facts about Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Chapter 3: Working with Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Part II: Using Functions in Your Formulas
Chapter 4: Introducing Worksheet Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Chapter 5: Manipulating Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapter 6: Working with Dates and Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Chapter 7: Counting and Summing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Chapter 8: Using Lookup Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
Chapter 9: Tables and Worksheet Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Chapter 10: Miscellaneous Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Part III: Financial Formulas
Chapter 11: Borrowing and Investing Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Chapter 12: Discounting and Depreciation Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
Chapter 13: Financial Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
Part IV: Array Formulas
Chapter 14: Introducing Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Chapter 15: Performing Magic with Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
Part V: Miscellaneous Formula Techniques
Chapter 16: Intentional Circular References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
Chapter 17: Charting Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Chapter 18: Pivot Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Chapter 19: Conditional Formatting and Data Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .519
Chapter 20: Creating Megaformulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Chapter 21: Tools and Methods for Debugging Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Part VI: Developing Custom Worksheet Functions
Chapter 22: Introducing VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Chapter 23: Function Procedure Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .613
Chapter 24: VBA Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Chapter 25: VBA Custom Function Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
vi
Part VII: Appendixes
Appendix A: Excel Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .717
Appendix B: Using Custom Number Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Appendix C: Additional Excel Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Appendix D: What’s on the CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What You Need to Know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What You Need to Have . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Conventions in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Keyboard conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Mouse conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
What the icons mean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
How This Book Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Part I: Basic Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Part II: Using Functions in Your Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Part III: Financial Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Part IV: Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Part V: Miscellaneous Formula Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Part VI: Developing Custom Worksheet Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Part VII: Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
How to Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
About the Companion CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
About the Power Utility Pak Offer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Reach Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Part I: Basic Information
Chapter 1: Excel in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
The History of Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
It started with VisiCalc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Then came Lotus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Microsoft enters the picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Excel versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
The Object Model Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
The Workings of Workbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
Worksheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chart sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Macro sheets and dialog sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
The Excel User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
A new UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
The Ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Backstage View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Shortcut menus and the Mini Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Customizing the UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Smart Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Task pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Drag and drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
viii
Keyboard shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Customized on-screen display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Data entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Object and cell selecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
The Excel Help System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Cell Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Numeric formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Stylistic formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Worksheet Formulas and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Objects on the Drawing Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Illustrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Linked picture objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Sparkline graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Customizing Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Add-in programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Internet Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Analysis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Database access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Scenario management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Pivot tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Auditing capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Solver add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Protection Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Protecting formulas from being overwritten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Protecting a workbook’s structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Password-protecting a workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Chapter 2: Basic Facts about Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Entering and Editing Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Formula elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Entering a formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Pasting names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Spaces and line breaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Formula limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Sample formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Editing formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Using Operators in Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Reference operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Sample formulas that use operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Operator precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Nested parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ix
Calculating Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Cell and Range References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Creating an absolute or a mixed reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Referencing other sheets or workbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Making an Exact Copy of a Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Converting Formulas to Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Hiding Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Errors in Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Dealing with Circular References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Goal Seeking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
A goal seeking example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
More about goal seeking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapter 3: Working with Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
What’s in a Name? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A Name’s Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Referencing names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Referencing names from another workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Conflicting names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
The Name Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Creating names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Editing names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Deleting names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Shortcuts for Creating Cell and Range Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
The New Name dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Creating names using the Name box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Creating names automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Naming entire rows and columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Names created by Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Creating Multisheet Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Working with Range and Cell Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Creating a list of names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Using names in formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Using the intersection operators with names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Using the range operator with names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Referencing a single cell in a multicell named range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Applying names to existing formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Applying names automatically when creating a formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Unapplying names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Names with errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Viewing named ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Using names in charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
How Excel Maintains Cell and Range Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Inserting a row or column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Deleting a row or column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Cutting and pasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
x
Potential Problems with Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Name problems when copying sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Name problems when deleting sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
The Secret to Understanding Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Naming constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Naming text constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Using worksheet functions in named formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Using cell and range references in named formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91
Using named formulas with relative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Advanced Techniques That Use Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Using the INDIRECT function with a named range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Using the INDIRECT function to create a named range with a fixed address. . . . . . . . . . . . 97
Using arrays in named formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Creating a dynamic named formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Part II: Using Functions in Your Formulas
Chapter 4: Introducing Worksheet Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
What Is a Function? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Simplify your formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Perform otherwise impossible calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Speed up editing tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Provide decision-making capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
More about functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Function Argument Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Names as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Full-column or full-row as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Literal values as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Expressions as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Other functions as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Arrays as arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Ways to Enter a Function into a Formula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Entering a function manually. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Using the Function Library commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Using the Insert Function dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
More tips for entering functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Function Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Financial functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Date and time functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Math and trig functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Statistical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Lookup and reference functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Database functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Text functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Logical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Information functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
User-defined functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
xi
Engineering functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Cube functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Compatibility functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Other function categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Chapter 5: Manipulating Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A Few Words about Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
How many characters in a cell?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Numbers as text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Text Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Determining whether a cell contains text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Working with character codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
Determining whether two strings are identical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Joining two or more cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
Displaying formatted values as text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Displaying formatted currency values as text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Removing excess spaces and nonprinting characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Counting characters in a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Repeating a character or string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Creating a text histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Padding a number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Changing the case of text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Extracting characters from a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Replacing text with other text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Finding and searching within a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Searching and replacing within a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Advanced Text Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Counting specific characters in a cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Counting the occurrences of a substring in a cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Removing trailing minus signs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Expressing a number as an ordinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Determining a column letter for a column number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
Extracting a filename from a path specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Extracting the first word of a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Extracting the last word of a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Extracting all but the first word of a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
Extracting first names, middle names, and last names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
Removing titles from names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Counting the number of words in a cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
Chapter 6: Working with Dates and Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
How Excel Handles Dates and Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Understanding date serial numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Entering dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Understanding time serial numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Entering times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
Formatting dates and times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Problems with dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
xii
Date-Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Displaying the current date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Displaying any date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Generating a series of dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
Converting a non-date string to a date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Calculating the number of days between two dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Calculating the number of work days between two dates . . . . . . . . . . . . . . . . . . . . . . . . . . .157
Offsetting a date using only work days . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Calculating the number of years between two dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Calculating a person’s age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Determining the day of the year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Determining the day of the week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Determining the date of the most recent Sunday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Determining the first day of the week after a date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Determining the nth occurrence of a day of the week in a month . . . . . . . . . . . . . . . . . . . . .162
Counting the occurrences of a day of the week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Expressing a date as an ordinal number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Calculating dates of holidays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Determining the last day of a month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Determining whether a year is a leap year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Determining a date’s quarter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Converting a year to roman numerals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Time-Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Displaying the current time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Displaying any time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Summing times that exceed 24 hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Calculating the difference between two times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Converting from military time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Converting decimal hours, minutes, or seconds to a time . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Adding hours, minutes, or seconds to a time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Converting between time zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Rounding time values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Working with non–time-of-day values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Chapter 7: Counting and Summing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Counting and Summing Worksheet Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Counting or Summing Records in Databases and Pivot Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Basic Counting Formulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Counting the total number of cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Counting blank cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Counting nonblank cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Counting numeric cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Counting nontext cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Counting text cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Counting logical values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
Counting error values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
xiii
Advanced Counting Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
Counting cells with the COUNTIF function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
Counting cells that meet multiple criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Counting the most frequently occurring entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Counting the occurrences of specific text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
Counting the number of unique values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
Creating a frequency distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Summing Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Summing all cells in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Computing a cumulative sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Summing the “top n” values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Conditional Sums Using a Single Criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Summing only negative values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Summing values based on a different range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Summing values based on a text comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Summing values based on a date comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Conditional Sums Using Multiple Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Using And criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Using Or criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Using And and Or criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Chapter 8: Using Lookup Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
What Is a Lookup Formula? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
Functions Relevant to Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Basic Lookup Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
The VLOOKUP function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
The HLOOKUP function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
The LOOKUP function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
Combining the MATCH and INDEX functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Specialized Lookup Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Looking up an exact value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Looking up a value to the left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Performing a case-sensitive lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Choosing among multiple lookup tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Determining letter grades for test scores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Calculating a grade point average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Performing a two-way lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Performing a two-column lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Determining the address of a value within a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Looking up a value by using the closest match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Looking up a value using linear interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Chapter 9: Tables and Worksheet Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Tables and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
A worksheet database example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
A table example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Uses for worksheet databases and tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
xiv
Working with Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Creating a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Changing the look of a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Navigating and selecting in a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
Adding new rows or columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Deleting rows or columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Moving a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Setting table style options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Removing duplicate rows from a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Sorting and filtering a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Working with the Total row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Using formulas within a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Referencing data in a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Converting a table to a worksheet database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Using Advanced Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Setting up a criteria range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Applying an advanced filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Clearing an advanced filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Specifying Advanced Filter Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Specifying a single criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Specifying multiple criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Specifying computed criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Using Database Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Inserting Subtotals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Chapter 10: Miscellaneous Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Unit Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Solving Right Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Area, Surface, Circumference, and Volume Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Calculating the area and perimeter of a square . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Calculating the area and perimeter of a rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Calculating the area and perimeter of a circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Calculating the area of a trapezoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Calculating the area of a triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Calculating the surface and volume of a sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Calculating the surface and volume of a cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Calculating the surface and volume of a cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Calculating the volume of a cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Calculating the volume of a pyramid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Solving Simultaneous Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Rounding Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Basic rounding formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Rounding to the nearest multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Rounding currency values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Working with fractional dollars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Using the INT and TRUNC functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Rounding to an even or odd integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Rounding to n significant digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
xv
Part III: Financial Formulas
Chapter 11: Borrowing and Investing Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Financial Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Time value of money . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Cash in and cash out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Matching time periods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Timing of the first payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
The Basic Excel Financial Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Calculating present value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Calculating future value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Calculating payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Calculating rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Calculating periods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Calculating the Interest and Principal Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Using the IPMT and PPMT functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Using the CUMIPMT and CUMPRINC functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Converting Interest Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Methods of quoting interest rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Conversion formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Limitations of Excel’s Financial Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Deferred start to a series of regular payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Valuing a series of variable payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
Bond Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314
Pricing bonds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314
Calculating yield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
Chapter 12: Discounting and Depreciation Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
Using the NPV Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
Definition of NPV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
NPV function examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Using the NPV function to calculate accumulated amounts . . . . . . . . . . . . . . . . . . . . . . . . . 325
Using the IRR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Rate of return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Geometric growth rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Checking results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Multiple Rates of IRR and the MIRR Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
Multiple IRRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
Separating flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Using balances instead of flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Irregular Cash Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Net present value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Internal rate of return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Using the FVSCHEDULE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Calculating an annual return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Depreciation Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
xvi
Chapter 13: Financial Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
Creating Financial Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
Creating Amortization Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
A simple amortization schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
A dynamic amortization schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Using payment and interest tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Credit card calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Summarizing Loan Options Using a Data Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
Creating a one-way data table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
Creating a two-way data table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Financial Statements and Ratios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Basic financial statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Ratio analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Creating Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Part IV: Array Formulas
Chapter 14: Introducing Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Introducing Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
A multicell array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
A single-cell array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Creating an array constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Array constant elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371
Understanding the Dimensions of an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
One-dimensional horizontal arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
One-dimensional vertical arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Two-dimensional arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Naming Array Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Working with Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Entering an array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Selecting an array formula range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Editing an array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Expanding or contracting a multicell array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Using Multicell Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Creating an array from values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Creating an array constant from values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Performing operations on an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Using functions with an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
Transposing an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
Generating an array of consecutive integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Using Single-Cell Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Counting characters in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Summing the three smallest values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Counting text cells in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Eliminating intermediate formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Using an array in lieu of a range reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
xvii
Chapter 15: Performing Magic with Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
Working with Single-Cell Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
Summing a range that contains errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
Counting the number of error values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Summing the n largest values in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Computing an average that excludes zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Determining whether a particular value appears in a range . . . . . . . . . . . . . . . . . . . . . . . . . 395
Counting the number of differences in two ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Returning the location of the maximum value in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Finding the row of a value’s nth occurrence in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Returning the longest text in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Determining whether a range contains valid values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Summing the digits of an integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Summing rounded values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
Summing every nth value in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Removing nonnumeric characters from a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Determining the closest value in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Returning the last value in a column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
Returning the last value in a row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
Ranking data with an array formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
Working with Multicell Array Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
Returning only positive values from a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
Returning nonblank cells from a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Reversing the order of cells in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Sorting a range of values dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Returning a list of unique items in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Displaying a calendar in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Part V: Miscellaneous Formula Techniques
Chapter 16: Intentional Circular References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
What Are Circular References? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
Correcting an accidental circular reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Understanding indirect circular references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
Intentional Circular References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
How Excel Determines Calculation and Iteration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Circular Reference Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421
Generating unique random integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421
Solving a recursive equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Solving simultaneous equations using a circular reference . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Animating a chart using iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Potential Problems with Intentional Circular References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Chapter 17: Charting Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Understanding the SERIES Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Using names in a SERIES formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431
Unlinking a chart series from its data range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
xviii
Creating Links to Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Adding a chart title link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Adding axis title links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Adding links to data labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Adding text links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Adding a linked picture to a chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Chart Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Charting progress toward a goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Creating a gauge chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Displaying conditional colors in a column chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Creating a comparative histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .440
Creating a Gantt chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Creating a box plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Plotting every nth data point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Plotting the last n data points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Selecting a series from a combo box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Plotting mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Plotting a circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Creating a clock chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Creating awesome designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .460
Working with Trendlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Linear trendlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Working with nonlinear trendlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Chapter 18: Pivot Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
About Pivot Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
A Pivot Table Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Data Appropriate for a Pivot Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Creating a Pivot Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Specifying the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Specifying the location for the pivot table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Laying out the pivot table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Formatting the pivot table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Modifying the pivot table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
More Pivot Table Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Question 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Question 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Question 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Question 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Question 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .490
Question 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Question 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Grouping Pivot Table Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
A manual grouping example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Viewing grouped data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Automatic grouping examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Creating a Frequency Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .500
xix
Creating a Calculated Field or Calculated Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Creating a calculated field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Inserting a calculated item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Filtering Pivot Tables with Slicers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Referencing Cells within a Pivot Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Another Pivot Table Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .512
Producing a Report with a Pivot Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515
Chapter 19: Conditional Formatting and Data Validation . . . . . . . . . . . . . . . . . . . . . . . . .519
Conditional Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .519
Specifying conditional formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Conditional formats that use graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Working with conditional formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Creating formula-based rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Data Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Specifying validation criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Types of validation criteria you can apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Creating a drop-down list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Using formulas for data validation rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Creating a dependent list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Chapter 20: Creating Megaformulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
What Is a Megaformula? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Creating a Megaformula: A Simple Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Megaformula Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Using a megaformula to remove middle names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Using a megaformula to return a string’s last space character position . . . . . . . . . . . . . . . 562
Using a megaformula to determine the validity of a credit card number . . . . . . . . . . . . . . 566
Generating random names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
The Pros and Cons of Megaformulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Chapter 21: Tools and Methods for Debugging Formulas . . . . . . . . . . . . . . . . . . . . . . . . 573
Formula Debugging? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Formula Problems and Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Mismatched parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Cells are filled with hash marks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Blank cells are not blank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Extra space characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Formulas returning an error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Absolute/relative reference problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Operator precedence problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Formulas are not calculated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Actual versus displayed values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Floating-point number errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Phantom link errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Logical value errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Circular reference errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
xx
Excel’s Auditing Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Identifying cells of a particular type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Viewing formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Tracing cell relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .591
Tracing error values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Fixing circular reference errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Using background error checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Using Excel’s Formula Evaluator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Part VI: Developing Custom Worksheet Functions
Chapter 22: Introducing VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
About VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Displaying the Developer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .600
About Macro Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .600
Saving Workbooks That Contain Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Introducing the Visual Basic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Activating the VB Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
The VB Editor components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .604
Using the Project window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Using code windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Entering VBA code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Saving your project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .612
Chapter 23: Function Procedure Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .613
Why Create Custom Functions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .613
An Introductory VBA Function Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
About Function Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Declaring a function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Choosing a name for your function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .617
Using functions in formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .618
Using function arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Using the Insert Function Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Adding a function description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Specifying a function category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .621
Adding argument descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Testing and Debugging Your Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Using the VBA MsgBox statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Using Debug.Print statements in your code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Calling the function from a Sub procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Setting a breakpoint in the function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .631
Creating Add-Ins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Chapter 24: VBA Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
An Introductory Example Function Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Using Comments in Your Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
xxi
Using Variables, Data Types, and Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
Defining data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Declaring variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .640
Using constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Using strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Using dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Using Assignment Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Using Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Declaring an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Declaring multidimensional arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Using Built-In VBA Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Controlling Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
The If-Then construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
The Select Case construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .651
Looping blocks of instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
The On Error statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Using Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
The For Each-Next construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Referencing a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Some useful properties of ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
The Set keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
The Intersect function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
The Union function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
The UsedRange property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Chapter 25: VBA Custom Function Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Simple Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Does a cell contain a formula? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Returning a cell’s formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Is the cell hidden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .671
Returning a worksheet name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .671
Returning a workbook name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Returning the application’s name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Returning Excel’s version number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Returning cell formatting information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Determining a Cell’s Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
A Multifunctional Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Generating Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Generating random numbers that don’t change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Selecting a cell at random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Calculating Sales Commissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
A function for a simple commission structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
A function for a more complex commission structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
Text Manipulation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Reversing a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Scrambling text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Returning an acronym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
xxii
Does the text match a pattern? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Does a cell contain a particular word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Does a cell contain text? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Extracting the nth Element from a String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Spelling out a number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Counting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Counting pattern-matched cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Counting sheets in a workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Counting words in a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Counting colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Calculating the next Monday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Calculating the next day of the week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Which week of the month? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Working with dates before 1900 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Returning the Last Nonempty Cell in a Column or Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
The LASTINCOLUMN function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
The LASTINROW function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Multisheet Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Returning the maximum value across all worksheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
The SHEETOFFSET function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
Advanced Function Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Returning an error value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Returning an array from a function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Returning an array of nonduplicated random integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
Randomizing a range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Using optional arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
Using an indefinite number of arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Part VII: Appendixes
Appendix A: Excel Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .717
Appendix B: Using Custom Number Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
About Number Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Automatic number formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
Formatting numbers by using the Ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
Using shortcut keys to format numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
Using the Format Cells dialog box to format numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
Creating a Custom Number Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
Parts of a number format string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
Custom number format codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Custom Number Format Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .741
Scaling values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .741
Hiding zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
Displaying leading zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Displaying fractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
xxiii
Displaying N/A for text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Displaying text in quotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Repeating a cell entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Displaying a negative sign on the right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
Conditional number formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
Coloring values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Formatting dates and times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Displaying text with numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Displaying a zero with dashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Using special symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .751
Suppressing certain types of entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .751
Filling a cell with a repeating character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .751
Displaying leading dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Appendix C: Additional Excel Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
The Excel Help System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Microsoft Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Support options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Microsoft Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Microsoft Excel home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Microsoft Office home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Internet Newsgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Accessing newsgroups by using a newsreader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Accessing newsgroups by using a Web browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Searching newsgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
Internet Web sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
The Spreadsheet Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
Daily Dose of Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
Jon Peltier’s Excel page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Pearson Software consulting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Contextures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
David McRitchie’s Excel pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Pointy Haired Dilbert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Mr. Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Appendix D: What’s on the CD-ROM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Using the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Files and Software on the CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
eBook version of Excel 2010 Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Examples files for Excel 2010 Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

1
INTRODUCTION
Welcome to Excel 2010 Formulas. I approached this project with one goal in mind: To write the
ultimate book about Excel 2010 formulas that would appeal to a broad base of users. That’s a
fairly ambitious goal. But based on the feedback I received from the first four editions, I think I’ve
accomplished it.
Excel is the spreadsheet market leader, by a long shot. This is the case not only because of
Microsoft’s enormous marketing clout, but because it is truly the best spreadsheet available. One
area in which Excel’s superiority is most apparent is formulas. Excel has some special tricks up its
sleeve in the formulas department. As you’ll see, Excel lets you do things with formulas that are
impossible with other spreadsheets.
It’s a safe bet that only about 10 percent of Excel users really understand how to get the most out
of worksheet formulas. In this book, I attempt to nudge you into that elite group. Are you up to it?
What You Need to Know
This is not a book for beginning Excel users. If you have absolutely no experience with Excel, this
is probably not the best book for you — unless you’re one of a rare breed who can learn a new
software product almost instantaneously.
To get the most out of this book, you should have some background using Excel. Specifically, I
assume that you know how to
􀁨 Create workbooks, insert sheets, save files, and complete other basic tasks
􀁨 Navigate through a workbook
􀁨 Use the Excel 2010 Ribbon and dialog boxes
􀁨 Use basic Windows features, such as file management and copy and paste techniques
2 Introduction
What You Need to Have
I wrote this book for Excel 2010, but most of the material also applies to Excel 2007. If you’re
using a version prior to Excel 2007, I suggest that you put down this book immediately and pick
up a previous edition. The changes introduced in Excel 2007 are so extensive that you might be
hopelessly confused if you try to follow along using an earlier version of Excel.
To use the examples on the companion CD-ROM, you’ll need a CD-ROM drive. The examples on
the CD-ROM are discussed further in the “About the Companion CD-ROM” section, later in this
Introduction.
I use Excel for Windows exclusively, and I do not own a Macintosh. Therefore, I can’t
guarantee that all of the examples will work with Excel for Macintosh. Excel’s crossplatform
compatibility is pretty good, but it’s definitely not perfect.
As far as hardware goes, the faster the better. And, of course, the more memory in your system,
the happier you’ll be. And, I strongly recommend using a high-resolution video mode. Better yet,
try a dual-monitor system.
Conventions in This Book
Take a minute to skim this section and learn some of the typographic conventions used throughout
this book.
Keyboard conventions
You need to use the keyboard to enter formulas. In addition, you can work with menus and dialog
boxes directly from the keyboard — a method you may find easier if your hands are already
positioned over the keys.
Formula listings
Formulas usually appear on a separate line in monospace font. For example, I may list the following
formula:
=VLOOKUP(StockNumber,PriceList,2,False)
Excel supports a special type of formula known as an array formula. When you enter an array formula,
press Ctrl+Shift+Enter (not just Enter). Excel encloses an array formula in brackets in order
to remind you that it’s an array formula. When I list an array formula, I include the brackets to
make it clear that it is, in fact, an array formula. For example:
{=SUM(LEN(A1:A10))}
Introduction 3
Do not type the brackets for an array formula. Excel will put them in automatically.
VBA code listings
This book also contains examples of VBA code. Each listing appears in a monospace font;
each line of code occupies a separate line. To make the code easier to read, I usually use one or
more tabs to create indentations. Indentation is optional, but it does help to delineate statements
that go together.
If a line of code doesn’t fit on a single line in this book, I use the standard VBA line continuation
sequence: a space followed by an underscore character. This indicates that the line of code
extends to the next line. For example, the following two lines comprise a single VBA statement:
If Right(cell.Value, 1) = “!” Then cell.Value _
= Left(cell.Value, Len(cell.Value) - 1)
You can enter this code either exactly as shown on two lines, or on a single line without the trailing
underscore character.
Key names
Names of keys on the keyboard appear in normal type, for example Alt, Home, PgDn, and Ctrl.
When you should press two keys simultaneously, the keys are connected with a plus sign: “Press
Ctrl+G to display the Go To dialog box.”
Functions, procedures, and named ranges
Excel’s worksheet functions appear in all uppercase, like so: “Use the SUM function to add the
values in column A.”
Macro and procedure names appear in normal type: “Execute the InsertTotals procedure.” I often
use mixed upper- and lowercase to make these names easier to read. Named ranges appear in
italic: “Select the InputArea range.”
Unless you’re dealing with text inside of quotation marks, Excel is not sensitive to case. In other
words, both of the following formulas produce the same result:
=SUM(A1:A50)
=sum(a1:a50)
Excel, however, will convert the characters in the second formula to uppercase.
4 Introduction
Mouse conventions
The mouse terminology in this book is all standard fare: “pointing,” “clicking,” “right-clicking,”
“dragging,” and so on. You know the drill.
What the icons mean
Throughout the book, icons appear to call your attention to points that are particularly important.
This icon indicates a feature new to Excel 2010.
I use Note icons to tell you that something is important — perhaps a concept that may
help you master the task at hand or something fundamental for understanding subsequent
material.
Tip icons indicate a more efficient way of doing something or a technique that may not
be obvious. These will often impress your officemates.
These icons indicate that an example file is on the companion CD-ROM. (See the
upcoming “About the Companion CD-ROM” section.)
I use Caution icons when the operation that I’m describing can cause problems if you’re
not careful.
I use the Cross Reference icon to refer you to other chapters that have more to say on a
particular topic.
How This Book Is Organized
There are dozens of ways to organize this material, but I settled on a scheme that divides the
book into six main parts. In addition, I’ve included a few appendixes that provide supplemental
information that you may find helpful.
Part I: Basic Information
This part is introductory in nature; it consists of Chapters 1 through 3. Chapter 1 sets the stage
with a quick and dirty overview of Excel. This chapter is designed for readers who are new to
Excel but who have used other spreadsheet products. In Chapter 2, I cover the basics of formulas.
Introduction 5
This chapter is absolutely essential reading in order to get the most out of this book. Chapter 3
deals with names. If you thought names were just for cells and ranges, you’ll see that you’re missing
out on quite a bit.
Part II: Using Functions in Your Formulas
This part consists of Chapters 4 through 10. Chapter 4 covers the basics of using worksheet functions
in your formulas. I get more specific in subsequent chapters. Chapter 5 deals with manipulating
text, Chapter 6 covers dates and times, and Chapter 7 explores various counting
techniques. In Chapter 8, I discuss various types of lookup formulas. Chapter 9 deals with tables
and worksheet databases, and Chapter 10 covers a variety of miscellaneous calculations such as
unit conversions and rounding.
Part III: Financial Formulas
Part III consists of three chapters (Chapters 11 through 13) that deal with creating financial formulas.
You’ll find lots of useful formulas that you can adapt to your needs.
Part IV: Array Formulas
This part consists of Chapters 14 and 15. The majority of Excel users know little or nothing about
array formulas — a topic that happens to be dear to me. Therefore I devote an entire part to this
little-used yet extremely powerful feature.
Part V: Miscellaneous Formula Techniques
This part consists of Chapters 16 through 21. They cover a variety of topics — some of which, on
the surface, may appear to have nothing to do with formulas. Chapter 16 demonstrates that a circular
reference can be a good thing. In Chapter 17, you’ll see why formulas can be important
when you work with charts, and Chapter 18 covers formulas as they relate to pivot tables.
Chapter 19 contains some very interesting (and useful) formulas that you can use in conjunction
with Excel’s conditional formatting and data validation features. Chapter 20 covers a topic that I
call “megaformulas.” A megaformula is a huge formula that takes the place of several intermediary
formulas. And what do you do when your formulas don’t work correctly? Consult Chapter 21
for some debugging techniques.
Part VI: Developing Custom Worksheet Functions
This part consists of Chapters 22 through 25. This is the part that explores Visual Basic for
Applications (VBA), the key to creating custom worksheet functions. Chapter 22 introduces VBA
and the VB Editor, and Chapter 23 provides some necessary background on custom worksheet
functions. Chapter 24 covers programming concepts, and Chapter 25 provides a slew of worksheet
function examples that you can use as-is, or customize for your own needs.
6 Introduction
Part VII: Appendixes
What’s a computer book without appendixes? This book has four appendixes. In the appendixes,
you’ll find a quick reference guide to Excel’s worksheet functions, tips on using custom number
formats, and a handy guide to Excel resources on the Internet. The final appendix describes all
the files on the CD-ROM.
How to Use This Book
You can use this book any way you please. If you choose to read it cover to cover while lounging
on a sunny beach in Kauai, that’s fine with me. More likely, you’ll want to keep it within arm’s
reach while you toil away in your dimly lit cubicle.
Due to the nature of the subject matter, the chapter order is often immaterial. Most readers will
probably skip around, picking up useful tidbits here and there. The material contains many examples,
designed to help you identify a relevant formula quickly. If you’re faced with a challenging
task, you may want to check the index first to see whether the book specifically addresses your
problem.
About the Companion CD-ROM
This book contains many examples, and the workbooks for those examples are available on the
companion CD-ROM, arranged in directories that correspond to the chapters.
The example workbook files on the companion CD-ROM are not compressed, so you can access
them directly from the CD (installation not required). These files are all Excel 2007/2010 files.
Files that have an *.xlsm extension contain VBA macros. In order to use the macros, you must
enable the macros.
In addition, the CD-ROM contains an electronic version of this book. It’s a searchable PDF file
that’s a perfect companion for your notebook computer when you take your next cross-country
flight.
Refer to Appendix D for more information about the example files on the CD-ROM.
About the Power Utility Pak Offer
Toward the back of the book, you’ll find a coupon that you can redeem for a discounted copy of
my award-winning Power Utility Pak — a collection of useful Excel utilities, plus many new worksheet
functions. I developed this package using VBA exclusively.
Introduction 7
You can also use this coupon to purchase the complete VBA source code for a nominal fee.
Studying the code is an excellent way to pick up some useful programming techniques. You can
take the product for a test drive by installing the shareware version from the companion
CD-ROM.
You can download a 30-day trial version of the most recent version of the Power Utility Pak from
my Web site:
http://spreadsheetpage.com
If you find it useful, use the coupon to purchase a licensed copy at a discount.
Reach Out
I’m always interested in getting feedback on my books. The best way to provide this feedback is
via e-mail. Send your comments and suggestions to
john@j-walk.com
Unfortunately, I’m not able to reply to specific questions. Posting your question to one of the
Excel newsgroups is, by far, the best way to get such assistance. See Appendix C for more information
about the newsgroups.
Also, when you’re out surfing the Web, don’t overlook my Web site (“The Spreadsheet Page”).
You’ll find lots of useful Excel information, including tips and downloads. The URL is
http://spreadsheetpage.com
Now, without further ado, it’s time to turn the page and expand your horizons.
8 Introduction
PART I
Basic Information
Chapter 1
Excel in a Nutshell
Chapter 2
Basic Facts about Formulas
Chapter 3
Working with Names

11
1
Excel in a Nutshell
In This Chapter
● A brief history of Excel
● What’s new in Excel 2010
● The object model concept in Excel
● The workings of workbooks
● The user interface
● The two types of cell formatting
● Worksheet formulas and functions
● Objects on the worksheet’s invisible drawing layer
● Macros, toolbars, and add-ins for Excel customization
● Internet features
● Analysis tools
● Protection options
Microsoft Excel has been referred to as “the best application ever written for Windows.” You may
or may not agree with that statement, but you can’t deny that Excel is one of the oldest Windows
products and has undergone many reincarnations and face-lifts over the years. Cosmetically, the
current version — Excel 2010 — barely even resembles the original version. However, many of
Excel’s key elements have remained intact over the years, with significant enhancements, of
course.
This chapter presents a concise overview of the features available in the more recent versions of
Excel, with specific emphasis on Excel 2010. It sets the stage for the subsequent chapters and
provides an overview for those who may have let their Excel skills get rusty.
12 Part I: Basic Information
The History of Excel
You probably weren’t expecting a history lesson when you bought this book, but you may find
this information interesting. At the very least, this section provides fodder for the next office
trivia match.
Spreadsheets comprise a huge business, but most of us tend to take this software for granted. In
the pre-spreadsheet days, people relied on clumsy mainframes or calculators and spent hours
doing what now takes minutes.
It started with VisiCalc
Dan Bricklin and Bob Frankston conjured up VisiCalc, the world’s first electronic spreadsheet,
back in the late 1970s when personal computers were unheard of in the office environment. They
wrote VisiCalc for the Apple II computer, an interesting machine that seems like a toy by today’s
standards. VisiCalc caught on quickly, and many forward-looking companies purchased the
Apple II for the sole purpose of developing their budgets with VisiCalc. Consequently, VisiCalc is
often credited for much of Apple II’s initial success.
Then came Lotus
When the IBM PC arrived on the scene in 1982, thus legitimizing personal computers, VisiCorp
wasted no time porting VisiCalc to this new hardware environment. Envious of VisiCalc’s success,
a small group of computer enthusiasts at a start-up company in Cambridge, Massachusetts,
refined the spreadsheet concept. Headed by Mitch Kapor and Jonathan Sachs, the company
designed a new product and launched the software industry’s first full-fledged marketing blitz.
Released in January 1983, Lotus Development Corporation’s 1-2-3 proved an instant success.
Despite its $495 price tag (yes, people really paid that much for a single program), it quickly outsold
VisiCalc and rocketed to the top of the sales charts, where it remained for many years.
Microsoft enters the picture
Most people don’t realize that Microsoft’s experience with spreadsheets extends back to the early
1980s. In 1982, Microsoft released its first spreadsheet — MultiPlan. Designed for computers running
the CP/M operating system, the product was subsequently ported to several other platforms,
including Apple II, Apple III, XENIX, and MS-DOS. MultiPlan essentially ignored existing
software UI standards. Difficult to learn and use, it never earned much of a following in the United
States. Not surprisingly, Lotus 1-2-3 pretty much left MultiPlan in the dust.
Excel partly evolved from MultiPlan, and first surfaced in 1985 on the Macintosh. Like all Mac
applications, Excel was a graphics-based program (unlike the character-based MultiPlan). In
November 1987, Microsoft released the first version of Excel for Windows (labeled Excel 2 to correspond
with the Macintosh version). Excel didn’t catch on right away, but as Windows gained
popularity, so did Excel. Lotus eventually released a Windows version of Lotus 1-2-3, and Excel
Chapter 1: Excel in a Nutshell 13
had additional competition from Quattro Pro — originally a DOS program developed by Borland
International, then sold to Novell, and then sold again to Corel (its current owner).
Excel versions
Excel 2010 is actually Excel 14 in disguise. You may think that this name represents the 14th version
of Excel. Think again. Microsoft may be a successful company, but its version-naming techniques
can prove quite confusing. As you’ll see, Excel 2010 actually represents the 11th Windows
version of Excel. In the following sections, I briefly describe the major Windows versions of Excel.
Excel 2
The original version of Excel for Windows, Excel 2 first appeared in late 1987. It was labeled
Version 2 to correspond to the Macintosh version (the original Excel). Because Windows wasn’t
in widespread use at the time, this version included a runtime version of Windows — a special
version with just enough features to run Excel and nothing else. This version appears quite crude
by today’s standards, as shown in Figure 1-1.
Figure 1-1: The original Excel 2 for Windows. Excel has come a long way since its original version.
(Photo courtesy of Microsoft Corporation)
Excel 3
At the end of 1990, Microsoft released Excel 3 for Windows. This version offered a significant
improvement in both appearance and features. It included toolbars, drawing capabilities, worksheet
outlining, add-in support, 3-D charts, workgroup editing, and lots more.
14 Part I: Basic Information
Excel 4
Excel 4 hit the streets in the spring of 1992. This version made quite an impact on the marketplace
as Windows increased in popularity. It boasted lots of new features and usability enhancements
that made it easier for beginners to get up to speed quickly.
Excel 5
In early 1994, Excel 5 appeared on the scene. This version introduced tons of new features,
including multisheet workbooks and the new Visual Basic for Applications (VBA) macro language.
Like its predecessor, Excel 5 took top honors in just about every spreadsheet comparison
published in the trade magazines.
Excel 95
Excel 95 (also known as Excel 7) shipped in the summer of 1995. On the surface, it resembled
Excel 5 (this version included only a few major new features). However, Excel 95 proved to be
significant because it presented the first version to use more advanced 32-bit code. Excel 95 and
Excel 5 use the same file format.
Excel 97
Excel 97 (also known as Excel 8) probably offered the most significant upgrade ever. The toolbars
and menus took on a great new look, online help moved a dramatic step forward, and the
number of rows available in a worksheet quadrupled. And if you’re a macro developer, you may
have noticed that Excel’s programming environment (VBA) moved up several notches on the
scale. Excel 97 also introduced a new file format.
Excel 2000
Excel 2000 (also known as Excel 9) was released in June of 1999. Excel 2000 offered several
minor enhancements, but the most significant advancement was the ability to use HTML as an
alternative file format. Excel 2000 still supported the standard binary file format, of course, which
is compatible with Excel 97.
Excel 2002
Excel 2002 (also known as Excel 10 or Excel XP) was released in June of 2001 and is part of
Microsoft Office XP. This version offered several new features, most of which are fairly minor and
were designed to appeal to novice users. Perhaps the most significant new feature was the capability
to save your work when Excel crashes and also recover corrupt workbook files that you
may have abandoned long ago. Excel 2002 also added background formula error checking and a
new formula-debugging tool.
Excel 2003
Excel 2003 (also known as Excel 11) was released in the fall of 2003. This version had very few
new features. Perhaps the most significant new feature was the ability to import and export XML
Chapter 1: Excel in a Nutshell 15
files and map the data to specific cells in a worksheet. It also introduced the concept of the List, a
specially designated range of cells. Both of these features would prove to be precursors to future
enhancements.
Excel 2007
Excel 2007 (also known as Excel 12) was released in early 2007. Its official name is Microsoft Office
Excel 2007. This release represented the most significant change since Excel 97, including a change
to Excel’s default file format. The new format was XML based although a binary format is still available.
Another major change was the Ribbon, a new type of UI that replaced the Excel menu and
toolbar system. In addition to these two major changes, Microsoft enhanced the List concept introduced
in Excel 2003 (a List is now known as a Table), improved the look of charts, significantly
increased the number of rows and columns, and added some new worksheet functions.
XML (Extensible Markup Language) stores data in a structured text format. The new file
formats are actually compressed folders that contain several different XML files. The
default format’s file extension is .xlsx. There’s also a macro-enabled format with the
extension .xlsm, a new binary format with the extension .xlsb, and all the legacy formats
that you’re used to.
Excel 2010
The current version, Excel 2010, was released in early 2010 and is also known as Excel 14. If you
think you’ve spotted a typo in the previous sentence, you’re wrong. Yes, even big companies can
be superstitious; Microsoft skipped Version 13 of Office and went from Version 12 to Version 14.
Excel 2010 builds on the improvements introduced in Excel 2007, and it offers several new
enhancements. See the sidebar, “What’s new in Excel 2010?”
The Object Model Concept
If you’ve dealt with computers for any length of time, you’ve undoubtedly heard the term objectoriented
programming. An object essentially represents a software element that a programmer
can manipulate. When using Excel, you may find it useful to think in terms of objects, even if you
have no intention of becoming a programmer. An object-oriented approach can often help you
keep the various elements in perspective.
Excel objects include the following:
􀁨 Excel itself
􀁨 An Excel workbook
􀁨 A worksheet in a workbook
􀁨 A range in a worksheet
􀁨 A button on a worksheet
16 Part I: Basic Information
􀁨 A ListBox control on a UserForm (a custom dialog box)
􀁨 A chart sheet
􀁨 A chart on a chart sheet
􀁨 A chart series in a chart
What’s new in Excel 2010?
Here’s a quick summary of what’s new, relative to Excel 2007:
● 64-bit version: If your hardware supports it, you can install the 64-bit version, which lets
you create much larger workbooks.
● Sparkline charts: Create small, in-cell charts to summarize a range of data graphically.
● Pivot table Slicers: A new way to filter and display data in pivot tables.
● Pivot table formatting options: You have more control over the appearance of pivot table
reports.
● File tab: The File tab replaces the Office button, which is located to the left of the other
tabs. Clicking it displays Backstage View, a screen that lets you perform various operations
on your workbook. This view essentially replaces the traditional File and Print menus —
plus quite a bit more.
● Draft mode for charts: If you use many highly formatted charts, you can choose to display
them in draft mode for improved performance.
● Conditional formatting enhancements: Data bar conditional formatting can display in a
solid color, and the bars provide a more accurate display.
● Function enhancements: Many of Excel’s statistical functions have been improved in terms
of numeric accuracy. The old versions of these functions are still available and have been
relegated to a new function category called Compatibility.
● Image editing enhancements: You have much more control over the appearance of
graphic images inserted into a workbook.
● Paste preview: When you copy a range, the Paste command displays various options
(with preview).
● Ribbon customization: End users can customize the Ribbon by adding new tabs and groups.
● Equation editor: Create and display (noncalculating) mathematical equations.
● Faster processing: Microsoft made some improvements to the calculation engine, and files
load a bit faster.
● New security features: Workbooks downloaded from the Internet or from e-mail attachments
are opened in Protected View mode. Workbooks can be designated as “trusted,”
and they don’t need to reside in special trusted folders.
● Updated Solver: Excel 2010 includes a new version of the Solver add-in.
● Enhancements to VBA: Many operations that used to require old XLM macros can now be
performed directly using VBA macro commands.
New Feature
Chapter 1: Excel in a Nutshell 17
Notice the existence of an object hierarchy: The Excel object contains workbook objects, which
contain worksheet objects, which contain range objects. This hierarchy is called Excel’s object
model. Other Microsoft Office products have their own object model. The object model concept
proves to be vitally important when developing VBA macros. Even if you don’t create macros,
you may find it helpful to think in terms of objects.
The Workings of Workbooks
The core document of Excel is a workbook. Everything that you do in Excel takes place in a workbook.
Beginning with Excel 2007, workbook “files” are actually compressed folders. You may be familiar
with compressed folders if you’ve ever used a file with a .zip extension. Inside the compressed
folders are a number of files that hold all the information about your workbook, including
charts, macros, formatting, and the data in its cells.
An Excel workbook can hold any number of sheets (limited only by memory). The four types of
sheets are
􀁨 Worksheets
􀁨 Chart sheets
􀁨 MS Excel 4.0 macro sheets (obsolete, but still supported)
􀁨 MS Excel 5.0 dialog sheets (obsolete, but still supported)
You can open or create as many workbooks as you want (each in its own window), but only one
workbook is the active workbook at any given time. Similarly, only one sheet in a workbook is the
active sheet. To activate a different sheet, click its corresponding tab at the bottom of the window,
or press Ctrl+PgUp (for the previous sheet) or Ctrl+PgDn (for the next sheet). To change a
sheet’s name, double-click its Sheet tab and type the new text for the name. Right-clicking a tab
brings up a shortcut menu with some additional sheet-manipulation options.
You can also hide the window that contains a workbook by using the View➜Window➜Hide command.
A hidden workbook window remains open but not visible. Use the View➜Window➜Unhide
command to make the window visible again. A single workbook can display in multiple windows
(choose View➜Window➜New Window). Each window can display a different sheet or a different
area of the same sheet.
Worksheets
The most common type of sheet is a worksheet — which you normally think of when you think of
a spreadsheet. Excel 2010 worksheets have 16,384 columns and 1,048,576 rows.
Versions prior to Excel 2007 support only 256 columns and 65,536 rows. If you open
such a file, Excel 2010 enters compatibility mode to work with the smaller worksheet
grid. In order to work with the larger grid, you must save the file in one of the Excel
2010 formats. Then close the workbook and reopen it.
18 Part I: Basic Information
Having access to more cells isn’t the real value of using multiple worksheets in a workbook.
Rather, multiple worksheets are valuable because they enable you to organize your work better.
Back in the old days, when a spreadsheet file consisted of a single worksheet, developers wasted
a lot of time trying to organize the worksheet to hold their information efficiently. Now, you can
store information on any number of worksheets and still access it instantly.
You have complete control over the column widths and row heights, and you can even hide rows
and columns (as well as entire worksheets). You can display the contents of a cell vertically (or at
an angle) and even wrap around to occupy multiple lines. In addition, you can merge cells
together to form a larger cell.
By default, every new workbook starts out with three worksheets. You can easily add a
new sheet when necessary, so you really don’t need to start with three sheets. You may
want to change this default to a single sheet. To change this option, choose the
File➜Options command, click the General tab, and change the setting for the option
labeled Include This Many Sheets.
Chart sheets
A chart sheet holds a single chart. Many users ignore chart sheets, preferring to use embedded
charts, which are stored on the worksheet’s drawing layer. Using chart sheets is optional, but
they make it a bit easier to locate a particular chart, and they prove especially useful for presentations.
I discuss embedded charts (or floating charts on a worksheet) later in this chapter.
Macro sheets and dialog sheets
This section discusses two obsolete Excel features that continue to be supported.
How big is a worksheet?
It’s interesting to stop and think about the actual size of a worksheet. Do the arithmetic (16,384 ×
1,048,576), and you’ll see that a worksheet has 17,179,869,184 cells. Remember that this is in just
one worksheet. A single workbook can hold more than one worksheet.
If you’re using a 1600 x 1200 video mode with the default row heights and column widths, you
can see 24 columns and 49 rows (or 1,176 cells) at a time — which is about .0000068 percent of
the entire worksheet. In other words, more than 14.6 million screens of information reside within a
single worksheet.
If you entered a single digit into each cell at the relatively rapid clip of one cell per second, it
would take you over 500 years, nonstop, to fill up a worksheet. To print the results of your
efforts would require more than 36 million sheets of paper — a stack about 12,000 feet high
(that’s ten Empire State Buildings stacked on top of each other).
Chapter 1: Excel in a Nutshell 19
An Excel 4.0 macro sheet is a worksheet that has some different defaults. Its purpose is to hold
XLM macros. XLM is the macro system used in Excel version 4.0 and earlier. This macro system
was replaced by VBA in Excel 5.0 and is not discussed in this book.
An Excel 5.0 dialog sheet is a drawing grid that can hold text and controls. In Excel 5.0 and Excel
95, dialog sheets were used to make custom dialog boxes. UserForms were introduced in Excel
97 to replace these sheets.
The Excel User Interface
A UI is the means by which an end user communicates with a computer program. A UI includes
elements such as menus, dialog boxes, toolbars, and keystroke combinations, as well as features
such as drag and drop.
A new UI
Almost every Windows program you use employs the menu and toolbar approach. That is, at the
top of the screen is a menu bar that contains virtually every command that’s available in the application,
and below that is one or more toolbars, which provide shortcuts to some of the more frequently
used commands. With the release of Office 2007, the days of menus and toolbars are over.
The new UI for Excel consists of components like the Ribbon, Backstage View, the Mini Toolbar,
and the Quick Access toolbar.
The Ribbon
The Ribbon is the primary UI component in Excel. It replaces the menu and most of the toolbars
that were common in previous versions, and it is a very significant departure from the interfaces
of most Windows-based applications.
One-stop shopping
Microsoft felt that the commands contained in the old menu and toolbar system were becoming
so numerous that a new paradigm was necessary. One of the main goals for developing the
Ribbon was to provide the user with a single place to look for a particular feature. Every commonly
used command available in Excel would be contained in the Ribbon (or in a dialog box
accessed via the Ribbon). Although Microsoft succeeded in putting most of the available commands
on the Ribbon, it’s still a pretty big place.
The Ribbon in Office 2007 received mixed reviews. Some people hated it, and others loved it. For
some, the hatred was so severe that they sought Excel 2007 add-ins that restored the old menus.
Others set up online petitions, asking Microsoft to restore the old menus for Office. Fact is, the
Ribbon is here to stay. Once you get used to the Ribbon, it really is easier to use than the convoluted
menu system that it replaced.
20 Part I: Basic Information
A few commands failed to make the cut and do not appear in the Ribbon. But they are
still available if you know where to look for them. Right-click the Quick Access toolbar
and choose Customize Quick Access Toolbar. Excel displays a dialog box with a list of
commands that you can add to your Quick Access toolbar. Some of these commands
aren’t available elsewhere in the UI. In Excel 2010, you can also add new commands to
the Ribbon: Right-click the Ribbon and select Customize The Ribbon.
Tabs, groups, and tools
The Ribbon is a band of tools that stretches across the top of the Excel window. About the vertical
size of three of the old-style toolbars, the Ribbon sports a number of tabs including Home,
Insert, Page Layout, and others. On each tab are groups that contain related tools. On the Home
tab, for example, you find the Clipboard group, the Font group, the Alignment group, and others.
Within the groups are the tools, which are similar to the tools that existed on the old-style toolbars
with one major difference: their different sizes. Tools that you use most often are larger than
less-frequently used tools. For example, nearly half of the Clipboard group is consumed by the
large Paste tool; the Cut, Copy, and Format Painter tools are much smaller. Microsoft determined
that the Paste tool is the most used tool and thus sized it accordingly.
The Ribbon and all its components resize dynamically as you resize the Excel window horizontally.
Smaller Excel windows collapse the tools on compressed tabs and groups, and maximized
Excel windows on large monitors show everything that’s available. Even in a small window, all
Ribbon commands remain available. You just may need to click a few extra times to access them.
Figure 1-2 shows three sizes of the Ribbon when the Home tab is displayed using an increasingly
smaller horizontal window size.
Figure 1-2: The Ribbon sizes dynamically, depending on the horizontal size of Excel’s window.
Navigation
Using the Ribbon is fairly easy with a mouse. You click a tab and then click a tool. If you prefer to
use the keyboard, Microsoft has added a feature just for you. Pressing Alt displays tiny squares
with shortcut letters in them that hover over their respective tab or tool. Each shortcut letter that
you press either executes its command or drills down to another level of shortcut letters.
Pressing Esc cancels the letters or moves up to the previous level.
Chapter 1: Excel in a Nutshell 21
For example, a keystroke sequence of Alt+HBB adds a double border to the bottom of the selection.
The Alt key activates the shortcut letters, the H shortcut activates the Home tab, the B
shortcut activates the Borders tool menu, and the second B shortcut executes the Bottom Double
Border command. Note that it’s not necessary to keep the Alt key depressed while you press the
other keys.
Contextual tabs
The Ribbon contains tabs that are visible only when they are needed. Generally, when a previously
hidden tab appears, it’s because you selected an object or a range with special characteristics
(like a chart or a pivot table). A typical example is the Drawing Tools contextual tab. When
you select a shape or WordArt object, the Drawing Tools tab is made visible and active. It contains
many tools that are only applicable to shapes, such as shape-formatting tools.
ScreenTips and dialog box launchers
Hovering over a tool on the Ribbon displays a ScreenTip that explains the command the tool will
execute. ScreenTips are larger and, in most cases, wordier than the ToolTips from previous versions.
At the bottom of many of the groups is a small box icon (a dialog box launcher) that opens a dialog
box related to that group. Users of previous versions of Excel will recognize these dialog
boxes, many of which are unchanged. Some of the icons open the same dialog boxes but to different
areas. For instance, the Font group icon opens the Format Cells dialog box with the Font
tab activated. The Alignment group opens the same dialog box but activates the Alignment tab.
The Ribbon makes using dialog boxes a far less-frequent activity than in the past because most
of the commonly used operations can be done directly on the Ribbon.
Galleries and Live Preview
A gallery is a large collection of tools that look like the choice they represent. If you’ve used previous
versions of Excel, you may have noticed that the font names in the drop-down list box on
the Formatting toolbar were in their own font. Galleries are an extension of that feature. The
Styles gallery, for example, does not just list the name of the style, but lists it in the same formatting
that will be applied to the cell.
Although galleries help to give you an idea of what your object will look like when an option is
selected, Live Preview takes it to the next level. Live Preview displays your object or data as it
will look right on the worksheet when you hover over the gallery tool. By hovering over the various
tools in the Format Table gallery, you can see exactly what your table will look like before
you commit to a format.
Backstage View
The big round Office Button in Excel 2007 has been replaced by a File tab that takes you to the
Backstage View (see Figure 1-3). This is where you perform most of the document-related activities:
creating new workbooks, opening files, saving files, printing, and so on.
22 Part I: Basic Information
Figure 1-3: Clicking the File tab takes you to the Backstage View.
Backstage View also contains the list of recent documents (up to 50), with a pushpin icon next to
each entry that you can use to keep that document at the top of the list regardless of how many
files you open and close.
Plus, Backstage View gives you access to the Excel Options dialog box, which contains dozens of
settings for customizing Excel.
Shortcut menus and the Mini Toolbar
Excel also features dozens of shortcut menus. These menus appear when you right-click after
selecting one or more objects. The shortcut menus are context sensitive. In other words, the
menu that appears depends on the location of the mouse pointer when you right-click. You can
right-click just about anything — a cell, a row or column border, a workbook title bar, and so on.
Right-clicking many items displays the shortcut menu as well as a Mini Toolbar. The Mini Toolbar
is a floating toolbar that contains a dozen or so of the most popular formatting commands.
Figure 1-4 shows the shortcut menu and Mini Toolbar when a range is selected.
Chapter 1: Excel in a Nutshell 23
Figure 1-4: The shortcut menu and Mini Toolbar appear when you right-click a range.
Customizing the UI
The Quick Access toolbar is a set of tools that the user can customize. By default, the Quick
Access toolbar contains three tools: Save, Undo, and Redo. If you find that you use a particular
Ribbon command frequently, right-click the command and select Add to Quick Access Toolbar.
You can make other changes to the Quick Access toolbar from the Quick Access Toolbar tab of
the Excel Options dialog box. To access this dialog box, right-click the Quick Access toolbar and
select Customize Quick Access Toolbar.
A new feature in Excel 2010 lets you customize the Ribbon; this is done in the Customize Ribbon
tab of the Excel Options dialog box. You can customize the Ribbon in these ways:
􀁨 Add a new tab
􀁨 Add a new group to a tab
􀁨 Add commands to a group
􀁨 Remove groups from a tab
􀁨 Remove commands from custom groups
􀁨 Change the order of the tabs
24 Part I: Basic Information
􀁨 Change the order of the groups within a tab
􀁨 Change the name of a tab
􀁨 Change the name of a group
􀁨 Move a group to a different tab
􀁨 Reset the Ribbon to remove all customizations
That’s a fairly comprehensive list of customization options, but there are some actions that you
cannot do:
􀁨 You cannot remove built-in tabs — but you can hide them.
􀁨 You cannot remove commands from built-in groups.
􀁨 You cannot change the order of commands in a built-in group.
Smart Tags
A Smart Tag is a small icon that appears automatically in your worksheet after you complete certain
actions. Clicking a Smart Tag (or pressing Ctrl) reveals several options.
For example, if you copy and paste a range of cells, Excel generates a Smart Tag that appears
below the pasted range (see Figure 1-5). Excel features several other Smart Tags, and additional
Smart Tags can be provided by third-party providers.
Figure 1-5: This Smart Tag appears when you paste a copied range.
Chapter 1: Excel in a Nutshell 25
Task pane
Excel 2002 introduced the task pane. This is a multipurpose UI element that is normally docked
on a side of Excel’s window (but you can drag it anywhere you like). You can use the task pane
for a variety of purposes, including displaying the Office Clipboard, providing research assistance,
displaying pivot table fields, and mapping XML data. Figure 1-6 shows the task pane that appears
when you insert clip art.
Figure 1-6: The Clip Art task pane allows you to search for and insert an image.
Drag and drop
Excel’s drag-and-drop UI feature enables you to freely drag objects that reside on the drawing
layer to change their position. Pressing Ctrl while dragging duplicates the selected objects. These
objects include shapes, embedded charts, and SmartArt.
Excel also permits drag-and-drop actions on cells and ranges. You can easily drag the contents of
a cell or range to a different position. And pressing Ctrl while dragging copies the selected range.
You can disable the ability to drag and drop the contents of cells. To change this setting,
choose File➜Options to display the Excel Options dialog box. Click the Advanced
tab and clear the Enable Fill Handle and Cell Drag-and-Drop check box (located in the
Editing Options section).
Keyboard shortcuts
In addition to the keyboard shortcuts for navigating the Ribbon, Excel has many other keyboard
shortcuts that execute commands directly. For example, you can press Ctrl+C to copy a selection.
If you’re a newcomer to Excel or if you just want to improve your efficiency, do yourself a favor
26 Part I: Basic Information
and check out the shortcuts listed in Excel’s Help system. (Search for keyboard shortcuts using
the Search box or locate the topic under the Accessibility chapter of Help’s Table of Contents.)
The Help system contains tables that summarize useful keyboard commands and shortcuts.
To ease the transition from previous versions, Microsoft includes the Office 2003 Access Key feature.
Many Excel users are accustomed to navigating the old menu system with their keyboard,
and they would become much more inefficient if they had to rely on the new Ribbon. If you type
an Alt+letter sequence that isn’t a part of the Ribbon but that did exist in Excel 2003, you get a
ScreenTip near the top of the Excel window, like the one shown in Figure 1-7.
Figure 1-7: Using a keyboard sequence like Alt+I+R (for Insert➜Row) can still be used to insert a row and
will display this ScreenTip during the process.
Customized on-screen display
Excel offers some flexibility regarding on-screen display (status bar, Formula bar, the Ribbon,
and so on). For example, by choosing View➜Workbook Views➜Full Screen, you can get rid of
everything except the title bar, thereby maximizing the amount of visible information. To get out
of full-screen mode, right-click and select Exit Fullscreen from the shortcut menu (or press Esc).
A little less drastic is pressing the Ctrl+F1 shortcut key to hide (and restore) the Ribbon.
The status bar at the bottom of the screen can be customized. Right-click the status bar, and you
see lots of options that allow you to control what information is displayed in the status bar.
Many other customizations can be made by choosing File➜Options and clicking the Advanced
tab. On this tab are several sections that deal with what displays on-screen.
Data entry
Data entry in Excel is quite straightforward. Excel interprets each cell entry as one of the following:
􀁨 A value (including a date or a time)
􀁨 Text
􀁨 A Boolean value (TRUE or FALSE)
􀁨 A formula
Formulas always begin with an equal sign (=).
Chapter 1: Excel in a Nutshell 27
Object and cell selecting
Generally, selecting objects in Excel conforms to standard Windows practices. You can select a
range of cells by using the keyboard (by pressing the Shift key, along with the arrow keys) or by
clicking and dragging the mouse. To select a large range, click a cell at any corner of the range,
scroll to the opposite corner of the range, and press Shift while you click the opposite corner cell.
Data-entry tips
The following list of data-entry tips can help those moving up to Excel from another
spreadsheet:
● To enter data without pressing the arrow keys, enable the After Pressing Enter, Move
Selection option on the Advanced tab of the Excel Options dialog box (which you access
from the Office➜Excel Options command). You can also choose the direction that you
want to go.
● You may find it helpful to select a range of cells before entering data. If you do so, you can
use the Tab key or Enter key to move only within the selected cells.
● To enter the same data in all cells within a range, select the range, enter the information
into the active cell, and then press Ctrl+Enter.
● To copy the contents of the active cell to all other cells in a selected range, press F2 and
then press Ctrl+Enter.
● To fill a range with increments of a single value, press Ctrl while you drag the fill handle at
the lower-right corner of the cell.
● To create a custom AutoFill list, select the Edit Custom Lists button on the Popular tab of
the Excel Options dialog box.
● To copy a cell without incrementing, drag the fill handle at the lower-right corner of the
selection; or, press Ctrl+D to copy down or Ctrl+R to copy to the right.
● To make text easier to read, you can enter line breaks in a cell. To enter a line break, press
Alt+Enter. Line breaks cause a cell’s contents to wrap within the cell.
● To enter a fraction, type 0, a space, and then the fraction (using a slash). Excel formats the
cell using the Fraction number format.
● To automatically format a cell with the currency format, type your currency symbol before
the value.
● To enter a value in percent format, type a percent sign after the value. You can also
include your local thousand separator symbol to separate thousands (for example,
123,434).
● To insert the current date, press Ctrl+; (semicolon). To enter the current time into a cell,
press Ctrl+Shift+;.
● To set up a cell or range so that it accepts entries only of a certain type (or within a certain
value range), choose the Data➜Data Tools➜Data Validation command.
28 Part I: Basic Information
You can use Ctrl+* (asterisk) to select an entire table. And when a large range is selected, you
can use Ctrl+. (period) to move among the four corners of the range.
If you’re working in a table (created with the Insert➜Tables➜Table command), you’ll find that
(beginning with Excel 2007) Ctrl+A works in a new way. Press it once to select the table cells
only. Press Ctrl+A a second time, and it selects the entire table (including the header and totals
row). Press it a third time, and it selects all cells on the worksheet.
Clicking an object placed on the drawing layer selects the object. An exception occurs if the
object has a macro assigned to it. In such a case, clicking the object executes the macro. To
select multiple objects or noncontiguous cells, press Ctrl while you select the objects or cells.
The Excel Help System
One of Excel’s most important features is its Help system. The Help icon, a blue circle with a
question mark in it, is located near the upper-right corner of the Excel window. Clicking the Help
icon or pressing the F1 function key displays the Help system window, as shown in Figure 1-8.
Figure 1-8: The Excel Help system window.
The two primary methods for navigating Help are the Search box and the Table of Contents.
Typing keywords into the Search box and clicking the Search button displays a list of relevant
Help articles in the main window. The Table of Contents lists many related Help articles organized
by chapters. The Table of Contents window can be hidden when not in use. Note that the Search
button is actually a drop-down control. Click the small arrow, and you can choose the general type
Chapter 1: Excel in a Nutshell 29
of Help you need. By default, the content shown is downloaded from the Microsoft Office Web
site: http://office.microsoft.com. If you do not have Internet access or you prefer to limit
Help to articles on your computer, click the Connection status bar in the lower-right corner of the
Help window. A small menu appears that allows you to specify which Help system to use.
Cell Formatting
Excel provides two types of cell formatting — numeric formatting and stylistic formatting.
Numeric formatting
Numeric formatting refers to how a value appears in the cell. In addition to choosing from an
extensive list of predefined formats, you can create your own custom number formats in the
Number tab of the Format Cells dialog box. (Choose the dialog box launcher at the bottom of the
Home➜Number group.)
Excel applies some numeric formatting automatically, based on the entry. For example, if you
precede a value with your local currency symbol (such as a dollar sign), Excel applies Currency
number formatting. If you append a percent symbol, Excel applies Percent formatting.
Refer to Appendix B for additional information about creating custom number formats.
The number format doesn’t affect the actual value stored in the cell. For example, suppose that a
cell contains the value 3.14159. If you apply a format to display two decimal places, the number
appears as 3.14. When you use the cell in a formula, however, the actual value (3.14159) — not the
displayed value — is used.
Stylistic formatting
Stylistic formatting refers to the cosmetic formatting (colors, shading, fonts, borders, and so on)
that you apply in order to make your work look good. The Home➜Font and Home➜Styles
groups contain commands to format your cells and ranges.
A formatting concept introduced in Excel 2007 is document themes. Basically, themes allow you
to set many formatting options at once, such as font, colors, and cell styles. The formatting
options contained in a theme are designed to work well together. If you’re not feeling particularly
artistic, you can apply a theme and know the colors won’t clash. All the commands for themes
are in the Themes group of the Page Layout tab.
Don’t overlook Excel’s conditional formatting feature. This handy tool enables you to specify formatting
that appears only when certain conditions are met. For example, you can make the cell’s
interior red if the cell contains a negative number. Excel 2007 introduced many new conditional
formatting options, and Excel 2010 refined them.
30 Part I: Basic Information
See Chapter 19 for more information on conditional formatting.
Tables
A table is a specially designated range in a worksheet. Converting a range into a table makes it
easier to perform many operations on that data.
The data in a table is related in a specific way. The rows represent related objects, and the columns
represent specific pieces of information about each of those objects. If, for instance, you
have a table of library books, each row would hold the information for one book. Columns might
include title, author, publisher, date, and so on. In database terminology, the rows are records,
and the columns are fields.
If your data is arranged in this fashion, you can designate it as a table by selecting the range and
then choosing Insert➜Tables➜Table. Excel inserts generic column headings if none exist; the column
heading includes drop-down controls. These drop-down controls, as well as the Table Tools
context tab on the Ribbon, provide quick access to many table-related features like sorting, filtering,
and formatting. In addition, using formulas within a table offers some clear advantages.
See Chapter 9 for more information about the table feature.
Worksheet Formulas and Functions
Formulas, of course, make a spreadsheet a spreadsheet. Excel’s formula-building capability is as
good as it gets. You will discover this as you explore subsequent chapters in this book.
Worksheet functions allow you to perform calculations or operations that would otherwise be
impossible. Excel provides a huge number of built-in functions, including dozens of new functions
introduced in Excel 2010.
See Chapter 4 for more information about worksheet functions.
Most spreadsheets allow you to define names for cells and ranges, but Excel handles names in
some unique ways. A name represents an identifier that enables you to refer to a cell, range,
value, or formula. Using names makes your formulas easier to create and read.
I devote Chapter 3 entirely to names.
Chapter 1: Excel in a Nutshell 31
Objects on the Drawing Layer
As I mention earlier in this chapter, each worksheet has an invisible drawing layer, which holds
shapes, SmartArt, charts, pictures, and controls (such as buttons and list boxes). I discuss some
of these items in the following sections.
Shapes
You can insert a wide variety of shapes from Insert➜Shapes. After you place a shape on your
worksheet, you can modify the shape by selecting it and dragging its handles. In addition, you
can apply built-in shape styles, fill effects, or 3-D effects to the shape. Also, you can group multiple
shapes into a single drawing object, which you’ll find easier to size or position.
Illustrations
Pictures, clip art, and SmartArt can be inserted from the Insert➜Illustrations group. Figure 1-9
shows some objects on the drawing layer of a worksheet.
Figure 1-9: Objects on a worksheet drawing layer. Excel makes a great doodle pad.
Linked picture objects
A linked picture is a shape object that shows a range. When the range is changed, the shape
object changes along with it. To use this object, select a range and press Ctrl+C to copy it. Then
choose Home➜Clipboard➜Paste➜Linked Picture. This command is useful if you want to print a
noncontiguous selection of ranges. You can “take pictures” of the ranges and then paste the pictures
together in a single area, which you can then print.
32 Part I: Basic Information
Controls
You can insert a number of different controls on a worksheet. These controls come in two flavors —
Form controls and ActiveX controls. Using controls on a worksheet can greatly enhance the worksheet’s
usability — often, without using macros. To insert a control, choose Developer➜Controls➜
Insert. Figure 1-10 shows a worksheet with various controls added to the drawing layer: a check
box, two sets of option buttons, and a scroll bar.
The Ribbon’s Developer tab is not visible by default. To show the Developer tab, rightclick
the Ribbon and select Customize The Ribbon to display the Excel Options dialog
box. In the list box on the right, place a check mark next to Developer.
If you’d like to see how these controls work, the workbook shown in Figure 1-10 is available
on the companion CD-ROM. The file is named worksheet controls.xlsx.
Figure 1-10: Excel enables you to add many controls directly to the drawing layer of a worksheet.
Charts
Excel, of course, has excellent charting capabilities. As I mention earlier in this chapter, you can
store charts on a chart sheet or you can float them on a worksheet.
Excel offers extensive chart customization options. Selecting a chart displays the Chart Tools
contextual tab, which contains basic tools to customize your chart. For more control, press Ctrl+1
to display the Format dialog box for the selected elements. In addition, right-clicking a chart element
displays a shortcut menu.
You can easily create a free-floating chart by selecting the data to be charted and selecting one
of the chart types from the Insert➜Charts group.
Chapter 17 contains additional information about charts.
Chapter 1: Excel in a Nutshell 33
Sparkline graphics
A new feature in Excel 2010 is Sparkline graphics. A Sparkline is a chart that occupies a single
cell. Sparklines are usually used in groups to provide a quick overview of trends in your data.
Figure 1-11 shows a worksheet with Sparklines.
Figure 1-11: Sparkline graphics shows trends in your data.
Customizing Excel
This section describes two features that enable you to customize Excel — macros and add-ins.
Macros
Excel’s VBA programming language is a powerful tool that can make Excel perform otherwise
impossible feats. You can classify the procedures that you create with VBA into two general
types:
􀁨 Macros that automate various aspects of Excel
􀁨 Macros that serve as custom functions that you can use in worksheet formulas
Part VI of this book describes how to use and create custom worksheet functions
using VBA.
34 Part I: Basic Information
Add-in programs
An add-in is a program attached to Excel that gives it additional functionality. For example, you
can store custom worksheet functions in an add-in. To attach an add-in, use the Add-Ins tab in
the Excel Options dialog box.
Excel ships with quite a few add-ins, and you can purchase or download many third-party addins
from online services. My Power Utility Pak is an example of an add-in (use the coupon in the
back of the book to order a copy at a discounted price).
Chapter 23 describes how to create your own add-ins that contain custom worksheet
functions.
Internet Features
Excel includes a number of features that relate to the Internet. For example, you can save a worksheet
or an entire workbook in HTML format, accessible in a Web browser. In addition, you can
insert clickable hyperlinks (including e-mail addresses) directly into cells.
You can also create Web queries to bring in data stored in a corporate intranet or on the Internet.
Analysis Tools
Excel is certainly no slouch when it comes to analysis. After all, most people use a spreadsheet
for analysis. Many analytical tasks can be handled with formulas, but Excel offers many other
options, which I discuss in the following sections.
Database access
Over the years, most spreadsheets have enabled users to work with simple flat database tables.
Excel’s database features fall into two main categories:
􀁨 Worksheet databases: The entire database is stored in a worksheet. In theory, an Excel
worksheet database can have no more than 1,048,575 records (because the top row
holds the field names) and 16,384 fields (one per column). In practice, such a large database
is not possible.
􀁨 External databases: The data is stored outside Excel, such as in an Access file or in SQL
Server.
Generally, when the cell pointer resides within a worksheet database, Excel recognizes it and displays
the field names whenever possible. For example, if you move the cell pointer within a worksheet
database and choose the Data➜Sort & Filter➜Sort command, Excel allows you to select
the sort keys by choosing field names from a drop-down list.
Chapter 1: Excel in a Nutshell 35
A particularly useful feature, filtering, enables you to display only the records that you want to
see. When Filter mode is on, you can filter the data by selecting values from pull-down menus
(which appear below the field names when you choose the Data➜Sort & Filter➜Filter command).
Rows that don’t meet the filter criteria are hidden. See Figure 1-12 for an example.
If you convert a worksheet database into a table (by using Insert➜Tables➜Table), filtering is
turned on automatically.
Figure 1-12: Excel’s Filter feature makes it easy to view only the database records that meet your criteria.
If you prefer, you can use the traditional spreadsheet database techniques that involve criteria
ranges. To do so, choose the Data➜Sort & Filter➜Advanced command.
Chapter 9 provides additional details regarding worksheet lists and databases.
Excel can automatically insert (or remove) subtotal formulas in a table that is set up as a database.
It also creates an outline from the data so that you can view only the subtotals or any level
of detail that you desire.
Outlines
A worksheet outline is often useful when working with hierarchical data, such as budgets. Excel
can create an outline automatically by examining the formulas in your worksheet (use the
Data➜Outline➜Subtotal command). After you’ve created an outline, you can collapse or expand
the outline to display various levels of details. Figure 1-13 shows an example of a worksheet outline.
36 Part I: Basic Information
Figure 1-13: Excel can automatically insert subtotal formulas and create outlines.
Scenario management
Scenario management is storing input values that drive a model. For example, if you have a sales
forecast, you may create scenarios such as best case, worst case, and most likely case.
Excel’s Scenario Manager can handle only simple scenario-management tasks, but most users
find it adequate. However, it is definitely easier than trying to keep track of different scenarios
manually.
Pivot tables
One of Excel’s most powerful tools is the pivot table, which enables you to display summarized
data in just about any way possible. Data for a pivot table comes from a worksheet database (or
table) or an external database, and it is stored in a special cache, which enables Excel to recalculate
data rapidly after a pivot table is altered.
Chapter 18 contains additional information about pivot tables.
As a companion to a pivot table, Excel also supports the pivot chart feature. Pivot charts enable
you to link a chart to a pivot table.
Auditing capabilities
Excel also offers useful auditing capabilities that help you identify errors or track the logic in an
unfamiliar spreadsheet. To access this feature, choose commands in the Formulas➜Formula
Auditing group.
Refer to Chapter 21 for more information about Excel’s auditing features.
Chapter 1: Excel in a Nutshell 37
Solver add-in
For specialized linear and nonlinear problems, Excel’s Solver add-in calculates solutions to whatif
scenarios based on adjustable cells, constraint cells, and, optionally, cells that must be maximized
or minimized. Excel 2010 comes with a new version of Solver.
Protection Options
Excel offers a number of different protection options. For example, you can protect formulas
from being overwritten or modified, protect a workbook’s structure, and protect your VBA code.
Protecting formulas from being overwritten
In many cases, you may want to protect your formulas from being overwritten or modified. To do
so, you must unlock the cells that you will allow to be overwritten and then protect the sheet.
First select the cells that may be overwritten and choose Home➜Cells➜Format➜Lock to unlock
those cells. (The command toggles the Locked status.) Next, choose Home➜Cells➜Format➜
Protect Sheet to show the Protect Sheet dialog box. Here you can specify a password if desired.
By default, all cells are locked. Locking and unlocking cells has no effect, however,
unless you have a protected worksheet.
When you protect a worksheet, the Protect Sheet dialog box (see Figure 1-14) lets you select
which elements won’t be protected. For example, you can allow users to sort data or use
AutoFiltering on a protected sheet.
Figure 1-14: Select which elements to protect in the Protect Sheet dialog box.
You can also hide your formulas so they won’t appear in the Excel Formula bar when the cell is
activated. To do so, select the formula cells and press Ctrl+1 to display the Format Cells dialog
box. Click the Protection tab and make sure that the Hidden check box is selected.
38 Part I: Basic Information
Protecting a workbook’s structure
When you protect a workbook’s structure, you can’t add or delete sheets. Use the Review➜
Changes➜Protect Workbook command to display the Protect Structure and Windows dialog
box, as shown in Figure 1-15. Make sure that you enable the Structure check box. If you also mark
the Windows check box, the window can’t be moved or resized.
Figure 1-15: To protect your workbook’s structure, select the Structure check box.
Keep in mind that Excel is not really a secure application. The protection features, even
when used with a password, are intended to prevent casual users from accessing various
components of your workbook. Anyone who really wants to defeat your protection
can probably do so by using readily available password-cracking utilities.
Password-protecting a workbook
In addition to protecting individual sheets and the structure of the workbook, you can require a
password to open the workbook. To set a password, choose File➜Info➜Protect Workbook➜
Encrypt With Password to display the Encrypt Document dialog box (see Figure 1-16). In this
dialog box, you can specify a password to open the workbook.
Figure 1-16: Use the Encrypt Document dialog box to specify a password for a workbook.
39
2
Basic Facts about Formulas
In This Chapter
● How to enter, edit, and paste names into formulas
● The various operators used in formulas
● How Excel calculates formulas
● Cell and range references used in formulas
● How to make an exact copy of a formula
● How to convert formulas to values
● How to prevent formulas from being viewed
● The types of formula errors
● Circular reference messages and correction techniques
● Excel’s goal seeking feature
This chapter serves as a basic introduction to using formulas in Excel. Although I direct its focus
on newcomers to Excel, even veteran Excel users may find some new information here.
Entering and Editing Formulas
This section describes the basic elements of a formula. It also explains various ways of entering
and editing your formulas.
Formula elements
A formula entered into a cell can consist of five elements:
􀁨 Operators: These include symbols such as + (for addition) and * (for multiplication).
􀁨 Cell references: These include named cells and ranges that can refer to cells in the current
worksheet, cells in another worksheet in the same workbook, or even cells in a worksheet
in another workbook.
40 Part I: Basic Information
􀁨 Values or text strings: Examples include 7.5 (a value) and “Year-End Results” (a string,
enclosed in quotes).
􀁨 Worksheet functions and their arguments: These include functions such as SUM or
AVERAGE and their arguments. Function arguments appear in parentheses, and provide
input for the function’s calculations.
􀁨 Parentheses: These control the order in which expressions within a formula are
evaluated.
Entering a formula
When you type an equal sign into an empty cell, Excel assumes that you are entering a formula
because a formula always begins with an equal sign. Excel’s accommodating nature also permits
you to begin your formula with a minus sign or a plus sign. However, Excel always inserts the
leading equal sign after you enter the formula.
As a concession to former Lotus 1-2-3 users, Excel also allows you to use an “at” symbol (@) to
begin a formula that starts with a function. For example, Excel accepts either of the following
formulas:
=SUM(A1:A200)
@SUM(A1:A200)
However, after you enter the second formula, Excel replaces the @ symbol with an equal sign.
You can enter a formula into a cell in one of two ways: Enter it manually, or enter it by pointing
to cells that are used in the formula. I discuss each of these methods in the following sections.
Entering a Formula Manually
Entering a formula manually involves, well, entering a formula manually. You simply activate a
cell and type an equal sign (=) followed by the formula. As you type, the characters appear in the
cell as well as in the Formula bar. You can, of course, use all the normal editing keys when typing
a formula. After you insert the formula, press Enter.
When you type an array formula, you must press Ctrl+Shift+Enter rather than just Enter.
An array formula is a special type of formula, which I discuss in Part IV.
After you press Enter, the cell displays the result of the formula. The formula itself appears in the
Formula bar when the cell is activated.
Chapter 2: Basic Facts about Formulas 41
Entering a formula by pointing
The other method of entering a formula still involves some manual typing, but you can simply
point to the cell references instead of typing them manually. For example, to enter the formula
=A1+A2 into cell A3, follow these steps:
1. Move the cell pointer to cell A3.
2. Type an equal sign (=) to begin the formula.
Notice that Excel displays Enter in the left side of the status bar.
3. Press ↑ twice.
As you press this key, notice that Excel displays a moving border around the cell and that
the cell reference (A1) appears in cell A3 and in the Formula bar. Also notice that Excel
displays Point in the status bar.
If you prefer, you can use your mouse and click cell A1.
4. Type a plus sign (+).
The moving border becomes a solid blue border around A1, and Enter reappears in the
status bar. The cell cursor also returns to the original cell (A3).
5. Press ↑ one more time. A2 adds to the formula.
If you prefer, you can use your mouse and click cell A2.
6. Press Enter to end the formula.
Like with typing the formula manually, the cell displays the result of the formula, and
the formula appears in the Formula bar when the cell is activated.
If you prefer, you can use your mouse and click the check mark icon next to the
Formula bar.
This method might sound a bit tedious, but it’s actually very efficient once you get the hang of it.
Pointing to cell addresses rather than entering them manually is almost always faster and more
accurate.
Pasting names
As I discuss in Chapter 3, you can assign a name to a cell or range. If your formula uses named
cells or ranges, you can type the name in place of the address or choose the name from a list and
have Excel insert the name for you automatically.
42 Part I: Basic Information
To insert a name into a formula, position your cursor in the formula where you want the name
entered and use one of these two methods:
􀁨 Press F3 to display the Paste Name dialog box. Select the name and click OK.
􀁨 Take advantage of the Formula AutoComplete feature. When you type a letter while constructing
a formula, Excel displays a list of matching options. These options include functions
and names. Use the down-arrow key (↓) to select the name and then press Tab to
insert the name in your formula.
Spaces and line breaks
Normally, you enter a formula without using any spaces. However, you can use spaces (and even
line breaks) within your formulas. Doing so has no effect on the formula’s result but can make the
formula easier to read. To enter a line break in a formula, press Alt+Enter. Figure 2-1 shows a formula
that contains spaces and line breaks.
To make the Formula bar display more than one line, drag the border below the
Formula bar downward.
Figure 2-1: This formula contains spaces and line breaks.
Formula limits
A formula can consist of up to about 8,000 characters. In the unlikely event that you need to create
a formula that exceeds this limit, you must break the formula up into multiple formulas. You
also can opt to create a custom function by using Visual Basic for Applications (VBA).
Part VI focuses on creating custom functions.
Chapter 2: Basic Facts about Formulas 43
Sample formulas
If you follow the above instructions for entering formulas, you can create a variety of formulas.
This section provides a look at some sample formulas.
􀁨 The following formula multiplies 150 × .01, returning 1.5. This formula uses only literal values,
so it doesn’t seem very useful. However, it may be useful to show your work when
you review your spreadsheet later.
=150*.01
􀁨 This formula adds the values in cells A1 and A2:
=A1+A2
􀁨 The next formula subtracts the value in the cell named Expenses from the value in the cell
named Income:
=Income–Expenses
􀁨 The following formula uses the SUM function to add the values in the range A1:A12.
=SUM(A1:A12)
􀁨 The next formula compares cell A1 with cell C12 by using the = operator. If the values in
the two cells are identical, the formula returns TRUE; otherwise, it returns FALSE.
=A1=C12
􀁨 This final formula subtracts the value in cell B3 from the value in cell B2 and then multiplies
the result by the value in cell B4:
=(B2–B3)*B4
Editing formulas
If you make changes to your worksheet, you may need to edit formulas. Or if a formula returns
one of the error values described later in this chapter, you might need to edit the formula to correct
the error. You can edit your formulas just as you edit any other cell.
Here are several ways to get into cell edit mode:
􀁨 Double-click the cell. This enables you to edit the cell contents directly in the cell. This
technique works only if the Double-click Allows Editing Directly in Cell check box is
selected on the Advanced tab in the Excel Options dialog box.
44 Part I: Basic Information
􀁨 Press F2. This enables you to edit the cell contents directly in the cell. If the Double-click
Allows Editing Directly in Cell check box is not selected, the editing will occur in the
Formula bar.
􀁨 Select the formula cell that you want to edit and then click in the Formula bar. This
enables you to edit the cell contents in the Formula bar.
When you edit a formula, you can select multiple characters by dragging the mouse over them or
by holding down Shift while you use the arrow keys. You can also press Home or End to select
from the cursor position to the beginning or end of the current line of the formula.
Suppose you have a lengthy formula that contains an error, and Excel won’t let you
enter it because of the error. In this case, you can convert the formula to text and tackle
it again later. To convert a formula to text, just remove the initial equal sign (=). When
you’re ready to return to editing the formula, insert the initial equal sign to convert the
cell contents back to a formula.
Using the Formula bar as a calculator
If you simply need to perform a calculation, you can use the Formula bar as a calculator. For
example, enter the following formula into any cell:
=(145*1.05)/12
Because this formula always returns the same result, you may prefer to store the formula’s result
rather than the formula. To do so, press F2 to edit the cell. Then press F9, followed by Enter.
Excel stores the formula’s result (12.6875), rather than the formula. This technique also works if
the formula uses cell references.
This technique is most useful when you use worksheet functions. For example, to enter the
square root of 221 into a cell, type =SQRT(221), press F9, and then press Enter. Excel enters the
result: 14.8660687473185. You also can use this technique to evaluate just part of a formula.
Consider this formula:
=(145*1.05)/A1
If you want to convert just the expression within the parentheses to a value, get into cell edit
mode and select the part that you want to evaluate. In this example, select 145*1.05. Then press
F9 followed by Enter. Excel converts the formula to the following:
=(152.25)/A1
Chapter 2: Basic Facts about Formulas 45
Using Operators in Formulas
As previously discussed, an operator is the basic element of a formula. An operator is a symbol
that represents an operation. Table 2-1 shows the Excel-supported operators.
Table 2-1: Excel-Supported Operators
Symbol Operator
+ Addition
– Subtraction
/ Division
* Multiplication
% Percent*
& Text concatenation
^ Exponentiation
= Logical comparison (equal to)
> Logical comparison (greater than)
< Logical comparison (less than)
>= Logical comparison (greater than or equal to)
<= Logical comparison (less than or equal to)
<> Logical comparison (not equal to)
*Percent isn’t really an operator, but it functions similarly to one in Excel. Entering a percent sign after a number divides the number
by 100. If the value is not part of a formula, Excel also formats the cell as percent.
Reference operators
Excel supports another class of operators known as reference operators; see Table 2-2. Reference
operators, described in the following list, work with cell references.
Table 2-2: Reference Operators
Symbol Operator
: (colon) Range. Produces one reference to all the cells between two references.
, (comma) Union. Combines multiple cell or range references into one reference.
(single space) Intersection. Produces one reference to cells common to two references.
46 Part I: Basic Information
Sample formulas that use operators
These examples of formulas use various operators:
􀁨 The following formula joins (concatenates) the two literal text strings (each enclosed in
quotes) to produce a new text string: Part-23A:
=”Part-”&”23A”
􀁨 The next formula concatenates the contents of cell A1 with cell A2:
=A1&A2
Usually, concatenation is used with text, but concatenation works with values as well. For
example, if cell A1 contains 123 and cell A2 contains 456, the preceding formula would
return the value 123456. Note that, technically, the result is a text string. However, if you
use this string in a mathematical formula, Excel treats it as a number. Many Excel functions
will ignore this “number” because they are designed to ignore text.
􀁨 The following formula uses the exponentiation (^) operator to raise 6 to the third power,
to produce a result of 216:
=6^3
􀁨 A more useful form of the preceding formula uses a cell reference instead of the literal
value. Note this example that raises the value in cell A1 to the third power:
=A1^3
􀁨 This formula returns the cube root of 216 (which is 6):
=216^(1/3)
􀁨 The next formula returns TRUE if the value in cell A1 is less than the value in cell A2.
Otherwise, it returns FALSE:
=A1<A2
Logical comparison operators also work with text. If A1 contains Alpha and A2 contains
Gamma, the formula returns TRUE because Alpha comes before Gamma in alphabetical
order.
Chapter 2: Basic Facts about Formulas 47
􀁨 The following formula returns TRUE if the value in cell A1 is less than or equal to the value
in cell A2. Otherwise, it returns FALSE:
=A1<=A2
􀁨 The next formula returns TRUE if the value in cell A1 does not equal the value in cell A2.
Otherwise, it returns FALSE:
=A1<>A2
􀁨 Unlike some other spreadsheets (such as Lotus 1-2-3), Excel doesn’t have logical AND
and OR operators. Rather, you use functions to specify these types of logical operators.
For example, this formula returns TRUE if cell A1 contains either 100 or 1000:
=OR(A1=100,A1=1000)
This last formula returns TRUE only if both cell A1 and cell A2 contain values less than 100:
=AND(A1<100,A2<100)
Operator precedence
You can (and should) use parentheses in your formulas to control the order in which the calculations
occur. As an example, consider the following formula that uses references to named cells:
=Income–Expenses*TaxRate
The goal is to subtract expenses from income and then multiply the result by the tax rate. But, if
you enter the preceding formula, you discover that Excel computes the wrong answer. The formula
multiplies expenses by the tax rate and then subtracts the result from the income. In other
words, Excel does not necessarily perform calculations from left to right (as you might expect).
The correct way to write this formula is
=(Income–Expenses)*TaxRate
To understand how this works, you need to be familiar with operator precedence — the set of
rules that Excel uses to perform its calculations. Table 2-3 lists Excel’s operator precedence.
Operations are performed in the order listed in the table. For example, multiplication is performed
before subtraction.
48 Part I: Basic Information
Use parentheses to override Excel’s built-in order of precedence. Returning to the previous
example, the formula without parentheses is evaluated using Excel’s standard operator precedence.
Because multiplication has a higher precedence, the Expenses cell multiplies by the
TaxRate cell. Then, this result is subtracted from Income — producing an incorrect calculation.
The correct formula uses parentheses to control the order of operations. Expressions within
parentheses always get evaluated first. In this case, Expenses is subtracted from Income, and the
result multiplies by TaxRate.
Table 2-3: Operator Precedence in Excel Formulas
Symbol Operator
Colon (:), comma (,), space( ) Reference
– Negation
% Percent
^ Exponentiation
* and / Multiplication and division
+ and – Addition and subtraction
& Text concatenation
=, <, >, <=, >=, and <> Comparison
Subtraction or negation?
One operator that can cause confusion is the minus sign (–), which you use for subtraction.
However, a minus sign can also be a negation operator, which indicates a negative number.
Consider this formula:
=–3^2
Excel returns the value 9 (not –9). The minus sign serves as a negation operator, and has a
higher precedence than all other operators. The formula is evaluated as “negative 3, squared.”
Using parentheses clarifies it:
=(–3)^2
The formula is not evaluated like this:
=–(3^2)
This is another example of why using parentheses, even if they are not necessary, is a good idea.
Chapter 2: Basic Facts about Formulas 49
Nested parentheses
You can also nest parentheses in formulas — that is, put parentheses inside of parentheses. When
a formula contains nested parentheses, Excel evaluates the most deeply nested expressions first
and works its way out. The following example of a formula uses nested parentheses:
=((B2*C2)+(B3*C3)+(B4*C4))*B6
This formula has four sets of parentheses. Three sets are nested inside the fourth set. Excel evaluates
each nested set of parentheses and then sums the three results. This sum is then multiplied
by the value in B6.
It’s a good idea to make liberal use of parentheses in your formulas even when they aren’t necessary.
Using parentheses clarifies the order of operations and makes the formula easier to read.
For example, if you want to add 1 to the product of two cells, the following formula does the job:
=A1*A2+1
Because of Excel’s operator precedence rules, the multiplication will be performed before the
addition. Therefore, parentheses are not necessary. You may find it much clearer, however, to use
the following formula even though it contains superfluous parentheses:
=(A1*A2)+1
Every left parenthesis, of course, must have a matching right parenthesis. If you have
many levels of nested parentheses, you may find it difficult to keep them straight.
Fortunately, Excel lends a hand in helping you match parentheses. When editing a formula,
matching parentheses are colored the same, although the colors can be difficult
to distinguish if you have a lot of parentheses. Also, when the cursor moves over a
parenthesis, Excel momentarily displays the parenthesis and its matching parenthesis in
bold. This lasts for less than a second, so watch carefully.
In some cases, if your formula contains mismatched parentheses, Excel may propose a correction
to your formula. Figure 2-2 shows an example of Excel’s AutoCorrect feature in action.
50 Part I: Basic Information
Simply accepting the correction proposed in the dialog box is tempting, but be careful.
In many cases, the proposed formula, although syntactically correct, isn’t the formula
that you want. In the following example, I omitted the closing parenthesis after
January. In Figure 2-2, Excel proposed this correction:
=SUM(January/SUM(Total))
In fact, the correct formula is
=SUM(January)/SUM(Total)
Figure 2-2: Excel’s Formula AutoCorrect feature often suggests a correction to an erroneous formula.
Calculating Formulas
You’ve probably noticed that the formulas in your worksheet get calculated immediately. If you
change any cells that the formula uses, the formula displays a new result with no effort on your
part. This occurs when Excel’s Calculation mode is set to Automatic. In this mode (the default
mode), Excel follows certain rules when calculating your worksheet:
􀁨 When you make a change (enter or edit data or formulas, for example), Excel calculates
immediately those formulas that depend on new or edited data.
Don’t hard-code values
When you create a formula, think twice before using a literal value in the formula. For example,
if your formula calculates a 7.5 percent sales tax, you may be tempted to enter a formula such as
=A1*.075
A better approach is to insert the sales tax rate into a cell and use the cell reference in place of
the literal value. This makes it easier to modify and maintain your worksheet. For example, if the
sales tax range changes to 7.75 percent, you need to modify every formula that uses the old
value. If the tax rate is stored in a cell, you simply change one cell and all the formulas recalculate
using the new value.
Chapter 2: Basic Facts about Formulas 51
􀁨 If working on a lengthy calculation, Excel temporarily suspends calculation when you
need to perform other worksheet tasks; it resumes when you finish.
􀁨 Formulas are evaluated in a natural sequence. For instance, if a formula in cell D12
depends on the result of a formula in cell D11, cell D11 is calculated before D12.
Sometimes, however, you may want to control when Excel calculates formulas. For example, if
you create a worksheet with thousands of complex formulas, you may find that things can slow
to a snail’s pace while Excel does its thing. In this case, you can set Excel’s Calculation mode to
Manual. Do this by choosing Formulas➜Calculation➜Calculation Options➜Manual.
When you work in manual Calculation mode, Excel displays Calculate in the status bar when
you have any uncalculated formulas. The Formulas➜Calculation group contains two controls
that, when clicked, perform a calculation: Calculate Now and Calculate Sheet. In addition to these
controls, you can use the following shortcut keys to recalculate the formulas:
􀁨 F9: Calculates the formulas in all open workbooks (same as the Calculate Now control).
􀁨 Shift+F9: Calculates only the formulas in the active worksheet. It does not calculate other
worksheets in the same workbook (same as the Calculate Sheet control).
􀁨 Ctrl+Alt+F9: Forces a complete recalculation of all open workbooks. Use it if Excel (for
some reason) doesn’t seem to return correct calculations.
􀁨 Ctrl+Shift+Alt+F9: Rechecks all the dependent formulas and then forces a recalculation
of all open workbooks.
Contrary to what you might expect, Excel’s Calculation mode isn’t specific to a particular
worksheet. When you change Excel’s Calculation mode, it affects all open workbooks
— not just the active workbook. Also, the initial Calculation mode is set by the
Calculation mode saved with the first workbook that you open.
Cell and Range References
Most formulas reference one or more cells by using the cell or range address (or the name if it
has one). Cell references come in four styles; the dollar sign differentiates them:
􀁨 Relative: The reference is fully relative. When you copy the formula, the cell reference
adjusts to its new location.
Example: A1
􀁨 Absolute: The reference is fully absolute. When you copy the formula, the cell reference
does not change.
Example: $A$1
52 Part I: Basic Information
􀁨 Row Absolute: The reference is partially absolute. When you copy the formula, the column
part adjusts, but the row part does not change.
Example: A$1
􀁨 Column Absolute: The reference is partially absolute. When you copy the formula, the
row part adjusts, but the column part does not change.
Example: $A1
Creating an absolute or a mixed reference
When you create a formula by pointing to cells, all cell and range references are relative. To
change a reference to an absolute reference or a mixed reference, you must do so manually by
adding the dollar signs. Or when you enter a cell or range address, you can press the F4 key to
cycle among all possible reference modes.
If you think about it, you may realize that the only reason you would ever need to change a reference
is if you plan to copy the formula.
Figure 2-3 demonstrates an absolute reference in a formula. Cell D2 contains a formula that multiples
the quantity (cell B2) by the price (cell C2) and then by the sales tax (cell B7):
=(B2*C2)*$B$7
Figure 2-3: This worksheet demonstrates the use of an absolute reference.
The reference to cell B7 is an absolute reference. When you copy the formula in cell D2 to the
cells below, the $B$7 reference always points to the sales tax cell. Using a relative reference (B7)
results in incorrect results in the copied formulas.
Figure 2-4 demonstrates the use of mixed references. Note the formula in cell C3:
=$B3*C$2
This formula calculates the area for various lengths (listed in column B) and widths (listed in row
2). After you enter the formula, it can then be copied down and across. Because the formula uses
Chapter 2: Basic Facts about Formulas 53
absolute references to row 2 and column B, each copied formula produces the correct result. If
the formula uses relative references, copying the formula causes the references to adjust and
produce the wrong results.
Figure 2-4: An example of using mixed references in a formula.
A1 versus R1C1 notation
Normally, Excel uses A1 notation. Each cell address consists of a column letter and a row number.
However, Excel also supports R1C1 notation. In this system, cell A1 is referred to as cell R1C1,
cell A2 as R2C1, and so on.
To change to R1C1 notation, choose File➜Options to open the Excel Options dialog box, click the
Formulas tab, and place a check mark next to the R1C1 Reference Style option. Now, notice that
the column letters all change to numbers. And all the cell and range references in your formulas
also adjust.
Look at the following examples of formulas using standard notation and R1C1 notation. The formula
is assumed to be in cell B1 (also known as R1C2).
Standard R1C1
=A1+1 =RC[–1]+1
=$A$1+1 =R1C1+1
=$A1+1 =RC1+1
=A$1+1 =R1C[–1]+1
=SUM(A1:A10) =SUM(RC[–1]:R[9]C[–1])
=SUM($A$1:$A$10) =SUM(R1C1:R10C1)
If you find R1C1 notation confusing, you’re not alone. R1C1 notation isn’t too bad when you’re
dealing with absolute references. When relative references are involved, though, the brackets
can drive you nuts.
continued
54 Part I: Basic Information
Referencing other sheets or workbooks
A formula can use references to cells and ranges that are in a different worksheet. To refer to a
cell in a different worksheet, precede the cell reference with the sheet name followed by an
exclamation point. Note this example of a formula that uses a cell reference in a different worksheet
(Sheet2):
=Sheet2!A1+1
You can also create link formulas that refer to a cell in a different workbook. To do so, precede
the cell reference with the workbook name (in square brackets), the worksheet name, and an
exclamation point (!), like this:
=[Budget.xlsx]Sheet1!A1+1
If the workbook name or sheet name in the reference includes one or more spaces, you must
enclose it (and the sheet name) in single quotation marks. For example:
=’[Budget Analysis.xlsx]Sheet1’!A1+A1
continued
The numbers in brackets refer to the relative position of the references. For example, R[–5]C[–3]
specifies the cell that appears five rows above and three columns to the left. Conversely, R[5]
C[3] references the cell that appears five rows below and three columns to the right. If you omit
the brackets (or the numbers), it specifies the same row or column. For example, R[5]C refers to
the cell five rows below in the same column.
Although you probably won’t use R1C1 notation as your standard system, it does have at least
one good use. R1C1 notation makes it very easy to spot an erroneous formula. When you copy a
formula, every copied formula is exactly the same in R1C1 notation. This remains true regardless
of the types of cell references you use (relative, absolute, or mixed). Therefore, you can switch
to R1C1 notation and check your copied formulas. If one looks different from its surrounding formulas,
it’s probably incorrect.
However, you can take advantage of the background formula auditing feature, which can flag
potentially incorrect formulas. I discuss this feature in Chapter 21.
Chapter 2: Basic Facts about Formulas 55
If the linked workbook is closed, you must add the complete path to the workbook reference. For
example:
=’C:\MSOffice\Excel\[Budget Analysis.xlsx]Sheet1’!A1+A1
Although you can enter link formulas directly, you can also create the reference by using the normal
pointing methods discussed earlier. To do so, make sure that the source file is open.
Normally, you can create a formula by pointing to results in relative cell references. But, when
you create a reference to another workbook by pointing, Excel always creates absolute cell references.
If you plan to copy the formula to other cells, you must edit the formula to make the
references relative.
Working with links can be tricky and may cause some unexpected problems. For example,
if you use the File➜Save As command to make a backup copy of the source workbook,
you automatically change the link formulas to refer to the new file (not usually
what you want). You can also mess up your links by renaming the source workbook file.
Making an Exact Copy of a Formula
When you copy a formula, Excel adjusts the formula’s cell references when you paste it to a different
location. Usually, adjusting the cell references is exactly what you want. Sometimes, however,
you may want to make an exact copy of the formula. You can do this by converting the cell
references to absolute references, as discussed earlier — but this isn’t always desirable.
A better approach is to select the formula while in edit mode and then copy it to the Clipboard as
text. There are several ways to do this. Here I present a step-by-step example of how to make an
exact copy of the formula in A1 and copy it to A2:
1. Select cell A1 and press F2 to activate edit mode.
2. Press Ctrl+Home to move the cursor to the start of the formula, followed by
Ctrl+Shift+End to select all the formula text.
Or you can drag the mouse to select the entire formula.
Note that holding down the Ctrl key is necessary when the formula is more than one line
long, but optional for formulas that are a single line.
3. Choose Home➜Clipboard➜Copy (or press Ctrl+C).
This copies the selected text to the Clipboard.
4. Press Esc to end edit mode.
56 Part I: Basic Information
5. Activate cell A2.
6. Press F2, for edit mode.
7. Choose Home➜Clipboard➜Paste (or press Ctrl+V), followed by Enter.
This operation pastes an exact copy of the formula text into cell A2.
You can also use this technique to copy just part of a formula to use in another formula. Just
select the part of the formula that you want to copy by dragging the mouse or by pressing the
Shift+arrow keys. Then use any of the available techniques to copy the selection to the Clipboard.
You can then paste the text to another cell.
Formulas (or parts of formulas) copied in this manner won’t have their cell references adjusted
when you paste them to a new cell. This is because you copy the formulas as text, not as actual
formulas.
Another technique for making an exact copy of a formula is to edit the formula and remove its initial
equal sign. This converts the formula to text. Then, copy the “nonformula” to a new location.
Finally, edit both the original formula and the copied formula by inserting the initial equal sign.
Converting Formulas to Values
If you have a range of formulas that always produce the same result (that is, dead formulas), you
may want to convert them to values. You can use the Home➜Clipboard➜Paste➜Values command
to do this.
Suppose that range A1:A10 contains formulas that calculate a result that never changes. To convert
these formulas to values:
1. Select A1:A10.
2. Choose Home➜Clipboard➜Copy (or press Ctrl+C).
3. Choose Home➜Clipboard➜Paste➜Values.
4. Press Enter or Esc to cancel paste mode.
You can also take advantage of a Smart Tag. In Step 3 in the preceding list, press Ctrl+V to paste.
A Smart Tag appears at the lower-right corner of the range. Click the Smart Tag and select one
of the Paste Values icons (see Figure 2-5).
Chapter 2: Basic Facts about Formulas 57
Figure 2-5: A Smart Tag appears after pasting data.
This technique is very useful when you use formulas as a means to convert cells. For example,
assume that you have a list of names (in uppercase) in column A. You want to convert these
names to proper case. In order to do so, you need to create formulas in a separate column; then
convert the formulas to values and replace the original values in column A. The following steps
illustrate how to do this:
1. Insert a new column after column A.
2. Insert the following formula into cell B1:
=PROPER(A1)
3. Copy the formula down column B, to accommodate the number of entries in column A.
Column B then displays the values in column A, but in proper case.
4. Select all the names in column B.
5. Choose Home➜Clipboard➜Copy.
6. Select cell A1.
7. Choose Home➜Clipboard➜Paste➜Values.
8. Press Enter or Esc to cancel paste mode.
9. Delete column B.
58 Part I: Basic Information
Hiding Formulas
In some cases, you may not want others to see your formulas. For example, you may have a special
formula you developed that performs a calculation proprietary to your company. You can use
the Format Cells dialog box to hide the formulas contained in these cells.
To prevent one or more formulas from being viewed:
1. Select the formula or formulas.
2. Right-click and choose Format Cells to show the Format Cells dialog box (or Press
Ctrl+1).
3. In the Format Cells dialog box, click the Protection tab.
4. Place a check mark in the Hidden check box, as shown in Figure 2-6.
5. Use the Review➜Protect command to protect the worksheet.
To prevent others from unprotecting the sheet, specify a password in the Protect Sheet
dialog box.
When to use AutoFill rather than formulas
Excel’s AutoFill feature provides a quick way to copy a cell to adjacent cells. AutoFill also has
some other uses that may even substitute for formulas in some cases. I’m surprised to find that
many experienced Excel users don’t take advantage of the AutoFill feature, which can save a lot
of time.
For example, if you need a list of values from 1 to 100 to appear in A1:A100, you can do it with
formulas. You type 1 in cell A1, type the formula =A1+1 into cell A2, and then copy the formula to
the 98 cells below.
You can also use AutoFill to create the series for you without using a formula. To do so, type 1
into cell A1 and 2 into cell A2. Select A1:A2 and drag the fill handle down to cell A100. (The fill
handle is the small square at the lower-right corner of the active cell.) When you use AutoFill in
this manner, Excel analyzes the selected cells and uses this information to complete the series. If
cell A1 contains 1 and cell A2 contains 3, Excel recognizes this pattern and fills in 5, 7, 9, and so
on. This also works with decreasing series (10, 9, 8, and so on) and dates. If there is no discernible
pattern in the selected cells, Excel performs a linear regression and fills in values on the calculated
trend line.
Excel also recognizes common series names such as months and days of the week. If you type
Monday into a cell and then drag its fill handle, Excel fills in the successive days of the week. You
also can create custom AutoFill lists using the Custom Lists panel in the Excel Options dialog
box. Finally, if you drag the fill handle with the right mouse button, Excel displays a shortcut
menu to enable you to select an AutoFill option.
Chapter 2: Basic Facts about Formulas 59
Figure 2-6: Use the Format Cells dialog box to change the Hidden and Locked status of a cell or
range.
By default, all cells are locked. Protecting a sheet prevents any locked cells from being changed.
So, you should unlock any cells that require user input before protecting your sheet.
Be aware that it’s very easy to crack the password for a worksheet. So, this technique
of hiding your formulas does not ensure that no one can view your formulas.
Errors in Formulas
It’s not uncommon to enter a formula only to find that the formula returns an error. Table 2-4 lists
the types of error values that may appear in a cell that has a formula.
Formulas may return an error value if a cell that they refer to has an error value. This is known as
the ripple effect: A single error value can make its way to lots of other cells that contain formulas
that depend on that cell.
Table 2-4: Excel Error Values
Error Value Explanation
#DIV/0! The formula attempts to divide by zero (an operation not allowed on this planet). This also
occurs when the formula attempts to divide by an empty cell.
#NAME? The formula uses a name that Excel doesn’t recognize. This can happen if you delete a
name used in the formula or if you misspell a function.
#N/A The formula refers (directly or indirectly) to a cell that uses the NA function to signal
unavailable data. This error also occurs if a lookup function does not find a match.
continued
60 Part I: Basic Information
Table 2-4: Excel Error Values (continued)
Error Value Explanation
#NULL! The formula uses an intersection of two ranges that don’t intersect. (I describe range intersection
in Chapter 3.)
#NUM! A problem occurs with a value; for example, you specify a negative number where a positive
number is expected.
#REF! The formula refers to an invalid cell. This happens if the cell has been deleted from the
worksheet.
#VALUE! The formula includes an argument or operand of the wrong type. An operand refers to a
value or cell reference that a formula uses to calculate a result.
If the entire cell fills with hash marks (#########), this usually means that the column
isn’t wide enough to display the value. You can either widen the column or change the
number format of the cell. The cell also fills with hash marks if it contains a formula that
returns an invalid date or time.
Depending on your settings, formulas that return an error may display a Smart Tag. You can click
this Smart Tag to get more information about the error or to trace the calculation steps that led
to the error. Refer to Chapter 21 for more information about this feature.
Dealing with Circular References
When you enter formulas, you may occasionally see a message from Excel like the one shown in
Figure 2-7. This indicates that the formula you just entered will result in a circular reference.
A circular reference occurs when a formula refers to its own value, either directly or indirectly.
For example, if you type =A1 into cell A3, =A3 into cell B3, and =B3 into cell A1, this produces a
circular reference because the formulas create a circle where each formula depends on the one
before it. Every time the formula in A3 is calculated, it affects the formula in B3, which in turn
affects the formula in A1. The result of the formula in A1 then causes A3 to recalculate, and the
calculation circle starts all over again.
Figure 2-7: Excel’s way of telling you that your formula contains a circular reference.
Chapter 2: Basic Facts about Formulas 61
When you enter a formula that contains a circular reference, Excel displays a dialog box with two
options: OK and Cancel.
Normally, you’ll want to correct any circular references, so you should click OK. After you do so,
Excel inserts tracing arrows and displays the Help topic for circular references. The status bar displays
Circular References: A3, in this case. To resolve the circular reference, choose
Formulas➜Formula Auditing➜Error Checking➜Circular References to see a list of the cells
involved in the circular reference. Click each cell in turn and try to locate the error. If you cannot
determine whether the cell is the cause of the circular reference, navigate to the next cell on the
Circular References submenu. Continue reviewing each cell on the Circular References submenu
until the status bar no longer reads Circular References.
In a few situations, you may want to use a circular reference intentionally. Refer to
Chapter 16 for some examples.
Instead of navigating to each cell using the Circular References submenu, you can click
the tracer arrows to quickly jump between cells.
If you ignore the circular reference message (by clicking Cancel), Excel enables you to enter the
formula and displays a message in the status bar reminding you that a circular reference exists. In
this case, the message reads Circular References: A3. If you activate a different worksheet
or workbook, the message simply displays Circular References (without the cell reference).
Excel doesn’t warn you about a circular reference if you have the Enable Iterative
Calculation setting turned on. You can check this in the Excel Options dialog box (in the
Calculation section of the Formulas tab). If this option is checked, Excel performs the
circular calculation the number of times specified in the Maximum Iterations field (or
until the value changes by less than .001 — or whatever other value appears in the
Maximum Change field). You should, however, keep the Enable Iterative Calculation
setting off so that you’ll be warned of circular references. Generally, a circular reference
indicates an error that you must correct.
When the formula in a cell refers to that cell, the cause of the circular reference is quite obvious
and is, therefore, easy to identify and correct. For this type of circular reference, Excel does not
show tracer arrows. For an indirect circular reference, like in the preceding example, the tracer
arrows can help you identify the problem.
Goal Seeking
Many spreadsheets contain formulas that enable you to ask questions, such as, “What would be
the total profit if sales increase by 20 percent?” If you set up your worksheet properly, you can
change the value in one cell to see what happens to the profit cell.
62 Part I: Basic Information
Goal seeking serves as a useful feature that works in conjunction with your formulas. If you know
what a formula result should be, Excel can tell you which values of one or more input cells you
need to produce that result. In other words, you can ask a question such as, “What sales increase
is needed to produce a profit of $1.2 million?”
Single-cell goal seeking (also known as backsolving) represents a rather simple concept. Excel
determines what value in an input cell produces a desired result in a formula cell. You can best
understand how this works by walking through an example.
A goal seeking example
Figure 2-8 shows a mortgage loan worksheet that has four input cells (C4:C7) and four formula
cells (C10:C13). The formulas calculate various values using the input cell. The formulas are
C10: =(1–C5)*C4
C11: =PMT(C7/12,C6,–C10)
C12: =C11*C6
C13: =C12–C10
Figure 2-8: This worksheet presents a simple demonstration of goal seeking.
Imagine that you’re in the market for a new home and you know that you can afford $1,200 per
month in mortgage payments. You also know that a lender can issue a fixed-rate mortgage loan
for 6.00 percent, based on an 80 percent loan-to-value (a 20 percent down payment). The question
is, “What is the maximum purchase price you can handle?” In other words, what value in cell
C4 causes the formula in cell C11 to result in $1,200? You can plug values into cell C4 until C11 displays
$1,200. A more efficient approach lets Excel determine the answer.
To answer this question, choose Data➜Data Tools➜What-If Analysis➜Goal Seek. Excel displays
the Goal Seek dialog box, as shown in Figure 2-9. Completing this dialog box resembles forming
the following sentence: Set cell C11 to 1200 by changing cell C4. Enter this information in the dialog
box by either typing the cell references or by pointing with the mouse. Click OK to begin the
goal seeking process.
Chapter 2: Basic Facts about Formulas 63
Figure 2-9: The Goal Seek dialog box.
Almost immediately, Excel announces that it has found the solution and displays the Goal Seek
status box. This box tells you the target value and what Excel came up with. In this case, Excel
found an exact value. The worksheet now displays the found value in cell C4 ($250,187). As a
result of this value, the monthly payment amount is $1,200. Now, you have two options:
􀁨 Click OK to replace the original value with the found value.
􀁨 Click Cancel to restore your worksheet to its original form before you chose Goal Seek.
More about goal seeking
If you think about it, you may realize that Excel can’t always find a value that produces the result
that you’re looking for — sometimes a solution doesn’t exist. In such a case, the Goal Seek Status
box informs you of that fact. Other times, however, Excel may report that it can’t find a solution
even though you believe one exists. In this case, you can adjust the current value of the changing
cell to a value closer to the solution, and then reissue the command. If that fails, double-check
your logic and make sure that the formula cell does indeed depend on the specified changing cell.
Like all computer programs, Excel has limited precision. To demonstrate this, enter =A1^2 into
cell A2. Then, choose Data➜Data Tools➜What-If Analysis➜Goal Seek to find the value in cell A1
that causes the formula to return 16. Excel returns a value of 4.00002269 — close to the square
root of 16, but certainly not exact. You can adjust the precision in the Calculation section of the
Formulas tab in the Excel Options dialog box (make the Maximum change value smaller).
In some cases, multiple values of the input cell produce the same desired result. For example, the
formula =A1^2 returns 16 if cell A1 contains either –4 or +4. If you use goal seeking when two
solutions exist, Excel gives you the solution that is nearest to the current value in the cell.
Perhaps the main limitation of the Goal Seek command is that it can find the value for only one
input cell. For example, it can’t tell you what purchase price and what down payment percent
result in a particular monthly payment. If you want to change more than one variable at a time,
use the Solver add-in.
64 Part I: Basic Information
65
3
Working with Names
In This Chapter
● An overview and the advantages of using names in Excel
● The difference between workbook- and worksheet-level names
● Working with the Name Manager dialog box
● Shortcuts for creating cell and range names
● How to create names that extend across multiple worksheets
● How to perform common operations with range and cell names
● How Excel maintains cell and range names
● Potential problems that may crop up when you use names
● The secret behind names, and examples of named constants and named formulas
● Examples of advanced techniques that use names
Most intermediate and advanced Excel users are familiar with the concept of named cells or
ranges. Naming cells and ranges is an excellent practice and offers several important advantages.
As you’ll see in this chapter, Excel supports other types of names — and the power of this concept
may surprise you.
What’s in a Name?
You can think of a name as an identifier for something in a workbook. This “something” can consist
of a cell, a range, a chart, a shape, and so on. If you provide a name for a range, you can then
use that name in your formulas. For example, suppose your worksheet contains daily sales information
stored in the range B2:B200. Further, assume that cell C1 contains a sales commission
rate. The following formula returns the sum of the sales, multiplied by the commission rate:
=SUM(B2:B200)*C1
66 Part I: Basic Information
This formula works fine, but its purpose is not at all clear. To help clarify the formula, you can
define a descriptive name for the daily sales range and another descriptive name for cell C1.
Assume, for this example, that the range B2:B200 is named DailySales and cell C1 is named
CommissionRate. You can then rewrite the formula to use the names instead of the actual range
addresses:
=SUM(DailySales)*CommissionRate
As you can see, using names instead of cell references makes the formula self-documenting and
much easier to understand.
Using named cells and ranges offers a number of advantages:
􀁨 Names make your formulas more understandable and easier to use, especially for people
who didn’t create the worksheet. Obviously, a formula such as =Income–Taxes is more
intuitive than =D20–D40.
􀁨 When entering formulas, a descriptive range name (such as Total_Income) is easier to
remember than a cell address (such as AC21). And typing a name is less likely to result in
an error than entering a cell or range address.
􀁨 You can quickly move to areas of your worksheet either by using the Name box, located
at the left side of the Formula bar (click the arrow for a drop-down list of defined names),
or by choosing Home➜Editing➜Find & Select➜Go To (or F5) and specifying the range
name.
􀁨 When you select a named cell or range, its name appears in the Name box. This is a good
way to verify that your names refer to the correct cells.
􀁨 You may find that creating formulas is easier if you use named cells. You can easily insert a
name into a formula by using the drop-down list that’s displayed when you enter a formula.
􀁨 Macros are easier to create and maintain when you use range names rather than cell
addresses.
A Name’s Scope
Before I explain how to create and work with names, it’s important to understand that all names
have a scope. A name’s scope defines where you can use the name. Names are scoped at either
of two levels:
􀁨 Workbook-level names: Can be used in any worksheet. This is the default type of range
name.
􀁨 Worksheet-level names: Can be used only in the worksheet in which they are defined,
unless they are preceded with the worksheet’s name. A workbook may contain multiple
worksheet-level names that are identical.
Chapter 3: Working with Names 67
Referencing names
You can refer to a workbook-level name just by using its name from any sheet in the workbook.
For worksheet-level names, you must precede the name with the name of the worksheet unless
you’re using it on its own worksheet.
For example, assume that you have a workbook with two sheets, Sheet1 and Sheet2. In this workbook,
you have Total_Sales (a workbook-level name), North_Sales (a worksheet-level name on
Sheet1), and South_Sales (a worksheet-level name on Sheet2). On Sheet1 or Sheet2, you can refer
to Total_Sales by simply using the name:
=Total_Sales
If you’re on Sheet1 and you want to refer to North_Sales, you can use a similar formula because
North_Sales is defined on Sheet1:
=North_Sales
However, if you want to refer to South_Sales on Sheet1, you’ll need to do a little more work.
Sheet1 can’t “see” the name South_Sales because it’s defined on another sheet. Sheet1 can only
see workbook-level names and worksheet-level names defined on Sheet1. To refer to South_Sales
on Sheet1, prefix the name with the worksheet name and an exclamation point:
=Sheet2!South_Sales
If your worksheet name contains a space, enclose the worksheet name in single quotes
when referring to a name defined on that sheet:
=’My Sheet’!My_Name
Generally, it’s a good practice to scope your names as narrowly as possible. If you want to use a
name on only one worksheet, set that name’s scope at the worksheet level. For names that you
want to use throughout your workbook, a workbook-level scope is more appropriate.
Only the worksheet-level names on the current sheet appear in the Name box. Similarly,
only worksheet-level names on the current sheet appear in the list under Formulas➜
Defined Names➜Use in Formulas.
Referencing names from another workbook
Chapter 2 describes how to use links to reference cells or ranges in other workbooks. The same
rules apply when using names defined in another workbook.
68 Part I: Basic Information
For example, the following formula uses a range named MonthlySales, defined in a workbook
named Budget.xlsx (which is assumed to be open):
=AVERAGE(Budget.xlsx!MonthlySales)
If the name MonthlySales is a worksheet-level name on Sheet1, the formula looks like this:
=AVERAGE([Budget.xlsx]Sheet1!MonthlySales)
Conflicting names
Using worksheet-level names can be a bit confusing because Excel lets you define worksheetlevel
names even if the workbook contains the same name as a workbook-level name. In such a
case, the worksheet-level name takes precedence over the workbook-level name but only in the
worksheet in which you defined the sheet-level name.
For example, you can define a workbook-level name of Total for a cell on Sheet1. You can also
define a worksheet-level name of Sheet2!Total. When Sheet2 is active, Total refers to the worksheet-
level name. When any other sheet is active, Total refers to the workbook-level name.
Confusing? Probably. To make your life easier, I recommend that you simply avoid using the
same name at the workbook and worksheet levels.
One way you can avoid this type of conflict is to adopt a naming convention when you create
names. By using a naming convention, your names will tell you more about themselves. For
instance, you could prefix all your workbook-level names with wb and your worksheet-level
names with ws. With this method, you’ll never confuse wbTotal with wsTotal.
The Name Manager
Now that you understand the concept of scope, you can start creating and using names. Excel
has a handy feature for maintaining names called the Name Manager, shown in Figure 3-1.
To display the Name Manager, choose Formulas➜Defined Names➜Name Manager. Within this
dialog box, you can view, create, edit, and delete names. In the Name Manager main window, you
can see the current value of the name, what the name refers to, the scope of the name, and any
comments that you’ve written. The names are sortable, and the columns are resizable, allowing
you to see your names in many different ways. If you use a lot of names, you can also apply some
predefined filters to view only the names that interest you.
Note that the Name Manager dialog box is resizable. Drag the lower-right corner to make it wider
or taller.
Chapter 3: Working with Names 69
Figure 3-1: The Excel Name Manager dialog box.
Creating names
The Name Manager contains a New button for creating new names. The New button displays the
New Name dialog box, as shown in Figure 3-2.
Figure 3-2: The New Name dialog box.
In the New Name dialog box, you name the name, define its scope and what it refers to, and
(optionally) add any comments about the name to help yourself and others understand its purpose.
The Refers To field is a standard RefEdit control, meaning that you can select cells or type a
cell reference or formula similar to how you would do it in the Formula bar.
The keyboard shortcut for displaying the Name Manager is Ctrl+F3.
Editing names
Clicking the Edit button in the Name Manager displays the Edit Name dialog box, which looks
strikingly similar to the New Name dialog box. You can change any property of your name except
the scope. If you change the Name field, all the formulas in your workbook that use that name
will be updated.
70 Part I: Basic Information
To change the scope of a name, you must delete the name and re-create it. If you’re
careful to use the same name, your formulas that use that name will still work.
The Edit Name dialog box isn’t the only way to edit a name. If the only property that you want to
change is the Refers To property, you can do it right in the Name Manager dialog box. At the bottom
of the dialog box is the field labeled Refers To. Simply select the name that you’d like to edit
in the main window and change the reference in the Refers To field.
If you edit the contents of the Refers To field manually, the status bar displays Point,
indicating that you’re in point mode. If you try to use keys such as the arrows, Home, or
End, you’ll find that you’re navigating around the worksheet rather than editing the
Refers To text. This is a constant source of frustration to many Excel users. But there’s a
simple solution. To switch from point mode to edit mode, press F2 and note that the
status bar changes to show Edit.
Deleting names
Clicking the Delete button in the Name Manager permanently removes the selected name from
your workbook. Excel warns you first because this action cannot be undone.
Unfortunately, Excel does not replace deleted names with the original cell references.
Any formulas that use a name that you delete will display the #NAME? error.
Shortcuts for Creating Cell and Range Names
Excel provides several ways to create names for cells and ranges other than the Name Manager. I
discuss these methods in this section, along with some other relevant information that pertains to
names.
The New Name dialog box
You can access the New Name dialog box by choosing Formulas➜Defined Names➜Define Name.
The New Name dialog box displayed is identical in form and function to the one from the New
button on the Name Manager dialog box.
A single cell or range can have any number of names. I can’t think of a good reason to
use more than one name, but Excel does permit it. If a cell or range has multiple names,
the Name box always displays the name that’s first alphabetically when you select the
cell or range.
A name can also refer to a noncontiguous range of cells. You can select a noncontiguous range
by pressing Ctrl while you select various cells or ranges with the mouse.
Chapter 3: Working with Names 71
Creating names using the Name box
A faster way to create a name for a cell or range is to use the Name box. The Name box is the
drop-down list box to the left of the Formula bar. Select the cell or range to name, click the Name
box, type the name, and then press Enter to create the name. If a name already exists, you can’t
use the Name box to change the range to which that name refers. Attempting to do so simply
selects the original range. You must use the Name Manager dialog box to change the reference
for a name.
When you type a name in the Name box, you must press Enter to actually record the
name. If you type a name and then click in the worksheet, Excel won’t create the name.
The Name box serves double-duty by also providing a quick way to activate a named cell or
range. To select a named cell or range, click the Name box and choose the name, as shown in
Figure 3-3. This selects the named cell or range. Oddly, the Name box does not have a keyboard
shortcut. In other words, you can’t access the Name box by using the keyboard; you must use the
mouse. After you click the Name box, however, you can use the direction keys and Enter to
choose a name.
Rules for naming names
Although Excel is quite flexible about the names that you can define, it does have some rules:
● Names can’t contain any spaces. You might want to use an underscore or a period character
to simulate a space (such as Annual_Total or Annual.Total).
● You can use any combination of letters and numbers, but the name must begin with a
letter or underscore. A name can’t begin with a number (such as 3rdQuarter) or look like a
cell reference (such as Q3 or TAX2010).
● You cannot use symbols, except for underscores and periods. Although not documented,
I’ve found that Excel also permits a backslash (\) and question mark (?) as long as they
don’t appear as the first character in a name.
● Names are limited to 255 characters. I can’t think of a single reason anyone would want to
create a name anywhere near 255 characters in length.
● You can use single letters (except for R or C). However, generally I don’t recommend this
because it also defeats the purpose of using meaningful names.
● Names are not case sensitive. The name AnnualTotal is the same as annualtotal. Excel
stores the name exactly as you type it when you define it, but it doesn’t matter how you
capitalize the name when you use it in a formula.
Excel also uses a few names internally for its own use. Although you can create names that override
Excel’s internal names, you should avoid doing so unless you know what you’re doing.
Generally, avoid using the following names: Print_Area, Print_Titles, Consolidate_Area, Database,
Criteria, Extract, FilterDatabase, and Sheet_Title.
72 Part I: Basic Information
Notice that the Name box is resizable. To make the Name box wider, just click the right side and
drag it to the right. The Name box shares space with the Formula bar, so if you make the Name
box wider, the Formula bar gets narrower.
Figure 3-3: The Name box provides a quick way to activate a named cell or range.
Names created using the Name box are workbook-level in scope by default. If you want
to create a worksheet-level name, type the worksheet’s name and an exclamation point
before the name (for example, Sheet2!Total). Because the Name box works only on the
currently selected range, typing a worksheet name other than the active worksheet
results in an error.
Creating names automatically
You may have a worksheet containing text that you want to use for names of adjacent cells or
ranges. Figure 3-4 shows an example of such a worksheet. In this case, you might want to use the
text in column A to create names for the corresponding values in column B. Excel makes this very
easy to do.
Figure 3-4: Excel makes it easy to create names by using text in adjacent cells.
Chapter 3: Working with Names 73
To create names by using adjacent text, start by selecting the name text and the cells that you
want to name. (These can consist of individual cells or ranges of cells.) The names must be adjacent
to the cells that you’re naming. (A multiple selection is allowed.) Then choose Formulas➜
Defined Names➜Create from Selection (or Ctrl+Shift+F3). Excel displays the Create Names from
Selection dialog box, as shown in Figure 3-5.
The check marks in this dialog box are based on Excel’s analysis of the selected range. For example,
if Excel finds text in the first row of the selection, it proposes that you create names based on
the top row. If Excel doesn’t guess correctly, you can change the check boxes. Click OK, and
Excel creates the names. Note that when Excel creates names using text in cells, it does not
include those text cells in the named range.
Figure 3-5: The Create Names from Selection dialog box.
If the text in a cell would result in an invalid name, Excel modifies the name to make it valid. For
example, if a cell contains the text Net Income (which is invalid for a name because it contains a
space), Excel converts the space to an underscore character and creates the name Net_Income. If
Excel encounters a value or a formula instead of text, however, it doesn’t convert it to a valid
name. It simply doesn’t create a name.
Double-check the names that Excel creates. Sometimes, the Create Names from
Selection dialog box works counterintuitively. Figure 3-6 shows a small table of text
and values. Now imagine that you select the entire table, choose Formulas➜Defined
Names➜Create from Selection, and then accept Excel’s suggestions (Top row and Left
column options). What range does Product refer to? You might expect it to refer to
A2:A6 — or maybe even B1:C1. But the Product name actually refers to B2:C6. If the
upper-left cell of the selection contains text and you choose the Top row and Left column
options, Excel uses that text for the name of the entire set of data — excluding the
top row and left column. So, before you accept the names that Excel creates, take a
minute to make sure that they refer to the correct ranges.
74 Part I: Basic Information
Figure 3-6: Using the Create Names from Selection dialog box to create names from the data in this table
may produce unexpected results.
Naming entire rows and columns
Sometimes it makes sense to name an entire row or column. Often, a worksheet is used to store
information that you enter over a period of time. The sheet in Figure 3-7 is an example of such a
worksheet. If you create a name for the data in column B, you need to modify the name’s reference
each day you add new data. The solution is to name the entire column.
Figure 3-7: This worksheet, which tracks daily sales, uses a named range that consists of an entire column.
For example, you might name column B as DailySales. If this range were on Sheet2, its reference
would appear like this:
=Sheet2!$B:$B
To define a name for an entire column, select the column by clicking the column letter. Then, type
the name in the Name box and press Enter (or use the New Name dialog box to create the name).
Chapter 3: Working with Names 75
After defining the name, you can use it in a formula. The following formula, for example, returns
the sum of all values in column B:
=SUM(DailySales)
Names created by Excel
Excel creates some names on its own. For example, if you set a print area for a sheet, Excel creates
the name Print_Area. If you set repeating rows or columns for printing, you also have a
worksheet-level name called Print_Titles. When you execute a query that returns data to a worksheet,
Excel assigns a name to the data that is returned. Also, many of the add-ins that ship with
Excel create hidden names. (See the “Hidden names” sidebar.)
You can modify the reference for any of the names that Excel creates automatically, but make
sure that you understand the consequences.
Hidden names
Some Excel macros and add-ins create hidden names. These names exist in a workbook but
don’t appear in the Name Manager dialog box or the Name box. For example, the Solver add-in
creates a number of hidden names. Normally, you can just ignore these hidden names. However,
sometimes these hidden names create problems. If you copy a sheet to another workbook, the
hidden names are also copied, and they may create a link that is very difficult to track down.
Unfortunately, Excel’s Name Manager doesn’t display hidden names. Here’s a simple Visual Basic
for Applications (VBA) procedure that lists all hidden names in the active workbook. The macro
adds a new worksheet, and the list is written to that worksheet.
Sub ListHiddenNames()
Dim n As Name, r As Long
Worksheets.Add
r = 1
For Each n In ActiveWorkbook.Names
If Not n.Visible Then
Cells(r, 1) = n.Name
Cells(r, 2) = “’” & n.RefersTo
r = r + 1
End If
Next n
End Sub
76 Part I: Basic Information
Creating Multisheet Names
Names can extend into the third dimension; in other words, they can extend across multiple
worksheets in a workbook. You can’t simply select the multisheet range and type a name in the
Name box, however. You must use the New Name dialog box to create a multisheet name. The
syntax for a multisheet reference looks like this:
FirstSheet:LastSheet!RangeReference
In Figure 3-8, a multisheet name, DataCube, defined for A1:C3, extends across Sheet1, Sheet2, and
Sheet3.
Figure 3-8: Create a multisheet name.
You can, of course, simply type the multisheet range reference in the Refers To field. If you want
to create the name by pointing to the range, though, you’ll find it a bit tricky. Even if you begin
by selecting a multisheet range, Excel does not use this selected range address in the New Name
dialog box.
Follow this step-by-step procedure to create a name called DataCube that refers to the range
A1:C3 across three worksheets (Sheet1, Sheet2, and Sheet3):
1. Activate Sheet1.
2. Choose Formulas➜Defined Names➜Define Name to display the New Name dialog box.
3. Type DataCube in the Name field.
4. Highlight the range reference in the Refers To field, and press Delete to delete the range
reference.
5. Click the sheet tab for Sheet1.
Chapter 3: Working with Names 77
6. Press Shift and click the sheet tab for Sheet3.
At this point the Refers To field contains:
=’Sheet!Sheet3’!
7. Select the range A1:C3 in Sheet1 (which is still the active sheet).
The following appears in the Refers To field:
=’Sheet1:Sheet3’!$A$1:$C$3
8. Because the Refers To field now has the correct multisheet range address, click OK to
close the New Name dialog box.
After you define the name, you can use it in your formulas. For example, the following formula
returns the sum of the values in the range named DataCube:
=SUM(DataCube)
Multisheet names do not appear in the Name box or in the Go To dialog box (which
appears when you choose Home➜Editing➜Find & Select & Go To). In other words,
Excel enables you to define the name, but it doesn’t give you a way to automatically
select the cells to which the name refers. However, multisheet names do appear in the
Formula AutoComplete drop-down list that appears when you type a formula.
If you insert a new worksheet into a workbook that uses multisheet names, the multisheet names
include the new worksheet — as long as the sheet resides between the first and last sheet in the
name’s definition. In the preceding example, a worksheet inserted between Sheet1 and Sheet2
will be included in the DataCube range. However, a worksheet inserted before Sheet1 or after
Sheet3 will not be included.
If you delete the first or last sheet included in a multisheet name, Excel changes the name’s range
in the Refers To field automatically. In the preceding example, deleting Sheet1 causes the Refers
To range of DataCube to change to
=’Sheet2:Sheet3’!$A$1:$C$3
Multisheet names should always be workbook level in scope. Multisheet names that are worksheet
level will work properly but will display an error in the Name Manager dialog box.
78 Part I: Basic Information
Working with Range and Cell Names
After you create range or cell names, you can work with them in a variety of ways. This section
describes how to perform common operations with range and cell names.
Creating a list of names
If you create a large number of names, you may need to know the ranges that each name refers
to, particularly if you’re trying to track down errors or document your work.
You might want to create a list of all names (and their corresponding addresses) in the workbook.
To create a list of names, first move the cell pointer to an empty area of your worksheet.
(The two-column name list, created at the active cell position, overwrites any information at that
location.) Use the Formulas➜Defined Names➜Use in Formula➜Paste Names command (or press
F3). Excel displays the Paste Name dialog box (see Figure 3-9) that lists all the defined names. To
paste a list of names, click the Paste List button.
Figure 3-9: The Paste Name dialog box.
The list of names does not include hidden names, or worksheet-level names that appear
in sheets other than the active sheet.
The list of names pasted to your worksheet occupies two columns. The first column contains the
names, and the second column contains the corresponding range addresses. The range addresses
in the second column consist of text strings that look like formulas. You can convert such a string
to an actual formula by editing the cell. Press F2 and then press Enter. The string then converts
to a formula. If the name refers to a single cell, the formula displays the cell’s current value. If the
name refers to a range, the formula may return a #VALUE! error, or, in the case of multisheet
names, a #REF! error.
I discuss formula errors such as #VALUE! and #REF! in Chapter 21.
Chapter 3: Working with Names 79
Using names in formulas
After you define a name for a cell or range, you can use it in a formula. For example, the following
formula calculates the sum of the values in the range named UnitsSold:
=SUM(UnitsSold)
Recall from the section on scope that when you write a formula that uses a worksheet-level name
on the sheet in which it’s defined, you don’t need to include the worksheet name in the range
name. If you use the name in a formula on a different worksheet, however, you must use the
entire name (sheet name, exclamation point, and name). For example, if the name UnitsSold represents
a worksheet-level name defined on Sheet1, the following formula (on a sheet other than
Sheet1) calculates the total of the UnitsSold range:
=SUM(Sheet1!UnitsSold)
Defined names also appear in the Formula AutoComplete drop-down list. To use Formula
AutoComplete, begin typing the defined name until it is highlighted on the list and then press
Tab to complete the entry. Or, use the down arrow key (↓) to select a name from the list.
If you use a nonexistent name in a formula, Excel displays a #NAME? error, indicating that it cannot
find the name you are trying to use. Often, this means that you misspelled the name.
Using the intersection operators with names
Excel’s range intersection operator is a single space character. The following formula, for example,
displays the sum of the cells at the intersection of two ranges: B1:C20 and A8:D8:
=SUM(B1:C20 A8:D8)
The intersection of these two ranges consists of two cells: B8 and C8.
The intersection operator also works with named ranges. Figure 3-10 shows a worksheet containing
named ranges that correspond to the row and column labels. For example, January refers to
B2:E2, and North refers to B2:B13. The following formula returns the contents of the cell at the
intersection of the January range and the North range:
=January North
Using a space character to separate two range references or names is known as explicit intersection
because you explicitly tell Excel to determine the intersection of the ranges.
80 Part I: Basic Information
Figure 3-10: This worksheet contains named ranges that correspond to row and column labels.
Excel can also perform implicit intersections, which occur when Excel chooses a value from a
multicell range based on the row or column of the formula that contains the reference. An example
should clear this up. Figure 3-11 shows a worksheet that contains a range (B3:B8) named
MyData. Cell D5 contains the simple formula shown here:
=MyData
Figure 3-11: Range B3:B8 in this worksheet is named MyData. Cell D5 demonstrates an implicit intersection.
Notice that cell D5 displays the value from MyData that corresponds to the formula’s row.
Similarly, if you enter the same formula into any other cell in rows 3 through 8, the formula displays
the corresponding value from MyData. Excel performs an implicit intersection using the
MyData range and the row that contains the formula. It’s as if the following formula is being
evaluated:
=MyData 5:5
If you enter the formula in a row not occupied by MyData, the formula returns an error because
the implicit intersection returns nothing.
Chapter 3: Working with Names 81
By the way, implicit intersections are not limited to named ranges. In the preceding example, you
get the same result if cell D5 contains the following formula (which doesn’t use a named range):
=$B$2:$B$8
If you use MyData as an argument for a function, implicit intersection applies only if the function
argument consists of a single value. For example, if you enter this formula in cell D3, implicit
intersection works, and the formula returns 3:
=POWER(3,MyData)
But if you enter this formula, implicit intersection does not apply, and the formula returns the
sum of all values in the MyData range:
=SUM(MyData)
Using the range operator with names
You can also use the range operator, which is a colon (:), to work with named ranges. Refer to
Figure 3-10. For example, this formula returns the sum of the values for North through West for
January through March (nine cells):
=SUM((North January):(West March))
Referencing a single cell in a multicell named range
You can use Excel’s INDEX function to return a single cell from a multicell range. Assume that
range A1:A50 is named DataRange. The following formula displays the second value (the value in
A2) in DataRange:
=INDEX(DataRange,2)
The second and third arguments for the INDEX function are optional although at least one of
them must always be specified. The second argument (used in the preceding formula) specifies
the row offset within the DataRange range.
If DataRange consists of multiple cells in a single row, use a formula like the following one. This
formula omits the second argument for the INDEX function, but uses the third argument that
specifies the column offset with the DataRange range:
=INDEX(DataRange,,2)
82 Part I: Basic Information
If the range consists of multiple rows and columns, use both the second and third arguments for
the INDEX function. For example, this formula returns the value in the fourth row and fifth column
of a range named DataRange:
=INDEX(DataRange,4,5)
Applying names to existing formulas
When you create a name for a cell or range, Excel does not scan your formulas automatically and
replace the cell references with your new name. You can, however, tell Excel to “apply” names to
a range of formulas.
Select the range that contains the formulas that you want to convert. Then choose Formulas➜
Defined Names➜Define Name➜Apply Names. The Apply Names dialog box appears, as shown in
Figure 3-12. In the Apply Names dialog box, select which names you want applied to the formulas.
Only those names that you select will be applied to the formulas.
Figure 3-12: The Apply Names dialog box.
To apply names to all the formulas in the worksheet, select a single cell before you display
the Apply Names dialog box.
The Ignore Relative/Absolute check box controls how Excel substitutes the range name for the
actual address. A cell or range name is usually defined as an absolute reference. If the Ignore
Relative/Absolute check box is selected, Excel applies the name only if the reference in the formula
matches exactly. In most cases, you will want to ignore the type of cell reference when
applying names.
If the Use Row and Column Names check box is selected, Excel takes advantage of the intersection
operator when applying names. Excel uses the names of row and column ranges that refer to
the cells if it cannot find the exact names for the cells. Excel uses the intersection operator to join
Chapter 3: Working with Names 83
the names. Clicking the Options button displays some additional options that are available only
when you select the Use Row and Column Names check box.
Applying names automatically when creating a formula
When you insert a cell or range reference into a formula by pointing, Excel automatically substitutes
the cell or range name if it has one.
In some cases, this feature can be very useful. In other cases, it can be annoying; you may prefer
to use an actual cell or range reference instead of the name. For example, if you plan to copy the
formula, the range references won’t adjust if the reference is a name rather than an address.
Unfortunately, you cannot turn off this feature. If you prefer to use a regular cell or range
address, you need to type the cell or range reference manually (don’t use the pointing
technique).
Unapplying names
Excel does not provide a direct method for unapplying names. In other words, you cannot
replace a name in a formula with the name’s actual cell reference automatically. However, you
can take advantage of a trick described here. You need to change Excel’s Transition Formula
Entry option so it emulates Lotus 1-2-3. Choose File➜Options and then click the Advanced tab in
the Excel Options dialog box. Under the Lotus Compatibility Settings section, place a check mark
next to Transition Formula Entry and then click OK.
Next, press F2 to edit a formula that contains one or more cell or range names. Press Enter to
end cell editing. Next, go back to the Options dialog box and remove the check mark from the
Transition Formula Entry check box. You’ll find that the edited cell uses relative range references
rather than names.
This trick is not documented, and it might not work in all cases, so make sure that you
check the results carefully.
Names with errors
If you delete the rows or columns that contain named cells or ranges, the names will not be
deleted (as you might expect). Rather, each name will contain an invalid reference. For example,
if cell A1 on Sheet1 is named Interest and you delete row 1 or column A, Interest then refers to
=Sheet1!#REF! (that is, an erroneous reference). If you use Interest in a formula, the formula displays
#REF.
To get rid of this erroneous name, you must delete the name manually using the Delete button in
the Name Manager dialog box. Or, you can redefine the name so it refers to a valid cell or range.
The Name Manager allows you to filter the names that it displays using predefined filters.
One of the filters provided, Names with Errors, shows only those names that contain
errors, which enables you to quickly locate problem names.
84 Part I: Basic Information
Viewing named ranges
When you zoom a worksheet to 39 percent or smaller, you see a border around the named
ranges with the name displayed in blue letters, as shown in Figure 3-13. The border and name do
not print; they simply help you visualize the named ranges on your sheet.
Figure 3-13: Excel displays range names when you zoom a sheet to 39 percent or less.
Using names in charts
When you create a chart, each data series has an associated SERIES formula. The SERIES formula
contains references to the ranges used in the chart. If you have a defined range name, you can
edit a SERIES formula and replace the range reference with the name. After doing so, the chart
series will adjust if you change the definition for the name.
See Chapter 17 for additional information about charts.
How Excel Maintains Cell and Range Names
After you create a name for a cell or range, Excel automatically maintains the name as you edit or
modify the worksheet. The following examples assume that Sheet1 contains a workbook-level
name (MyRange) that refers to the following nine-cell range:
=Sheet1!$C$3:$E$5
Chapter 3: Working with Names 85
Inserting a row or column
When you insert a row above the named range or insert a column to the left of the named range,
Excel changes the range reference to reflect its new address. For example, if you insert a new
row 1, MyRange then refers to =Sheet1!$C$4:$E$6.
If you insert a new row or column within the named range, the named range expands to include
the new row or column. For example, if you insert a new column to the left of column E, MyRange
then refers to =Sheet1!$C$3:$F$5.
Deleting a row or column
When you delete a row above the named range or delete a column to the left of the named
range, Excel adjusts the range reference to reflect its new address. For example, if you delete row
1, MyRange refers to =Sheet1!$B$3:$D$5.
If you delete a row or column within the named range, the named range adjusts accordingly. For
example, if you delete column D, MyRange then refers to =Sheet1!$C$3:$D$5.
If you delete all rows or all columns that make up a named range, the named range continues to
exist, but it contains an error reference. For example, if you delete columns C, D, and E, MyRange
then refers to =Sheet1!#REF!. Any formulas that use the name also return errors.
Cutting and pasting
When you cut and paste an entire named range, Excel changes the reference accordingly. For
example, if you move MyRange to a new location beginning at cell A1, MyRange then refers to
=Sheet1!$A$1:$C$3. Cutting and pasting only a part of a named range does not affect the name’s
reference.
Potential Problems with Names
Names are great, but they can also cause some problems. This section contains information that
you should remember when you use names in a workbook.
Name problems when copying sheets
Excel lets you copy a worksheet within the same workbook or to a different workbook. Focus
first on copying a sheet within the same workbook. If the copied sheet contains worksheet-level
names, those names will also be present on the copy of the sheet, adjusted to use the new sheet
name. Usually, this is exactly what you want to happen. However, if the workbook contains a
workbook-level name that refers to a cell or range on the sheet that’s copied, that name will also
be present on the copied sheet. However, it will be converted to a worksheet-level name! That is
usually not what you want to happen.
86 Part I: Basic Information
Consider a workbook that contains one sheet (Sheet1). This workbook has a workbook-level
name (BookName) for cell A1 and a worksheet-level name (Sheet1!LocalName) for cell A2. If you
make a copy of Sheet1 within the workbook, the new sheet is named Sheet1 (2). You’ll find that,
after copying the sheet, the workbook contains four names, as shown in Figure 3-14.
Figure 3-14: Copying a worksheet creates duplicated names.
This proliferation of names when copying a sheet is not only confusing, it can also result in errors
that can be difficult to identify. In this case, typing the following formula on the copied sheet displays
the contents of cell A1 in the copied sheet:
=BookName
In other words, the newly created worksheet-level name (not the original workbook-level name)
is being used.
If you copy the worksheet from a workbook containing a name that refers to a multisheet range,
you also copy this name. A #REF! error appears in its Refers To field.
When you copy a sheet to a new workbook, all the names in the original workbook that refer to
cells on the copied sheet are also copied to the new workbook. This includes both workbooklevel
and worksheet-level names.
Copying and pasting cells from one sheet to another does not copy names, even if the
copied range contains named cells.
Bottom line? You must use caution when copying sheets from a workbook that uses names. After
copying the sheet, check the names and delete those that you didn’t intend to be copied.
Chapter 3: Working with Names 87
Name problems when deleting sheets
When you delete a worksheet that contains cells used in a workbook-level name, you’ll find that
the name is not deleted. The name remains with the workbook, but it contains an erroneous reference
in its Refers To definition.
Figure 3-15 shows the Name Manager dialog box that displays an erroneous name. The workbook
originally contained a sheet named Sheet1, which had a named range (a workbook-level name,
MyRange) for A1:F12. After deleting Sheet1, the name MyRange still exists in the workbook, but
the Refers To field displays the following:
=#REF!$A$1:$F$12
As far as I can tell, keeping erroneous names in a workbook doesn’t cause any harm, but it’s still a
good practice to delete or correct all names that contain an erroneous reference.
Figure 3-15: Deleting the sheet that contains the cell for MyRange causes an erroneous reference.
Naming objects
When you add an object to a worksheet (such as a shape or clip art), the object has a default
name that reflects the type of object (for example, Rectangle 3 or Text Box 1).
To change the name of an object, select it, type the new name in the Name box, and press Enter.
Naming charts is an exception. To rename a chart, use the Chart Tools➜Layout➜Properties➜
Chart Name command.
Excel is a bit inconsistent with regard to the Name box. Although you can use the Name box to
rename an object, the Name box does not display a list of objects. Excel also allows you to
define a name with the same name as an object, and two or more objects can even have the
same name. The Name Manager dialog box does not list the names of objects.
88 Part I: Basic Information
The Secret to Understanding Names
Excel users often refer to named ranges and named cells. In fact, I’ve used these terms frequently
throughout this chapter. Actually, this terminology is not quite accurate.
Here’s the secret to understanding names: When you create a name, you’re actually creating a
named formula. Unlike a normal formula, a named formula doesn’t exist in a cell. Rather, it exists
in Excel’s memory.
This is not exactly an earth-shaking revelation, but keeping this “secret” in mind will help you
understand the advanced naming techniques that follow.
When you work with the Name Manager dialog box, the Refers To field contains the formula, and
the Name field contains the formula’s name. The content of the Refers To field always begins
with an equal sign, which makes it a formula.
As you can see in Figure 3-16, the workbook contains a name (InterestRate) for cell B1 on Sheet1.
The Refers To field lists the following formula:
=Sheet1!$B$1
Figure 3-16: Technically, the name InterestRate is a named formula, not a named cell.
Whenever you use the name InterestRate, Excel actually evaluates the formula with that name
and returns the result. For example, you might type this formula into a cell:
=InterestRate*1.05
When Excel evaluates this formula, it first evaluates the formula named InterestRate (which exists
only in memory, not in a cell). It then multiplies the result of this named formula by 1.05 and displays
the result. This cell formula, of course, is equivalent to the following formula, which uses the
actual cell reference instead of the name:
=Sheet1!$B$1*1.05
Chapter 3: Working with Names 89
At this point, you may be wondering whether it’s possible to create a named formula that doesn’t
contain any cell references. The answer comes in the next section.
Naming constants
Consider a worksheet that generates an invoice and calculates sales tax for a sales amount. The
common approach is to insert the sales tax rate value into a cell and then use this cell reference
in your formulas. To make things easier, you probably would name this cell something like
SalesTax.
You can handle this situation another way. Figure 3-17 demonstrates the following steps:
1. Choose Formulas➜Defined Names➜Define Name to bring up the New Name dialog box.
2. Type the name (in this case, SalesTax) into the Name field.
3. Click in the Refers To field, delete its contents and replace it with a simple formula, such
as =.075.
4. Click OK to close the New Name dialog box.
Figure 3-17: Defining a name that refers to a constant.
The preceding steps create a named formula that doesn’t use any cell references. To try it out,
enter the following formula into any cell:
=SalesTax
This simple formula returns .075, the result of the formula named SalesTax. Because this named
formula always returns the same result, you can think of it as a named constant. And you can use
this constant in a more complex formula, such as the following:
=A1*SalesTax
If you didn’t change the scope from the default of Workbook, you can use SalesTax in any worksheet
in the workbook.
90 Part I: Basic Information
Naming text constants
In the preceding example, the constant consisted of a numeric value. A constant can also consist
of text. For example, you can define a constant for a company’s name. You can use the New
Name dialog box to create the following formula named MS:
=”Microsoft Corporation”
Then you can use a cell formula such as
=”Annual Report: “&MS
This formula returns the text, Annual Report: Microsoft Corporation.
Names that do not refer to ranges do not appear in the Name box or in the Go To dialog
box (which appears when you press F5). This makes sense because these constants
don’t reside anywhere tangible. They do appear in the Paste Names dialog box and in
the Formula AutoComplete drop-down list, however, which does make sense because
you’ll use these names in formulas.
As you might expect, you can change the value of the constant at any time by accessing the
Name Manager dialog box and simply changing the formula in the Refers To field. When you
close the dialog box, Excel uses the new value to recalculate the formulas that use this name.
Although this technique is useful in many situations, changing the value takes some time. Having
a constant located in a cell makes it much easier to modify.
Using worksheet functions in named formulas
Figure 3-18 shows another example of a named formula. In this case, the formula is named
ThisMonth, and the actual formula is
=MONTH(TODAY())
Figure 3-18: Defining a named formula that uses worksheet functions.
Chapter 3: Working with Names 91
The formula in Figure 3-18 uses two worksheet functions. The TODAY function returns the current
date, and the MONTH function returns the month number of its date argument. Therefore, you
can enter a formula such as the following into a cell and it will return the number of the current
month. For example, if the current month is April, the formula returns 4.
=ThisMonth
A more useful named formula would return the actual month name as text. To do so, create a formula
named MonthName, defined as
=TEXT(TODAY(),”mmmm”)
See Chapter 5 for more information about Excel’s TEXT function.
Now enter the following formula into a cell and it will return the current month name as text. In
the month of April, the formula returns the text April.
=MonthName
Using cell and range references in named formulas
Figure 3-19 shows yet another example of creating a named formula, this time with a cell reference.
This formula, named FirstChar, returns the first character of the contents of cell A1 on
Sheet1. This formula uses the LEFT function, which returns characters from the left part of a text
string. The named formula is
=LEFT(Sheet1!$A$1,1)
Figure 3-19: Defining a named formula that uses a cell reference.
92 Part I: Basic Information
After creating this named formula, you can enter the following formula into a cell. The formula
always returns the first character of cell A1 on Sheet1.
=FirstChar
The next example uses a range reference in a named formula. Figure 3-20 shows the New Name
dialog box when defining the following named formula (named Total).
=SUM(Sheet1!$A$1:$D$4)
Figure 3-20: Defining a named formula that uses a range reference.
After creating this named formula, you can enter the following formula into any cell on any sheet.
The formula returns the sum of the values in A1:D4 on Sheet1.
=Total
Notice that the cell references in the two preceding named formulas are absolute references. By
default, all cell and range references in named formulas use an absolute reference, with the worksheet
qualifier. But, as you can see in the next section, overriding this default behavior by using a
relative cell reference can result in some very interesting named formulas.
Using named formulas with relative references
As I noted previously, when you use the New Name dialog box to create a named formula that
refers to cells or ranges, the Refers To field always uses absolute cell references and the references
include the sheet name qualifier. In this section, I describe how to use relative cell and
range references in named formulas.
Chapter 3: Working with Names 93
Using a relative cell reference
Begin by following these steps to create a named formula that uses a relative reference:
1. Start with an empty worksheet.
2. Select cell A1 (this step is very important).
3. Choose Formulas➜Defined Names➜Define Name.
This brings up the New Name dialog box.
4. Type CellToRight in the Name field.
5. Delete the contents of the Refers To field and type the following formula (don’t point to
the cell in the sheet):
=Sheet1!B1
6. Click OK to close the New Name dialog box.
7. Type something (anything) into cell B1.
8. Enter this formula into cell A1:
=CellToRight
You’ll find that the formula in A1 simply returns the contents of cell B1.
Next, copy the formula in cell A1 down a few rows. Then enter some values in column B. You’ll
find that the formula in column A returns the contents of the cell to the right. In other words, the
named formula (CellToRight) acts in a relative manner.
You can use the CellToRight name in any cell (not just cells in column A). For example, if you
enter =CellToRight into cell D12, it returns the contents of cell E12.
To demonstrate that the formula named CellToRight truly uses a relative cell reference, activate
any cell other than cell A1 and display the Name Manager dialog box (see Figure 3-21). You’ll see
that the Refers To field contains a formula that points one cell to the right of the active cell, not
A1. For example, if cell B7 is selected when the Name Manager is displayed, the formula for
CellToRight appears as
=Sheet1!C7
94 Part I: Basic Information
Figure 3-21: The CellToRight named formula varies, depending on the active cell.
If you use the CellToRight name on a different worksheet, you’ll find that it continues to reference
the cell to the right — but it’s the cell with the same address on Sheet1. This happens because the
named formula includes a sheet reference. To modify the named formula so it works on any
sheet, follow these steps:
1. Activate cell A1 on Sheet1.
2. Choose Formulas➜Defined Names➜Name Manager to bring up the Name Manager dialog
box.
3. In the Name Manager dialog box, select the CellToRight item in the list box.
4. Delete the contents of the Refers To field and type this formula:
=!B1
5. Click OK to close the Name Manager dialog box.
After making this change, you’ll find that the CellToRight named formula works correctly on any
worksheet in the workbook.
The named formula does not work if you use it in a formula in column XFD because the
formula attempts to reference a nonexistent cell. (There is no column to the right of
column XFD.)
Using a relative range reference
This example expands upon the previous example and demonstrates how to create a named formula
that sums the values in ten cells directly to the right of a particular cell. To create this
named formula, follow these steps:
Chapter 3: Working with Names 95
1. Activate cell A1.
2. Choose Formulas➜Defined Names➜Define Name to bring up the New Name dialog box.
3. Type Sum10Cells in the Name field.
4. Type this formula in the Refers To field:
=SUM(!B1:!K1)
After creating this named formula, you can insert the following formula into any cell in any sheet,
and it then displays the sum of the ten cells directly to the right:
=Sum10Cells
For example, if you enter this formula into cell D12, it returns the sum of the values in the ten-cell
range E12:N12.
Note that because cell A1 was the active cell when you defined the named formula, the relative
references used in the formula definition are relative to cell A1. Also note that the sheet name
was not used in the formula. Omitting the sheet name (but including the exclamation point)
causes the named formula to work in any sheet.
If you select cell D12 and then bring up the Name Manager dialog box, you’ll see that the Refers
To field for the Sum10Cells name displays the following:
=SUM(!E12:!N12)
The Sum10Cells named formula does not work if you use it in a cell that resides in a column
beyond column XET. That’s because the formula becomes invalid as it tries to reference
a nonexistent cell beyond column XFD.
Using a mixed range reference
As I discuss in Chapter 2, a cell reference can be absolute, relative, or mixed. A mixed cell reference
consists of either of the following:
􀁨 An absolute column reference and a relative row reference (for example, $A1)
􀁨 A relative column reference and an absolute row reference (for example, A$1)
As you might expect, a named formula can use mixed cell references. To demonstrate, activate
cell B1. Use the New Name dialog box to create a formula named FirstInRow, using this formula
definition:
=!$A1
96 Part I: Basic Information
This formula uses an absolute column reference and a relative row reference. Therefore, it always
returns a value in column A. The row depends on the row in which you use the formula. For
example, if you enter the following formula into cell F12, it displays the contents of cell A12:
=FirstInRow
You cannot use the FirstInRow formula in column A because it generates a circular
reference — a formula that refers to itself. I discuss circular references in Chapter 16.
Advanced Techniques That Use Names
This section presents several examples of advanced techniques that use names. The examples
assume that you’re familiar with the naming techniques described earlier in this chapter.
Using the INDIRECT function with a named range
Excel’s INDIRECT function lets you specify a cell address indirectly. For example, if cell A1 contains
the text C45, this formula returns the contents of cell C45:
=INDIRECT(A1)
The INDIRECT function also works with named ranges. Figure 3-22 shows a worksheet with 12
range names that correspond to the month names. For example, January refers to the range
B2:E2. Cell B16 contains the following formula:
=SUM(INDIRECT(A16))
This formula returns the sum of the named range entered as text in cell A16.
You can use the Data➜Data Tools➜Data Validation command to insert a drop-down
list box in cell A16. (Use the List option in the Data Validation dialog box, and specify
A2:A13 as the list source.) This allows the user to select a month name from a list; the
total for the selected month then displays in B16.
Chapter 3: Working with Names 97
Figure 3-22: Using the INDIRECT function with a named range.
You can also reference worksheet-level names with the INDIRECT function. For example, suppose
you have a number of worksheets named Region1, Region2, and so on. Each sheet contains a
worksheet-level name called TotalSales. This formula retrieves the value from the appropriate
sheet, using the sheet name typed in cell A1:
=INDIRECT(A1&”!TotalSales”)
Using the INDIRECT function to create a named range
with a fixed address
It’s possible to create a name that always refers to a specific cell or range, even if you insert new
rows or columns. For example, suppose you want a range named UpperLeft to always refer to
the range A1. If you create the name using standard procedures, you’ll find that inserting a new
row 1 causes the UpperLeft range to change to A2. Or inserting a new column A causes the
UpperLeft range to change to B1. To create a name that uses a fixed address that never changes,
create a named formula using the following Refers To definition:
=INDIRECT(“$A$1”)
After creating this named formula, UpperLeft will always refer to cell A1, even if you insert new
rows or columns. The INDIRECT function, in the preceding formula, lets you specify a cell address
indirectly by using a text argument. Because the argument appears in quotation marks, it never
changes.
98 Part I: Basic Information
Using arrays in named formulas
An array is a collection of items. You can visualize an array as a single-column vertical collection,
a single-row horizontal collection, or a multirow and multicolumn collection.
Part IV of this book discusses arrays and array formulas, but this topic is also relevant
when discussing names.
You specify an array by using brackets. A comma or semicolon separates each item in the array.
Use a comma to separate items arranged horizontally and use a semicolon to separate items
arranged vertically.
Use the New Name dialog box to create a formula named MonthNames that consists of the following
formula definition:
={“Jan”,”Feb”,”Mar”,”Apr”,”May”,”Jun”,”Jul”,”Aug”,”Sep”,”Oct”,”Nov”,”Dec”}
This formula defines a 12-item array of text strings, arranged horizontally.
When you type this formula, make sure that you include the brackets. Entering an array
formula into the New Name dialog box is different from entering an array formula into
a cell.
After you define the MonthNames formula, you can use it in a formula. However, your formula
needs to specify which array item to use. The INDEX function is perfect for this. For example, the
following formula returns Aug:
=INDEX(MonthNames,8)
You can also display the entire 12-item array, but it requires 12 adjacent cells to do so. For example,
to enter the 12 items of the array into A1:L1, follow these steps:
1. Use the New Name dialog box to create the formula named MonthNames.
2. Select the range A1:L1.
3. Type =MonthNames in the Formula bar.
4. Press Ctrl+Shift+Enter.
Using Ctrl+Shift+Enter tells Excel to insert an array formula into the selected cells. In this case,
the single formula is entered into 12 adjacent cells in Figure 3-23. Excel places brackets around an
array formula to remind you that it’s a special type of formula. If you examine any cell in A1:L1,
you’ll see its formula listed as
{=MonthNames}
Chapter 3: Working with Names 99
Figure 3-23: You can enter a named formula that contains a 12-item array into 12 adjacent cells.
Creating a dynamic named formula
A dynamic named formula is a named formula that refers to a range not fixed in size. You may
find this concept difficult to grasp, so a quick example is in order.
Examine the worksheet shown in Figure 3-24. This sheet contains a listing of sales by month,
through the month of May.
Figure 3-24: You can use a dynamic named formula to represent the sales data in column B.
Suppose you want to create a name (SalesData) for the data in column B, and you don’t want
this name to refer to empty cells. In other words, the reference for the SalesData range would
change each month as you add a new sales figure. You could, of course, use the Name Manager
dialog box to change the range name definition each month. Or, you could create a dynamic
named formula that changes automatically as you enter new data.
To create a dynamic named formula, start by re-creating the worksheet shown in Figure 3-24.
Then follow these steps:
1. Bring up the New Name dialog box.
2. Type SalesData in the Name field.
3. Type the following formula in the Refers To field:
=OFFSET(Sheet1!$B$1,0,0,COUNTA(Sheet1!$B:$B),1)
4. Click OK to close the New Name dialog box.
100 Part I: Basic Information
The preceding steps create a named formula that uses Excel’s OFFSET and COUNTA functions to
return a range that changes, based on the number of nonempty cells in column B.
This formula assumes that the range doesn’t contain any blank cells. For example, if cell
B2 is empty, the COUNTA function would not count that cell, and the OFFSET function
would return an incorrect range.
To try out this formula, enter the following formula into any cell not in column B:
=SUM(SalesData)
This formula returns the sum of the values in column B. Note that SalesData does not display in
the Name box and does not appear in the Go To dialog box. You can, however, type SalesData
into the Name box to select the range. Or, bring up the Go To dialog box and type SalesData to
select the range.
At this point, you may be wondering about the value of this exercise. After all, a simple formula
such as the following does the same job, without the need to define a formula:
=SUM(B:B)
The value of using dynamic named formulas becomes apparent when creating a chart. You can
use this technique to create a chart with a data series that adjusts automatically as you enter new
data.
Using a table to store your data often eliminates the need to create dynamic ranges.
Refer to Chapter 9 for more information about tables.
PART II
Using Functions
in Your Formulas
Chapter 4
Introducing Worksheet Functions
Chapter 5
Manipulating Text
Chapter 6
Working with Dates and Times
Chapter 7
Counting and Summing Techniques
Chapter 8
Using Lookup Functions
Chapter 9
Tables and Worksheet Databases
Chapter 10
Miscellaneous Calculations

103
4
Introducing Worksheet
Functions
In This Chapter
● The advantages of using functions in your formulas
● The types of arguments used by functions
● How to enter a function into a formula
● Excel’s function categories
A thorough knowledge of Excel’s worksheet functions is essential for anyone who wants to master
the art of formulas. This chapter provides an overview of the functions available for use in
formulas.
What Is a Function?
A worksheet function is a built-in tool that you use in a formula. Worksheet functions allow you to
perform calculations or operations that would otherwise be impossible. A typical function (such
as SUM) takes one or more arguments and then returns a result. The SUM function, for example,
accepts a range argument and then returns the sum of the values in that range.
You’ll find functions useful because they
􀁨 Simplify your formulas
􀁨 Permit formulas to perform otherwise impossible calculations
􀁨 Speed up some editing tasks
􀁨 Allow conditional execution of formulas — giving them rudimentary decision-making
capability
The examples in the sections that follow demonstrate each of these points.
104 Part II: Using Functions in Your Formulas
Simplify your formulas
Using a built-in function can simplify a formula significantly. For example, you might need to calculate
the average of the values in 10 cells (A1:A10). Without the help of any functions, you would
need to construct a formula like this:
=(A1+A2+A3+A4+A5+A6+A7+A8+A9+A10)/10
Not very pretty, is it? Even worse, you would need to edit this formula if you inserted a new row
in the A1:A10 range and needed the new value to be included in the average. However, you can
replace this formula with a much simpler one that uses the AVERAGE function:
=AVERAGE(A1:A10)
Perform otherwise impossible calculations
Functions permit formulas to perform calculations that go beyond the standard mathematical
operations. Perhaps you need to determine the largest value in a range. A formula can’t tell you
the answer without using a function. This formula uses the MAX function to return the largest
value in the range A1:D100:
=MAX(A1:D100)
Speed up editing tasks
Functions can sometimes eliminate manual editing. Assume that you have a worksheet that contains
1,000 names in cells A1:A1000 and that all the names appear in all-uppercase letters. Your
boss sees the listing and informs you that you need to mail-merge the names with a form letter
and that the use of all uppercase is not acceptable. For example, JOHN F. CRANE must appear as
John F. Crane. You could spend the rest of the afternoon reentering the list — or you could use a
formula such as the following, which uses the PROPER function to convert the text in cell A1 to
proper case:
=PROPER(A1)
1. Type this formula in cell B1 and then copy it down to the next 999 rows.
2. Select B1:B1000 and choose Home➜Clipboard➜Copy to copy the range to the Clipboard
(or press Ctrl+C).
Chapter 4: Introducing Worksheet Functions 105
3. Activate cell A1 and choose Home➜Clipboard➜Paste➜Paste Values to convert the formulas
to values.
4. Delete column B.
You’re finished! With the help of a function, you just eliminated several hours of tedious
work in less than a minute.
Provide decision-making capability
You can use the Excel IF function to give your formulas decision-making capabilities. Suppose
that you have a worksheet that calculates sales commissions. If a salesperson sells at least
$100,000 of product, the commission rate reaches 7.5 percent; otherwise, the commission rate
remains at 5.0 percent. Without using a function, you would need to create two different formulas
and make sure that you use the correct formula for each sales amount. This formula uses the
IF function to check the value in cell A1 and make the appropriate commission calculation:
=IF(A1<100000,A1*5%,A1*7.5%)
The IF function takes three arguments, each separated by a comma. These arguments provide
input to the function. The formula is making a decision: If the value in cell A1 is less than 100,000,
then return the value in cell A1 multiplied by 5 percent. Otherwise, return the value in cell A1 multiplied
by 7.5 percent.
More about functions
All told, Excel includes more than 400 functions. And if that’s not enough, you can purchase
additional specialized functions from third-party suppliers, and you can even create your own
custom functions (using VBA).
If you’re ready to create your own custom functions by using VBA, check out Part VI of
this book.
The sheer number of available worksheet functions may overwhelm you, but you’ll probably find
that you use only a dozen or so of the functions on a regular basis. And as you’ll see, the Function
Library group on the Formulas tab (described later in this chapter) makes it easy to locate and
insert a function, even if you use it only rarely.
Appendix A contains a complete listing of Excel’s worksheet functions, with a brief
description of each.
106 Part II: Using Functions in Your Formulas
Function Argument Types
If you examine the preceding examples in this chapter, you’ll notice that all the functions use a
set of parentheses. The information within the parentheses is the function’s arguments. Functions
vary in how they use arguments. A function may use
􀁨 No arguments
􀁨 One argument
􀁨 A fixed number of arguments
􀁨 An indeterminate number of arguments
􀁨 Optional arguments
For example, the RAND function, which returns a random number between 0 and 1, doesn’t use
an argument. Even if a function doesn’t require an argument, you must provide a set of empty
parentheses, like this:
=RAND()
If a function uses more than one argument, a comma separates the arguments. For example, the
LARGE function, which returns the nth largest value in a range, uses two arguments. The first
argument represents the range; the second argument represents the value for n. The formula
below returns the third-largest value in the range A1:A100:
=LARGE(A1:A100,3)
In some non-English versions of Excel, the character used to separate function arguments
can be something other than a comma — for example, a semicolon. The examples
in this book use a comma as the argument separator character.
The examples at the beginning of the chapter use cell or range references for arguments. Excel
proves quite flexible when it comes to function arguments, however. The following sections demonstrate
additional argument types for functions.
Names as arguments
As you’ve seen, functions can use cell or range references for their arguments. When Excel calculates
the formula, it simply uses the current contents of the cell or range to perform its calculations.
The SUM function returns the sum of its argument(s). To calculate the sum of the values in
A1:A20, you can use
=SUM(A1:A20)
Chapter 4: Introducing Worksheet Functions 107
And, not surprisingly, if you’ve defined a name for A1:A20 (such as Sales), you can use the name
in place of the reference:
=SUM(Sales)
For more information about defining and using names, refer to Chapter 3.
Full-column or full-row as arguments
In some cases, you may find it useful to use an entire column or row as an argument. For example,
the following formula sums all values in column B:
=SUM(B:B)
Using full-column and full-row references is particularly useful if the range that you’re summing
changes — if you continually add new sales figures, for instance. If you do use an entire row or
column, just make sure that the row or column doesn’t contain extraneous information that you
don’t want to include in the sum.
You may think that using such a large range (a column consists of 1,048,576 cells) might slow
down calculation time. Not true. Excel keeps track of the last-used row and last-used column and
does not use cells beyond them when computing a formula result that references an entire column
or row.
Accommodating former Lotus 1-2-3 users
If you’ve ever used any of the Lotus 1-2-3 spreadsheets (or any version of Corel’s Quattro Pro),
you may recall that these products require you to type an “at” sign (@) before a function name.
Excel is smart enough to distinguish functions without you having to flag them with a symbol.
Because old habits die hard, however, Excel accepts @ symbols when you type functions in your
formulas, but it removes them as soon as you enter the formula.
These competing products also use two dots (..) as a range reference operator — for example,
A1..A10. Excel also enables you to use this notation when you type formulas, but Excel replaces
the notation with its own range reference operator, a colon (:).
This accommodation goes only so far, however. Excel still insists that you use the standard Excel
function names, and it doesn’t recognize or translate the function names used in other spreadsheets.
For example, if you enter the 1-2-3 @AVG function, Excel flags it as an error. (Excel’s
name for this function is AVERAGE.)
108 Part II: Using Functions in Your Formulas
Literal values as arguments
A literal argument refers to a value or text string that you enter directly. For example, the SQRT
function, which calculates the square root of a number, takes one argument. In the following
example, the formula uses a literal value for the function’s argument:
=SQRT(225)
Using a literal argument with a simple function like this one usually defeats the purpose of using
a formula. This formula always returns the same value, so you could just as easily replace it with
the value 15. You may want to make an exception to this rule in the interest of clarity. For example,
you may want to make it perfectly clear that you are computing the square root of 225.
Using literal arguments makes more sense with formulas that use more than one argument. For
example, the LEFT function (which takes two arguments) returns characters from the beginning
of its first argument; the second argument specifies the number of characters. If cell A1 contains
the text Budget, the following formula returns the first letter, or B:
=LEFT(A1,1)
Expressions as arguments
Excel also enables you to use expressions as arguments. Think of an expression as a formula
within a formula (but without the leading equal sign). When Excel encounters an expression as a
function’s argument, it evaluates the expression and then uses the result as the argument’s value.
Here’s an example:
=SQRT((A1^2)+(A2^2))
This formula uses the SQRT function, and its single argument appears as the following expression:
(A1^2)+(A2^2)
When Excel evaluates the formula, it first evaluates the expression in the argument and then
computes the square root of the result.
Other functions as arguments
Because Excel can evaluate expressions as arguments, it shouldn’t surprise you that these
expressions can include other functions. Writing formulas that have functions within functions is
Chapter 4: Introducing Worksheet Functions 109
sometimes known as nesting functions. Excel starts by evaluating the most deeply nested
expression and works its way out. Note this example of a nested function:
=SIN(RADIANS(B9))
The RADIANS function converts degrees to radians, the unit used by all of the Excel trigonometric
functions. If cell B9 contains an angle in degrees, the RADIANS function converts it to radians
and then the SIN function computes the sine of the angle.
A formula can contain up to 64 levels of nested functions — a limit that will probably never be a
factor.
Arrays as arguments
A function can also use an array as an argument. An array is a series of values separated by a
comma and enclosed in brackets. The formula below uses the OR function with an array as an
argument. The formula returns TRUE if cell A1 contains 1, 3, or 5.
=OR(A1={1,3,5})
See Part IV of this book for more information about working with arrays.
Often, using arrays can help simplify your formula. The formula below, for example, returns the
same result but uses nested IF functions instead of an array:
=IF(A1=1,TRUE,IF(A1=3,TRUE,IF(A1=5,TRUE,FALSE)))
Ways to Enter a Function into a Formula
You can enter a function into a formula by typing it manually, by using the Function Library commands,
or by using the Insert Function dialog box.
Entering a function manually
If you’re familiar with a particular function — you know its correct spelling and the types of arguments
that it takes — you may choose to simply type the function and its arguments into your
formula. Often, this method is the most efficient.
110 Part II: Using Functions in Your Formulas
Excel 2007 introduced a handy feature known as Formula AutoComplete. When you type an
equal sign and the first letter of a function in a cell, Excel displays a drop-down list box of all the
functions that begin with that letter and a ScreenTip with a brief description for the function (see
Figure 4-1). You can continue typing the function to limit the list or use the arrow keys to select
the function from the list. After you select the desired function, press Tab to insert the function
and its opening parenthesis into the cell.
Figure 4-1: When you begin to type a function, Excel lists available functions that begin with the typed
letters.
In addition to displaying function names, the Formula AutoComplete feature also lists
names and table references (see Chapter 9 for information about tables).
After you press Tab to insert the function and its opening parenthesis, Excel displays another
ScreenTip that shows the arguments for the function (see Figure 4-2). The bold argument is the
argument that you are currently entering. Arguments shown in brackets are optional. Notice that
the text in the ScreenTip contains a hyperlink for each argument that you’ve entered. Click a
hyperlink to select the corresponding argument. If that ScreenTip gets in your way, you can drag
it to a different location.
Figure 4-2: Excel displays a list of the function’s arguments.
If you omit the closing parenthesis for a function, Excel adds it for you automatically. For example,
if you type =SUM(A1:C12 and press Enter, Excel corrects the formula by adding the right
parenthesis.
Chapter 4: Introducing Worksheet Functions 111
When you type a function, Excel always converts the function’s name to uppercase.
Therefore, it’s a good idea to use lowercase when you type functions. If Excel doesn’t
convert your text to uppercase after you press Enter, your entry isn’t recognized as a
function — which means that you spelled it incorrectly or that the function isn’t available.
For example, it may be defined in an add-in that is not currently installed.
Using the Function Library commands
Another way to insert a function into a formula is to use the icons in the Formulas➜Function
Library group. Figure 4-3 shows these icons, each of which is a drop-down control.
When you select a function from one of these lists, Excel displays its Function Arguments dialog
box to help you enter the arguments. Refer to the next section for more information about the
Function Arguments dialog box.
Figure 4-3: The icons in the Function Library group on the Formulas tab.
Using the Insert Function dialog box
The Insert Function dialog box provides a way to enter a function and its arguments in a semiautomated
manner. Using the Insert Function dialog box ensures that you spell the function correctly
and that it contains the proper number of arguments in the correct order.
To insert a function, select the function from the Insert Function dialog box, as shown in Figure
4-4. You access this dialog box by
􀁨 Choosing Formulas➜Function Library➜Insert Function
􀁨 Choosing Formulas➜Function Library➜AutoSum, and then clicking More Functions in the
drop-down list
􀁨 Clicking the fx icon to the left of the Formula bar
􀁨 Pressing Shift+F3
112 Part II: Using Functions in Your Formulas
Figure 4-4: The Insert Function dialog box.
When you select a category from the drop-down list, the list box displays the functions in the
selected category. The Most Recently Used category lists the functions that you’ve used most
recently. The All category lists all the functions available across all categories. Access this category
if you know a function’s name but not its category.
If you’re not sure which function to use, you can search for a function. Use the field at the top of
the Insert Function dialog box. Type one or more keywords and click Go. Excel then displays a list
of functions that match your search criteria. For example, if you’re looking for functions to calculate
a loan payment, type loan as the search term.
When you select a function in the Select a Function list box, notice that Excel displays the function
(and its argument names) in the dialog box, along with a brief description of what the function
does.
When you locate the function that you want to use, click OK. Excel’s Function Arguments dialog
box appears, as shown in Figure 4-5. Use the Function Arguments dialog box to specify the arguments
for the function. You can easily specify a range argument by clicking the Collapse Dialog
button (the icon at the right edge of each argument field). Excel temporarily collapses the
Function Arguments dialog box to a thin box, so that you can select a range in the worksheet.
Figure 4-5: The Function Arguments dialog box.
Chapter 4: Introducing Worksheet Functions 113
More tips for entering functions
The following list contains some additional tips to keep in mind when you use the Insert Function
dialog box to enter functions:
􀁨 Click the Help on This Function hyperlink at any time to get help about the function that
you selected (see Figure 4-6).
􀁨 If the active cell already contains a formula that uses a function, clicking the Insert
Function button displays the Function Arguments dialog box.
􀁨 You can use the Insert Function dialog box to insert a function into an existing formula.
Just edit the formula and move the insertion point to the location where you want to
insert the function. Then open the Insert Function dialog box and select the function.
􀁨 If you change your mind about entering a function, click Cancel.
􀁨 The number of arguments used by the function that you select determines the number of
boxes that you see in the Function Arguments dialog box. If a function uses no arguments,
you won’t see any boxes. If the function uses a variable number of arguments (as
with the AVERAGE function), Excel adds a new box every time you enter an optional
argument.
Let Excel insert functions for you
Most of the time, you’re on your own when it comes to inserting functions. However, at least
three situations can arise in which Excel will enter functions for you automatically:
● When you choose Formulas➜Function Library➜AutoSum (or Home ➜Editing➜AutoSum),
Excel does a quick check of the surrounding cells. It then proposes a formula that uses the
SUM function. If Excel guessed your intentions correctly, just press Enter to accept the
proposed formula(s). If Excel guessed incorrectly, you can simply select the range with
your mouse to override Excel’s suggestion (or press Esc to cancel the AutoSum).
You can preselect the cells to be included in an AutoSum rather than let Excel guess which
cells you want. To insert a SUM function in cell A11 that sums A1:A10, select A1:A11 and then
click the AutoSum button.
The AutoSum button displays an arrow that, when clicked, displays additional functions.
For example, you can use this button to insert a formula that uses the AVERAGE function.
● When you’re working with a table (created by using Insert➜Tables➜Table), you can
choose Table Tools➜Design➜Total Row, and Excel displays a new row at the bottom of
the table that contains summary formulas for the columns. See Chapter 9 for more information
about tables.
● When you choose Data➜Data Tools➜Outline➜Subtotal, Excel displays a dialog box that
enables you to specify some options. Then it proceeds to insert rows and enter some formulas
automatically. These formulas use the SUBTOTAL function.
114 Part II: Using Functions in Your Formulas
Figure 4-6: Don’t forget about Excel’s Help system. It’s the most comprehensive function reference
source available.
􀁨 On the right side of each box in the Function Arguments dialog box, you’ll see the current
value for each argument that’s entered or the type of argument (such as text or number)
for arguments yet to be entered.
􀁨 A few functions, such as INDEX, have more than one form. If you choose such a function,
Excel displays the Select Arguments dialog box that enables you to choose which form
you want to use.
􀁨 To locate a function quickly in the Function Name list that appears in the Insert Function
dialog box, open the list box, type the first letter of the function name, and then scroll to
the desired function. For example, if you select the All category and want to insert the
SIN function, click anywhere on the Select a Function list box and type S. Excel selects
the first function that begins with S. Keep typing S until you reach the SIN function.
􀁨 If the active cell contains a formula that uses one or more functions, the Function
Arguments dialog box enables you to edit each function. In the Formula bar, click the
function that you want to edit and then click the Insert Function button.
Function Categories
I list and briefly describe Excel’s function categories in the following sections.
Chapter 4: Introducing Worksheet Functions 115
See subsequent chapters for specific examples of using the functions.
Financial functions
The financial functions enable you to perform common business calculations that deal with
money. For example, you can use the PMT function to calculate the monthly payment for a car
loan. (You need to provide the loan amount, interest rate, and loan term as arguments.)
Date and time functions
The functions in this category enable you to analyze and work with date and time values in formulas.
For example, the TODAY function returns the current date (as stored in the system clock).
Math and trig functions
This category contains a wide variety of functions that perform mathematical and trigonometric
calculations.
The trigonometric functions all assume radians for angles (not degrees). Use the
RADIANS function to convert degrees to radians.
Statistical functions
The functions in this category perform statistical analysis on ranges of data. For example, you can
calculate statistics such as mean, mode, standard deviation, and variance. Excel 2010 includes
many new functions in this category.
Lookup and reference functions
Functions in this category are used to find (look up) values in lists or tables. A common example
is a tax table. You can use the VLOOKUP function to determine a tax rate for a particular income
level.
Database functions
Functions in this category are useful when you need to summarize data in a list (also known as a
worksheet database) that meets specific criteria. For example, assume you have a list that contains
monthly sales information. You can use the DCOUNT function to count the number of
records that describe sales in the Northern region with a value greater than 10,000.
116 Part II: Using Functions in Your Formulas
Text functions
The text functions enable you to manipulate text strings in formulas. For example, you can use
the MID function to extract any number of characters beginning at any character position. Other
functions enable you to change the case of text (convert to uppercase, for example).
Logical functions
This category consists of only seven functions that enable you to test a condition (for logical
TRUE or FALSE). You will find the IF function very useful because it gives your formulas simple
decision-making capabilities.
Information functions
The functions in this category help you determine the type of data stored within a cell. For example,
the ISTEXT function returns TRUE if a cell reference contains text. Or you can use the
ISBLANK function to determine whether a cell is empty. The CELL function returns lots of potentially
useful information about a particular cell.
User-defined functions
Functions that appear in this category are custom worksheet functions created by using VBA.
These functions can operate just like Excel’s built-in functions. One difference, however, is that
custom functions do not always display a description of each argument in the Paste Function dialog
box. It’s up to the programmer to provide these descriptions. Also, user-defined functions do
not convert to uppercase when you enter them.
Engineering functions
The functions in this category can prove useful for engineering applications. They enable you to
work with complex numbers and to perform conversions between various numbering and measurement
systems.
Cube functions
The functions in this category allow you to manipulate data that is part of an OLAP data cube.
Compatibility functions
The Compatibility category is new to Excel 2010. Functions in this category are statistical functions
that have been replaced with more accurate functions. However, they are still available for
situations in which you need to share your workbook with those who don’t have Excel 2010.
Chapter 4: Introducing Worksheet Functions 117
Other function categories
In addition to the function categories described previously, Excel includes four other categories
that may not appear in the Paste Function dialog box: Commands, Customizing, Macro Control,
and DDE/External. These categories appear to be holdovers from older versions of Excel. If you
create a custom function, you can assign it to one of these categories. In addition, you may see
other function categories created by macros.
See Chapter 23 for information about assigning your custom functions to a function
category.
Volatile functions
Some Excel functions belong to a special class of functions called volatile. Excel recalculates a
volatile function whenever it recalculates the workbook — even if the formula that contains the
function is not involved in the recalculation.
The RAND function represents an example of a volatile function because it generates a new random
number every time Excel calculates the worksheet. Other volatile functions include
● CELL
● INDIRECT
● INFO
● NOW
● OFFSET
● TODAY
As a side effect of using these volatile functions, Excel always prompts you to save the workbook
when you close it — even if you made no changes to it. For example, if you open a workbook
that contains any of these volatile functions, scroll around a bit (but don’t change
anything), and then close the file. Excel asks whether you want to save the workbook.
You can circumvent this behavior by using the Manual Recalculation mode, with the Recalculate
Before Save option turned off. Change the recalculation mode in the Calculate section of the
Formulas tab in the Excel Options dialog box (choose File➜Options).
118 Part II: Using Functions in Your Formulas
119
5
Manipulating Text
In This Chapter
● How Excel handles text entered into cells
● Excel’s worksheet functions that handle text
● Examples of advanced text formulas
Excel, of course, is best known for its ability to crunch numbers. However, it is also quite versatile
when it comes to handling text. As you know, Excel enables you to enter text for things such as
row and column headings, customer names and addresses, part numbers, and just about anything
else. And, as you might expect, you can use formulas to manipulate the text contained in
cells.
This chapter contains many examples of formulas that use functions to manipulate text. Some of
these formulas perform feats that you may not have thought possible.
A Few Words about Text
When you type data into a cell, Excel immediately goes to work and determines whether you’re
entering a formula, a number (including a date or time), or anything else. Anything else is considered
text.
You may hear the term string used instead of text. You can use these terms interchangeably.
Sometimes, they even appear together, as in text string.
How many characters in a cell?
A single cell can hold up to 32,000 characters. To put things into perspective, this chapter contains
about 30,000 characters. I certainly don’t recommend using a cell in lieu of a word processor,
but you really don’t have to lose much sleep worrying about filling up a cell with text.
120 Part II: Using Functions in Your Formulas
Numbers as text
As I mentioned, Excel distinguishes between numbers and text. If you want to “force” a number
to be considered as text, you can do one of the following:
􀁨 Apply the Text number format to the cell. Select Text from the Number Format dropdown
list, which can be found at Home➜Number. If you haven’t applied other horizontal
alignment formatting, the value will appear left-aligned in the cell (like normal text), and
functions like SUM will not treat it as a value. Note, however, that it doesn’t work in the
opposite direction. If you enter a number and then format it as text, the number will be
left-aligned, but functions will continue to treat the entry as a value.
􀁨 Precede the number with an apostrophe. The apostrophe isn’t displayed, but the cell
entry will be treated as if it were text.
Even though a cell is formatted as Text (or uses an apostrophe), you can still perform some
mathematical operations on the cell if the entry looks like a number. For example, assume cell A1
contains a value preceded by an apostrophe. This formula displays the value in A1, incremented
by 1:
=A1+1
This formula, however, treats the contents of cell A1 as 0:
=SUM(A1:A10)
To confuse things even more, if you format cell A1 as Text, the preceding SUM formula treats it as 0.
In some cases, treating text as a number can be useful. In other cases, it can cause problems.
Bottom line? Just be aware of Excel’s inconsistency in how it treats a number formatted as text.
When a number isn’t treated as a number
If you import data into Excel, you may be aware of a common problem: Sometimes, the
imported values are treated as text. Here’s a quick way to convert these nonnumbers to actual
values. Activate any empty cell and choose Home➜Clipboard➜Copy. Then, select the range that
contains the values you need to fix. Choose Home➜Clipboard➜Paste➜Paste Special. In the
Paste Special dialog box, select the Add option and then click OK. By “adding zero” to the text,
you force Excel to treat the nonnumbers as actual values.
Chapter 5: Manipulating Text 121
If background error checking is turned on, Excel flags numbers preceded by an apostrophe
(and numbers formatted as Text) with a Smart Tag. You can use this Smart Tag
to convert the “text” to an actual value. Just click the Smart Tag and select Convert to
Number. Background error checking is controlled in the Excel Options dialog box.
Choose File➜Options and navigate to the Error Checking section of the Formulas tab.
Text Functions
Excel has an excellent assortment of worksheet functions that can handle text. For your convenience,
the Function Library group on the Formulas tab includes a Text drop-down list that provides
access to most of these functions. A few other functions that are relevant to text
manipulation appear in other function categories. For example, the ISTEXT function is in the
Information category (Formulas➜Function Library➜More Functions➜Information).
Refer to Appendix A for a listing of the functions in the Text category.
Most of the functions in the Text category are not limited for use with text. In other words, these
functions can also operate with cells that contain values. Excel is very accommodating when it
comes to treating numbers as text and text as numbers.
The examples in this section demonstrate some common (and useful) things that you can do with
text. You may need to adapt some of these examples for your own use.
Determining whether a cell contains text
In some situations, you may need a formula that determines the type of data contained in a particular
cell. For example, you can use an IF function to return a result only if a cell contains text.
The easiest way to make this determination is to use the ISTEXT function.
The ISTEXT function takes a single argument, returning TRUE if the argument contains text and
FALSE if it doesn’t contain text. The formula that follows returns TRUE if A1 contains a string:
=ISTEXT(A1)
You can also use the TYPE function. The TYPE function takes a single argument and returns a
value that indicates the type of data in a cell. If cell A1 contains a text string, the formula that follows
returns 2 (the code number for text):
=TYPE(A1)
122 Part II: Using Functions in Your Formulas
The ISTEXT function considers a numeric value that’s preceded by an apostrophe to be text.
However, it does not consider a number formatted as Text to be text — unless the Text formatting
is applied before you enter the number in the cell.
Working with character codes
Every character that you see on your screen has an associated code number. For Windows systems,
Excel uses the standard American National Standards Institute (ANSI) character set. The
ANSI character set consists of 255 characters, numbered from 1 to 255.
Figure 5-1 shows an Excel worksheet that displays all 255 characters. This example uses the
Calibri font. (Other fonts may have different characters.)
Figure 5-1: The ANSI character set (for the Calibri font).
The companion CD-ROM includes a copy of the workbook character set.xlsm. It
has some simple macros that enable you to display the character set for any font
installed on your system.
Two functions come into play when dealing with character codes: CODE and CHAR. These functions
aren’t very useful by themselves. However, they can prove quite useful in conjunction with
other functions. I discuss these functions in the following sections.
Chapter 5: Manipulating Text 123
The CODE and CHAR functions work only with ANSI strings. These functions do not
work with double-byte Unicode strings.
The CODE function
Excel’s CODE function returns the ANSI character code for its argument. The formula that follows
returns 65, the character code for uppercase A:
=CODE(“A”)
If the argument for CODE consists of more than one character, the function uses only the first
character. Therefore, this formula also returns 65:
=CODE(“Abbey Road”)
The CHAR function
The CHAR function is essentially the opposite of the CODE function. Its argument is a value
between 1 and 255; the function returns the corresponding character. The following formula, for
example, returns the letter A:
=CHAR(65)
To demonstrate the opposing nature of the CODE and CHAR functions, try entering this formula:
=CHAR(CODE(“A”))
This formula (illustrative rather than useful) returns the letter A. First, it converts the character to
its code value (65) and then it converts this code back to the corresponding character.
Assume that cell A1 contains the letter A (uppercase). The following formula returns the letter a
(lowercase):
=CHAR(CODE(A1)+32)
This formula takes advantage of the fact that the alphabetic characters all appear in alphabetical
order within the character set, and the lowercase letters follow the uppercase letters (with a few
other characters tossed in between). Each lowercase letter lies exactly 32 character positions
higher than its corresponding uppercase letter.
124 Part II: Using Functions in Your Formulas
Determining whether two strings are identical
You can set up a simple logical formula to determine whether two cells contain the same entry.
For example, use this formula to determine whether cell A1 has the same contents as cell A2:
=A1=A2
Excel acts a bit lax in its comparisons when text is involved. Consider the case in which A1 contains
the word January (initial capitalization), and A2 contains JANUARY (all uppercase). You’ll
find that the previous formula returns TRUE even though the contents of the two cells are not
really the same. In other words, the comparison is not case sensitive.
In many cases, you don’t need to worry about the case of the text. However, if you need to make
an exact, case-sensitive comparison, you can use Excel’s EXACT function. The formula that follows
returns TRUE only if cells A1 and A2 contain exactly the same entry:
=EXACT(A1,A2)
How to find special characters
Don’t overlook the handy Symbol dialog box (which appears when you choose Insert➜
Symbols➜Symbol). This dialog box makes it easy to insert special characters (including Unicode
characters) into cells. For example, you might (for some strange reason) want to include a smiley
face character in your spreadsheet. Access Excel’s Symbol dialog box and select the
Wingdings font (see the accompanying figure). Examine the characters, locate the smiley face,
click Insert, and then click Cancel. You’ll also find out that this character has a code of 74.
Chapter 5: Manipulating Text 125
The following formula returns FALSE because the two strings do not match exactly with respect
to case:
=EXACT(“Hello”,”hello”)
Joining two or more cells
Excel uses an ampersand (&) as its concatenation operator. Concatenation is simply a fancy term
that describes what happens when you join the contents of two or more cells. For example, if cell
A1 contains the text Tucson and cell A2 contains the text Arizona, the following formula then
returns TucsonArizona:
=A1&A2
Notice that the two strings are joined together without an intervening space. To add a space
between the two entries (to get Tucson Arizona), use a formula like this one:
=A1&” “&A2
Or, even better, use a comma and a space to produce Tucson, Arizona:
=A1&”, “&A2
Another option is to eliminate the quote characters and use the CHAR function, with an appropriate
argument. Note this example of using the CHAR function to represent a comma (44) and a
space (32):
=A1&CHAR(44)&CHAR(32)&A2
If you’d like to force a line break between strings, concatenate the strings by using CHAR(10),
which inserts a line break character. Also, make sure that you apply the wrap text format to the
cell (choose Home➜Alignment➜Wrap Text). The following example joins the text in cell A1 and
the text in cell B1, with a line break in between:
=A1&CHAR(10)&B1
The following formula returns the string Stop by concatenating four characters returned by the
CHAR function:
=CHAR(83)&CHAR(116)&CHAR(111)&CHAR(112)
126 Part II: Using Functions in Your Formulas
Here’s a final example of using the & operator. In this case, the formula combines text with the
result of an expression that returns the maximum value in column C:
=”The largest value in Column C is “ &MAX(C:C)
Excel also has a CONCATENATE function, which takes up to 255 arguments. This function
simply combines the arguments into a single string. You can use this function if
you like, but using the & operator is usually simpler.
Displaying formatted values as text
The Excel TEXT function enables you to display a value in a specific number format. Although this
function may appear to have dubious value, it does serve some useful purposes, as the examples
in this section demonstrate. Figure 5-2 shows a simple worksheet. The formula in cell A5 is
=”The net profit is “ & B3
Figure 5-2: The formula in A5 doesn’t display the formatted number.
This formula essentially combines a text string with the contents of cell B3 and displays the
result. Note, however, that the value from cell B3 is not formatted in any way. You might want to
display B3’s contents using a currency number format.
Contrary to what you might expect, applying a number format to the cell that contains
the formula has no effect. This is because the formula returns a string, not a value.
Note this revised formula that uses the TEXT function to apply formatting to the value in B3:
=”The net profit is “ & TEXT(B3,”$#,##0.00”)
This formula displays the text along with a nicely formatted value: The net profit is $118,950.85.
Chapter 5: Manipulating Text 127
The second argument for the TEXT function consists of a standard Excel number format string.
You can enter any valid number format string for this argument. Note, however, that color codes
in number format strings are ignored.
The preceding example uses a simple cell reference (B3). You can, of course, use an expression
instead. Here’s an example that combines text with a number resulting from a computation:
=”Average Expenditure: “& TEXT(AVERAGE(A:A),”$#,##0.00”)
This formula might return a string such as Average Expenditure: $7,794.57.
Here’s another example that uses the NOW function (which returns the current date and time).
The TEXT function displays the date and time, nicely formatted.
=”Report printed on “&TEXT(NOW(),”mmmm d, yyyy, at h:mm AM/PM”)
In Chapter 6, I discuss how Excel handles dates and times.
The formula might display the following: Report printed on July 22, 2010 at 3:23 PM.
Refer to Appendix B for details on Excel number formats.
Displaying formatted currency values as text
Excel’s DOLLAR function converts a number to text using the currency format. It takes two arguments:
the number to convert, and the number of decimal places to display. The DOLLAR function
uses the regional currency symbol (for example, a $).
You can sometimes use the DOLLAR function in place of the TEXT function. The TEXT function,
however, is much more flexible because it doesn’t limit you to a specific number format. The second
argument for the DOLLAR function specifies the number of decimal places.
The following formula returns Total: $1,287.37.
=”Total: “ & DOLLAR(1287.367, 2)
128 Part II: Using Functions in Your Formulas
Removing excess spaces and nonprinting characters
Often data imported into an Excel worksheet contains excess spaces or strange (often unprintable)
characters. Excel provides you with two functions to help whip your data into shape: TRIM
and CLEAN:
􀁨 TRIM removes all leading and trailing spaces, and it replaces internal strings of multiple
spaces by a single space.
􀁨 CLEAN removes all nonprinting characters from a string. These “garbage” characters
often appear when you import certain types of data.
This example uses the TRIM function. The formula returns Fourth Quarter Earnings (with no
excess spaces):
=TRIM(“ Fourth Quarter Earnings “)
Counting characters in a string
The Excel LEN function takes one argument and returns the number of characters in the argument.
For example, assume that cell A1 contains the string September Sales. The following formula
returns 15:
=LEN(A1)
Notice that space characters are included in the character count. This can be useful for identifying
strings with extraneous spaces — which can cause problems in some situations, such as in
lookup formulas. The following formula returns FALSE if cell A1 contains any leading spaces, trailing
spaces, or multiple spaces.
=LEN(A1)=LEN(TRIM(A1))
The following formula shortens text that is too long. If the text in A1 is more than ten characters
in length, this formula returns the first nine characters plus an ellipsis (133 on the ANSI chart) as a
continuation character. If it’s ten or fewer, the whole string is returned:
=IF(LEN(A1)>10,LEFT(A1,9)&CHAR(133),A1)
Later in this chapter you’ll see example formulas that demonstrate how to count the
number of a specific character within a string (see the “Advanced Text Formulas” section).
Also, Chapter 7 contains additional counting techniques. Still more counting
examples are provided in Chapter 15, which deals with array formulas.
Chapter 5: Manipulating Text 129
Repeating a character or string
The REPT function repeats a text string (first argument) any number of times you specify (second
argument). For example, this formula returns HoHoHo:
=REPT(“Ho”,3)
You can also use this function to create crude vertical dividers between cells. This example displays
a squiggly line, 20 characters in length:
=REPT(“~”,20)
Creating a text histogram
A clever use for the REPT function is to create a simple histogram (also known as a frequency
distribution) directly in a worksheet (chart not required). Figure 5-3 shows an example of such a
histogram. You’ll find this type of graphical display especially useful when you need to visually
summarize many values. In such a case, a standard chart may be unwieldy.
The data bars conditional formatting feature is a much better way to display a simple
histogram directly in cells. See Chapter 19 for more information about data bars.
Figure 5-3: Using the REPT function to create a histogram in a worksheet range.
The formulas in columns E and G graphically depict monthly budget variances by displaying a
series of characters in the Wingdings font. This example uses the character n, which displays as a
small square in the Wingdings font. A formula using the REPT function determines the number of
characters displayed. Key formulas include
E3: =IF(D3<0,REPT(“n”,-ROUND(D3*100,0)),””)
F3: =A3
G3: =IF(D3>0,REPT(“n”,ROUND(D3*100,0)),””)
130 Part II: Using Functions in Your Formulas
Assign the Wingdings font to cells E3 and G3, and then copy the formulas down the columns to
accommodate all the data. Right-align the text in column E and adjust any other formatting.
Depending on the numerical range of your data, you may need to change the scaling. Experiment
by replacing the 100 value in the formulas. You can substitute any character you like for the n in
the formulas to produce a different character in the chart.
The workbook shown in Figure 5-3, text histogram.xlsx, also appears on the companion
CD-ROM.
Padding a number
You’re probably familiar with a common security measure (frequently used on printed checks) in
which numbers are padded with asterisks on the right. The following formula displays the value
in cell A1, along with enough asterisks to make 24 characters total:
=(A1 & REPT(“*”,24-LEN(A1)))
Or if you’d prefer to pad the number with asterisks on the left, use this formula:
=REPT(“*”,24-LEN(A1))&A1
The following formula displays asterisk padding on both sides of the number. It returns 24 characters
when the number in cell A1 contains an even number of characters; otherwise, it returns 23
characters.
=REPT(“*”,12-LEN(A1)/2)&A1&REPT(“*”,12-LEN(A1)/2)
The preceding formulas are a bit deficient because they don’t show any number formatting. Note
this revised version that displays the value in A1 (formatted), along with the asterisk padding on
the left:
=REPT(“*”,24-LEN(TEXT(A1,”$#,##0.00”)))&TEXT(A1,”$#,##0.00”)
Figure 5-4 shows this formula in action.
Figure 5-4: Using a formula to pad a number with asterisks.
Chapter 5: Manipulating Text 131
You can also pad a number by using a custom number format. To repeat the next character in
the format to fill the column width, include an asterisk (*) in the custom number format code. For
example, use this number format to pad the number with dashes:
$#,##0.00*-
To pad the number with asterisks, use two asterisks, like this:
$#,##0.00**
Refer to Appendix B for more information about custom number formats, including
additional examples using the asterisk format code.
Changing the case of text
Excel provides three handy functions to change the case of text:
􀁨 UPPER: Converts the text to ALL UPPERCASE.
􀁨 LOWER: Converts the text to all lowercase.
􀁨 PROPER: Converts the text to Proper Case. (The First Letter In Each Word Is Capitalized.)
These functions are quite straightforward. The formula that follows, for example, converts the
text in cell A1 to proper case. If cell A1 contained the text MR. JOHN Q. PUBLIC, the formula would
return Mr. John Q. Public.
=PROPER(A1)
These functions operate only on alphabetic characters; they ignore all other characters and return
them unchanged.
The PROPER function capitalizes the first letter of every word, which isn’t always desirable.
Applying the PROPER function to a tale of two cities results in A Tale Of Two
Cities. Normally, the preposition of wouldn’t be capitalized. In addition, applying the
PROPER function to a name such as ED MCMAHON results in Ed Mcmahon (not
Ed McMahon).
132 Part II: Using Functions in Your Formulas
Extracting characters from a string
Excel users often need to extract characters from a string. For example, you may have a list of
employee names (first and last names) and need to extract the last name from each cell. Excel
provides several useful functions for extracting characters:
􀁨 LEFT: Returns a specified number of characters from the beginning of a string.
􀁨 RIGHT: Returns a specified number of characters from the end of a string.
􀁨 MID: Returns a specified number of characters beginning at any position within a string.
The formula that follows returns the last ten characters from cell A1. If A1 contains fewer than ten
characters, the formula returns all of the text in the cell.
=RIGHT(A1,10)
This next formula uses the MID function to return five characters from cell A1, beginning at character
position 2. In other words, it returns characters 2–6.
=MID(A1,2,5)
The following example returns the text in cell A1, with only the first letter in uppercase (sometimes
referred to as sentence case). It uses the LEFT function to extract the first character and
convert it to uppercase. This then concatenates to another string that uses the RIGHT function to
extract all but the first character (converted to lowercase).
=UPPER(LEFT(A1))&LOWER(RIGHT(A1,LEN(A1)-1))
Transforming data with formulas
Many of the examples in this chapter describe how to use functions to transform data in some
way. For example, you can use the UPPER function to transform text into uppercase. Often,
you’ll want to replace the original data with the transformed data. To do so, Paste Values over
the original text. Here’s how:
1. Create your formulas to transform the original data.
2. Select the formula cells.
3. Choose Home➜Clipboard➜Copy (or press Ctrl+C).
4. Select the original data cells.
5. Choose Home➜Clipboard➜Paste➜Values.
After performing these steps, you can delete the formulas.
Chapter 5: Manipulating Text 133
If cell A1 contained the text FIRST QUARTER, the formula would return First quarter.
Replacing text with other text
In some situations, you may need a formula to replace a part of a text string with some other
text. For example, you may import data that contains asterisks, and you may need to convert the
asterisks to some other character. You could use Excel’s Home➜Editing➜Find & Select➜Replace
command to make the replacement. If you prefer a formula-based solution, you can take advantage
of either of two functions:
􀁨 SUBSTITUTE replaces specific text in a string. Use this function when you know the
character(s) that you want to replace but not the position.
􀁨 REPLACE replaces text that occurs in a specific location within a string. Use this function
when you know the position of the text that you want to replace but not the actual text.
The following formula uses the SUBSTITUTE function to replace 2010 with 2011 in the string 2010
Budget. The formula returns 2011 Budget.
=SUBSTITUTE(“2010 Budget”,”2010”,”2011”)
The following formula uses the SUBSTITUTE function to remove all spaces from a string.
In other words, it replaces all space characters with an empty string. The formula returns
2011OperatingBudget.
=SUBSTITUTE(“2011 Operating Budget”,” “,””)
The following formula uses the REPLACE function to replace one character beginning at position
5 with nothing. In other words, it removes the fifth character (a hyphen) and returns Part544.
=REPLACE(“Part-544”,5,1,””)
You can, of course, nest these functions to perform multiple replacements in a single formula.
The formula that follows demonstrates the power of nested SUBSTITUTE functions. The formula
essentially strips out any of the following seven characters in cell A1: space, hyphen, colon, asterisk,
underscore, left parenthesis, and right parenthesis.
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
A1,” “,””),”-”,””),”:”,””),”*”,””),”_”,””),”(“,””),”)”,””)
Therefore, if cell A1 contains the string Part-2A - Z(4M1)_A*, the formula returns Part2AZ4M1A.
134 Part II: Using Functions in Your Formulas
Finding and searching within a string
The Excel FIND and SEARCH functions enable you to locate the starting position of a particular
substring within a string:
􀁨 FIND: Finds a substring within another text string and returns the starting position of the
substring. You can specify the character position at which to begin searching. Use this
function for case-sensitive text comparisons. Wildcard comparisons are not supported.
􀁨 SEARCH: Finds a substring within another text string and returns the starting position of
the substring. You can specify the character position at which to begin searching. Use
this function for non–case-sensitive text or when you need to use wildcard characters.
The following formula uses the FIND function and returns 7, the position of the first m in the
string. Notice that this formula is case sensitive.
=FIND(“m”,”Big Mamma Thornton”,1)
The formula that follows, which uses the SEARCH function, returns 5, the position of the first m
(either uppercase or lowercase):
=SEARCH(“m”,”Big Mamma Thornton”,1)
You can use the following wildcard characters within the first argument for the SEARCH function:
􀁨 Question mark (?): Matches any single character
􀁨 Asterisk (*): Matches any sequence of characters
If you want to find an actual question mark or asterisk character, type a tilde (~) before
the question mark or asterisk.
The next formula examines the text in cell A1 and returns the position of the first three-character
sequence that has a hyphen in the middle of it. In other words, it looks for any character followed
by a hyphen and any other character. If cell A1 contains the text Part-A90, the formula returns 4.
=SEARCH(“?-?”,A1,1)
Searching and replacing within a string
You can use the REPLACE function in conjunction with the SEARCH function to create a new
string that replaces part of the original text string with another string. In effect, you use the
SEARCH function to find the starting location used by the REPLACE function.
Chapter 5: Manipulating Text 135
For example, assume cell A1 contains the text Annual Profit Figures. The following formula
searches for the word Profit and replaces those six characters with the word Loss:
=REPLACE(A1,SEARCH(“Profit”,A1),6,”Loss”)
This next formula uses the SUBSTITUTE function to accomplish the same effect in a more efficient
manner:
=SUBSTITUTE(A1,”Profit”,”Loss”)
Advanced Text Formulas
The examples in this section are more complex than the examples in the previous section. But, as
you’ll see, these formulas can perform some very useful text manipulations.
You can access all the examples in this section on the companion CD-ROM in the text
formula examples.xlsx file.
Counting specific characters in a cell
This formula counts the number of Bs (uppercase only) in the string in cell A1:
=LEN(A1)-LEN(SUBSTITUTE(A1,”B”,””))
This formula uses the SUBSTITUTE function to create a new string (in memory) that has all the Bs
removed. Then the length of this string is subtracted from the length of the original string. The
result reveals the number of Bs in the original string.
The following formula is a bit more versatile. It counts the number of Bs (both upper- and lowercase)
in the string in cell A1.
=LEN(A1)-LEN(SUBSTITUTE(SUBSTITUTE(A1,”B”,””),”b”,””))
Counting the occurrences of a substring in a cell
The formulas in the preceding section count the number of occurrences of a particular character
in a string. The following formula works with more than one character. It returns the number of
136 Part II: Using Functions in Your Formulas
occurrences of a particular substring (contained in cell B1) within a string (contained in cell A1).
The substring can consist of any number of characters.
=(LEN(A1)-LEN(SUBSTITUTE(A1,B1,””)))/LEN(B1)
For example, if cell A1 contains the text Blonde On Blonde and B1 contains the text Blonde, the
formula returns 2.
The comparison is case sensitive, so if B1 contains the text blonde, the formula returns 0. The following
formula is a modified version that performs a case-insensitive comparison:
=(LEN(A1)-LEN(SUBSTITUTE(UPPER(A1),UPPER(B1),””)))/LEN(B1)
Removing trailing minus signs
Some accounting systems use a trailing minus sign to indicate negative values. If you import such
a report into Excel, the values with trailing minus signs are interpreted as text.
The formula that follows checks for a trailing minus sign. If found, it removes the minus sign and
returns a negative number. If cell A1 contains 198.43–, the formula returns –198.43.
=IF(RIGHT(A1,1)=”–”,LEFT(A1,LEN(A1)–1)*–1,A1)
Expressing a number as an ordinal
You may need to express a value as an ordinal number. For example, Today is the 21st day of the
month. In this case, the number 21 converts to an ordinal number by appending the characters st
to the number. Keep in mind that the result of this formula is a string, not a value. Therefore, it
can’t be used in numerical formulas.
The characters appended to a number depend on the number. There is no clear pattern, making
the construction of a formula more difficult. Most numbers will use the th suffix. Exceptions occur
for numbers that end with 1, 2, or 3 — except if the preceding number is a 1 (numbers that end
with 11, 12, or 13). These may seem like fairly complex rules, but you can translate them into an
Excel formula.
The formula that follows converts the number in cell A1 (assumed to be an integer) to an ordinal
number:
=A1&IF(OR(VALUE(RIGHT(A1,2))={11,12,13}),”th”,IF(OR(VALUE(RIGHT(A1))={1,2,3}),
CHOOSE(RIGHT(A1),”st”,”nd”,”rd”),”th”))
Chapter 5: Manipulating Text 137
This is a rather complicated formula, so it may help to examine its components. Basically, the formula
works as follows:
1. If the last two digits of the number are 11, 12, or 13, use th.
2. If Rule #1 does not apply, check the last digit. If the last digit is 1, use st. If the last digit is
2, use nd. If the last digit is 3, use rd.
3. If neither Rule #1 nor Rule #2 apply, use th.
The formula uses two arrays, specified by brackets. Refer to Chapter 14 for more information
about using arrays in formulas.
Figure 5-5 shows the formula in use.
Figure 5-5: Using a formula to express a number as an ordinal.
Determining a column letter for a column number
This next formula returns a worksheet column letter (ranging from A to XFD) for the value contained
in cell A1. For example, if A1 contains 29, the formula returns AC.
=LEFT(ADDRESS(1,A1,4),FIND(1,ADDRESS(1,A1,4))-1)
Note that the formula doesn’t check for a valid column number. In other words, if A1 contains a
value less than 1 or greater than 16,384, the formula then returns an error. The following modification
uses the IFERROR function to display text (Invalid Column) instead of an error value:
=IFERROR(LEFT(ADDRESS(1,A1,4),FIND(1,ADDRESS(1,A1,4))-1),”Invalid Column”)
The IFERROR function was introduced in Excel 2007. For compatibility with versions prior to
Excel 2007, use this formula:
=IF(ISERR(LEFT(ADDRESS(1,A1,4),FIND(1,ADDRESS(1,A1,4))-1)),
“Invalid Column”,LEFT(ADDRESS(1,A1,4),FIND(1,ADDRESS(1,A1,4))-1))
138 Part II: Using Functions in Your Formulas
Extracting a filename from a path specification
The following formula returns the filename from a full path specification. For example, if cell A1
contains c:\files\excel\myfile.xlsx, the formula returns myfile.xlsx.
=MID(A1,FIND(“*”,SUBSTITUTE(A1,”\”,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,”\”,””))))+1,LEN(A1))
This formula assumes that the system path separator is a backslash (\). It essentially returns all
the text following the last backslash character. If cell A1 doesn’t contain a backslash character,
the formula returns an error.
Extracting the first word of a string
To extract the first word of a string, a formula must locate the position of the first space character
and then use this information as an argument for the LEFT function. The following formula
does just that:
=LEFT(A1,FIND(“ “,A1)-1)
This formula returns all of the text prior to the first space in cell A1. However, the formula has a
slight problem: It returns an error if cell A1 consists of a single word. A simple modification solves
the problem by using an IFERROR function to check for the error:
=IFERROR(LEFT(A1,FIND(“ “,A1)-1),A1)
For compatibility with versions prior to Excel 2007, use this formula:
=IF(ISERR(FIND(“ “,A1)),A1,LEFT(A1,FIND(“ “,A1)-1))
Extracting the last word of a string
Extracting the last word of a string is more complicated because the FIND function only works
from left to right. Therefore, the problem rests with locating the last space character. The formula
that follows, however, solves this problem. It returns the last word of a string (all the text following
the last space character):
=RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,” “,”*”,LEN(A1)-LEN(SUBSTITUTE(A1,” “,””)))))
Chapter 5: Manipulating Text 139
This formula, however, has the same problem as the first formula in the preceding section: It fails
if the string does not contain at least one space character. The following modified formula uses
the IFERROR function to avoid the error value:
=IFERROR(RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,” “,”*”,LEN(A1)-LEN(SUBSTITUTE
(A1,” “,””))))),A1)
For compatibility with versions prior to Excel 2007, use this formula:
=IF(ISERR(FIND(“ “,A1)),A1,RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,” “,”*”,LEN(A1)-
LEN(SUBSTITUTE(A1,” “,””))))))
Extracting all but the first word of a string
The following formula returns the contents of cell A1, except for the first word:
=RIGHT(A1,LEN(A1)-FIND(“ “,A1,1))
If cell A1 contains 2010 Operating Budget, the formula then returns Operating Budget.
This formula returns an error if the cell contains only one word. The formula below solves this
problem and returns an empty string if the cell does not contain multiple words:
=IFERROR(RIGHT(A1,LEN(A1)-FIND(“ “,A1,1)),””)
For compatibility with versions prior to Excel 2007, use this formula:
=IF(ISERR(FIND(“ “,A1)),””,RIGHT(A1,LEN(A1)-FIND(“ “,A1,1)))
Extracting first names, middle names, and last names
Suppose you have a list consisting of people’s names in a single column. You have to separate
these names into three columns: one for the first name, one for the middle name or initial, and
one for the last name. This task is more complicated than you may initially think because not
every name in the column has a middle name or middle initial. However, you can still do it.
The task becomes a lot more complicated if the list contains names with titles (such as
Mrs. or Dr.) or names followed by additional details (such as Jr. or III). In fact, the following
formulas will not handle these complex cases. However, they still give you a significant
head start if you’re willing to do a bit of manual editing to handle the special
cases.
140 Part II: Using Functions in Your Formulas
The formulas that follow all assume that the name appears in cell A1.
You can easily construct a formula to return the first name:
=IFERROR(LEFT(A1,FIND(“ “,A1)-1),A1)
Returning the middle name or initial is much more complicated because not all names have a
middle initial. This formula returns the middle name or initial (if it exists); otherwise, it returns
nothing:
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,” “,””))>1,MID(A1,FIND(“ “,A1)+1,FIND(“ “,A1,FIND(“ “,
A1)+1)-(FIND(“ “,A1)+1)),””)
Finally, this formula returns the last name:
=IFERROR(RIGHT(A1,LEN(A1)-FIND(“*”,SUBSTITUTE(A1,” “,”*”,LEN(A1)-LEN(SUBSTITUTE
(A1,” “,””))))),””)
Splitting text strings without using formulas
In many cases, you can eliminate the use of formulas and use Excel’s Data➜Data Tools➜Convert Text
to Columns command to parse strings into their component parts. Selecting this command displays
Excel’s Convert Text to Columns Wizard (see the accompanying figure), which consists of a series of
dialog boxes that walk you through the steps to convert a single column of data into multiple columns.
Generally, you’ll want to select the Delimited option (in Step 1) and use Space as the delimiter
(in Step 2).
Chapter 5: Manipulating Text 141
The formula that follows is a much shorter way to extract the middle name. This formula is useful
if you use the other formulas to extract the first name and the last name. It assumes that the first
name is in B1 and the last name is in D1.
=IF(LEN(B1&D1)+2>=LEN(A1),””,MID(A1,LEN(B1)+2,LEN(A1)-LEN(B1&D1)-2)
As you can see in Figure 5-6, the formulas work fairly well. There are a few problems, however —
notably names that contain four “words.” But, as I mentioned earlier, you can clean these cases
up manually.
If you want to know how I created these complex formulas, refer to Chapter 20 for a
discussion of megaformulas.
Figure 5-6: This worksheet uses formulas to extract the first name, middle name (or initial), and last name
from a list of names in column A.
Removing titles from names
You can use the formula that follows to remove four common titles (Mr., Dr., Ms., and Mrs.) from
a name. For example, if cell A1 contains Mr. Fred Munster, the formula would return Fred Munster.
=IF(OR(LEFT(A1,2)={“Mr”,”Dr”,”Ms”}),RIGHT(A1,LEN(A1)-(FIND(“.”,A1)+1)),A1)
142 Part II: Using Functions in Your Formulas
Counting the number of words in a cell
The following formula returns the number of words in cell A1:
=LEN(TRIM(A1))-LEN(SUBSTITUTE((A1),” “,””))+1
The formula uses the TRIM function to remove excess spaces. It then uses the SUBSTITUTE function
to create a new string (in memory) that has all the space characters removed. The length of
this string is subtracted from the length of the original (trimmed) string to get the number of
spaces. This value is then incremented by 1 to get the number of words.
Note that this formula returns 1 if the cell is empty. The following modification solves that problem:
=IF(LEN(A1)=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1),” “,””))+1)
Excel has many functions that work with text, but you’re likely to run into a situation in
which the appropriate function just doesn’t exist. In such a case, you can often create
your own worksheet function using VBA. Chapter 25 also contains a number of custom
text functions written in VBA.
143
6
Working with Dates
and Times
In This Chapter
● An overview of using dates and times in Excel
● Excel’s date-related functions
● Excel’s time-related functions
Beginners often find that working with dates and times in Excel can be frustrating. To help avoid
this frustration, you’ll need a good understanding of how Excel handles time-based information.
This chapter provides the information you need to create powerful formulas that manipulate
dates and times.
The dates in this chapter correspond to the U.S. English date format: month/day/year.
For example, the date 3/1/1952 refers to March 1, 1952 — not January 3, 1952. I realize
that this is very illogical, but that’s how we Americans have been trained. I trust that
the non-American readers of this book can make the adjustment.
How Excel Handles Dates and Times
This section presents a quick overview of how Excel deals with dates and times. It includes coverage
of Excel’s date and time serial number system and also offers tips for entering and formatting
dates and times.
Other chapters in this book contain additional date-related information. For example,
refer to Chapter 7 for counting examples that use dates. Also, Chapter 25 contains
some Visual Basic for Applications (VBA) functions that work with dates.
144 Part II: Using Functions in Your Formulas
Understanding date serial numbers
To Excel, a date is simply a number. More precisely, a date is a serial number that represents the
number of days since January 0, 1900. A serial number of 1 corresponds to January 1, 1900; a
serial number of 2 corresponds to January 2, 1900; and so on. This system makes it possible to
deal with dates in formulas. For example, you can create a formula to calculate the number of
days between two dates.
You may wonder about January 0, 1900. This non-date (which corresponds to date serial number
0) is actually used to represent times that are not associated with a particular day. This will
become clear later in this chapter.
To view a date serial number as a date, you must format the cell as a date. Use the Format Cells
dialog box (Number tab) to apply a date format.
Excel 2000 and later versions support dates from January 1, 1900, through December
31, 9999 (serial number = 2,958,465). Versions prior to Excel 2000 support a much
smaller range of dates: from January 1, 1900, through December 31, 2078 (serial number
= 65,380).
Choose your date system: 1900 or 1904
Excel actually supports two date systems: the 1900 date system and the 1904 date system.
Which system you use in a workbook determines what date serves as the basis for dates. The
1900 date system uses January 1, 1900, as the day assigned to date serial number 1. The 1904
date system uses January 1, 1904, as the base date. By default, Excel for Windows uses the 1900
date system, and Excel for Macintosh uses the 1904 date system. Excel for Windows supports
the 1904 date system for compatibility with Macintosh files. You can choose to use the 1904
date system from the Excel Options dialog box. (Choose File➜Options and navigate to the
When Calculating This Workbook section of the Advanced tab.) You cannot change the date
system if you use Excel for Macintosh.
Generally, you should use the default 1900 date system. And you should exercise caution if you
use two different date systems in workbooks that are linked. For example, assume that Book1 uses
the 1904 date system and contains the date 1/15/1999 in cell A1. Further assume that Book2 uses the
1900 date system and contains a link to cell A1 in Book1. Book2 will display the date as 1/14/1995.
Both workbooks use the same date serial number (34713), but they are interpreted differently.
One advantage to using the 1904 date system is that it enables you to display negative time values.
With the 1900 date system, a calculation that results in a negative time (for example, 4:00
PM–5:30 PM) cannot be displayed. When using the 1904 date system, the negative time displays
as –1:30: that is, a difference of one hour and 30 minutes.
Chapter 6: Working with Dates and Times 145
Entering dates
You can enter a date directly as a serial number (if you know it), but more often, you’ll enter a
date using any of several recognized date formats. Excel automatically converts your entry into
the corresponding date serial number (which it uses for calculations) and also applies a date format
to the cell so that it displays as an easily readable date rather than a cryptic serial number.
For example, if you need to enter June 18, 2010, you can simply enter the date by typing June 18,
2010 (or use any of several different date formats). Excel interprets your entry and stores the
value 40347, which is the date serial number for that date. Excel also applies one of several date
formats depending on how the date is originally entered, so the cell contents may not appear
exactly as you typed them.
Depending on your regional settings, entering a date in a format such as June 18, 2010
may be interpreted as a text string. In such a case, you would need to enter the date in
a format that corresponds to your regional settings, such as 18 June, 2010.
When you activate a cell that contains a date, the Formula bar shows the cell contents formatted
using the default date format — which corresponds to your system’s short date style. The
Formula bar does not display the date’s serial number — which is inconsistent with other types of
number formatting. If you need to find out the serial number for a particular date, format the cell
by using the General format.
To change the default date format, you need to change a system-wide setting. Access
the Windows Control Panel and choose Regional and Language Options. Then click the
Customize button to display the Customize Regional Options dialog box. Select the
Date tab. The selected item for the Short date style format determines the default date
format used by Excel.
Table 6-1 shows a sampling of the date formats that Excel recognizes (using the U.S. settings).
Results will vary if you use a different regional setting.
Table 6-1: Date Entry Formats Recognized by Excel
Entry Excel’s Interpretation (U.S. Settings) What Excel Displays
6-18-10 June 18, 2010 Windows short date
6-18-2010 June 18, 2010 Windows short date
6/18/10 June 18, 2010 Windows short date
6/18/2010 June 18, 2010 Windows short date
6-18/10 June 18, 2010 Windows short date
June 18, 2010 June 18, 2010 18-Jun-10
Jun 18 June 18 of the current year 18-Jun
June 18 June 18 of the current year 18-Jun
continued
146 Part II: Using Functions in Your Formulas
Table 6-1: Date Entry Formats Recognized by Excel (continued)
Entry Excel’s Interpretation (U.S. Settings) What Excel Displays
6/18 June 18 of the current year 18-Jun
6-18 June 18 of the current year 18-Jun
18-Jun-2010 June 18, 2010 18-Jun-10
2010/6/18 June 18, 2010 Windows short date
As you can see in Table 6-1, Excel is pretty good at recognizing dates entered into a cell. It’s not
perfect, however. For example, Excel does not recognize any of the following entries as dates:
􀁨 June 18 2010
􀁨 Jun-18 2010
􀁨 Jun-18/2010
Rather, it interprets these entries as text. If you plan to use dates in formulas, make sure that
Excel can recognize the date that you enter as a date; otherwise, the formulas that refer to these
dates will produce incorrect results.
If you attempt to enter a date that lies outside of the supported date range, Excel interprets it as
text. If you attempt to format a serial number that lies outside of the supported range as a date,
the value displays as a series of hash marks (#########).
Understanding time serial numbers
When you need to work with time values, you simply extend Excel’s date serial number system
to include decimals. In other words, Excel works with times by using fractional days. For example,
the date serial number for June 18, 2010, is 40347. Noon (halfway through the day) is represented
internally as 40347.5.
The serial number equivalent of 1 minute is approximately 0.00069444. The formula that follows
calculates this number by multiplying 24 hours by 60 minutes and then dividing the result into 1.
The denominator consists of the number of minutes in a day (1,440).
=1/(24*60)
Searching for dates
If your worksheet uses many dates, you may need to search for a particular date by using Excel’s
Find dialog box (which you can access with the Home➜Editing➜Find & Select➜Find command,
or Ctrl+F). Excel is rather picky when it comes to finding dates. You must enter a full four-digit
year into the Find What field in the Find dialog box. The format must correspond to how dates
are displayed in the Formula bar.
Chapter 6: Working with Dates and Times 147
Similarly, the serial number equivalent of 1 second is approximately 0.00001157, obtained by the
following formula (1 divided by 24 hours times 60 minutes times 60 seconds). In this case, the
denominator represents the number of seconds in a day (86,400).
=1/(24*60*60)
In Excel, the smallest unit of time is one one-thousandth of a second. The time serial number
shown here represents 23:59:59.999, or one one-thousandth of a second before midnight:
0.99999999
Table 6-2 shows various times of day, along with each associated time serial number.
Table 6-2: Times of Day and Their Corresponding Serial Numbers
Time of Day Time Serial Number
12:00:00 AM (midnight) 0.0000
1:30:00 AM 0.0625
3:00:00 AM 0.1250
4:30:00 AM 0.1875
6:00:00 AM 0.2500
7:30:00 AM 0.3125
9:00:00 AM 0.3750
10:30:00 AM 0.4375
12:00:00 PM (noon) 0.5000
1:30:00 PM 0.5625
3:00:00 PM 0.6250
4:30:00 PM 0.6875
6:00:00 PM 0.7500
7:30:00 PM 0.8125
9:00:00 PM 0.8750
10:30:00 PM 0.9375
Entering times
Like with entering dates, you normally don’t have to worry about the actual time serial numbers.
Just enter the time into a cell using a recognized format. Table 6-3 shows some examples of time
formats that Excel recognizes.
148 Part II: Using Functions in Your Formulas
Table 6-3: Time Entry Formats Recognized by Excel
Entry Excel’s Interpretation What Excel Displays
11:30:00 am 11:30 AM 11:30:00 AM
11:30:00 AM 11:30 AM 11:30:00 AM
11:30 pm 11:30 PM 11:30 PM
11:30 11:30 AM 11:30
13:30 1:30 PM 13:30
11 AM 11:00 AM 11:00 AM
Because the preceding samples don’t have a specific day associated with them, Excel (by
default) uses a date serial number of 0, which corresponds to the non-date January 0, 1900.
If you’re using the 1904 date system, time values without an explicit date use January 1,
1904, as the date. The discussion that follows assumes that you are using the default
1900 date system.
Often, you’ll want to combine a date and time. Do so by using a recognized date entry format,
followed by a space, and then a recognized time-entry format. For example, if you enter the text
that follows in a cell, Excel interprets it as 11:30 a.m. on June 18, 2010. Its date/time serial number
is 40347.4791666667.
6/18/2010 11:30
When you enter a time that exceeds 24 hours, the associated date for the time increments
accordingly. For example, if you enter the following time into a cell, it is interpreted as 1:00 AM
on January 1, 1900. The day part of the entry increments because the time exceeds 24 hours.
(Keep in mind that a time value entered without a date uses January 0, 1900, as the date.)
25:00:00
Similarly, if you enter a date and a time (and the time exceeds 24 hours), the date that you
entered is adjusted. The following entry, for example, is interpreted as 9/2/2010 1:00:00 AM:
9/1/2010 25:00:00
If you enter a time only (without an associated date), you’ll find that the maximum time that you
can enter into a cell is 9999:59:59 (just under 10,000 hours). Excel adds the appropriate number
of days. In this case, 9999:59:59 is interpreted as 3:59:59 PM on 02/19/1901. If you enter a time
that exceeds 10,000 hours, the time appears as a text string.
Chapter 6: Working with Dates and Times 149
Formatting dates and times
You have a great deal of flexibility in formatting cells that contain dates and times. For example,
you can format the cell to display the date part only, the time part only, or both the date and
time parts.
You format dates and times by selecting the cells and then using the Number Format control in
the Home➜Number group (see Figure 6-1). This control offers two date formats and one time
format.
Figure 6-1: Use the Number Format drop-down list to change the appearance of dates and times.
When you create a formula that refers to a cell containing a date or a time, Excel may
automatically format the formula cell as a date or a time. Sometimes, this is very helpful;
other times, it’s completely inappropriate and downright annoying. Unfortunately,
you cannot turn off this automatic date formatting. You can, however, use a shortcut
key combination to remove all number formatting from the cell and return to the
default General format. Just select the cell and press Ctrl+Shift+~.
If none of the built-in formats meet your needs, you can create a custom number format. Select
the More Number Formats option from the Number Format drop-down list to display the Number
tab in the Format Cells dialog box. The Date and Time categories provide many additional formatting
choices. If none of these are satisfactory, select the Custom category and type the custom
format codes into the Type box. (See Appendix B for information on creating custom
number formats.)
150 Part II: Using Functions in Your Formulas
A particularly useful custom number format for displaying times is
[h]:mm:ss
Using square brackets around the hour part of the format string causes Excel to display
hours beyond 24 hours. You will find this useful when adding times that exceed 24
hours. For an example, see the “Summing times that exceed 24 hours” section later in
this chapter.
Problems with dates
Excel has some problems when it comes to dates. Many of these problems stem from the fact
that Excel was designed many years ago, before the acronym Y2K became a household term.
And, as I describe, the Excel designers basically emulated the Lotus 1-2-3 limited date and time
features, which contain a nasty bug duplicated intentionally in Excel. In addition, versions of Excel
show inconsistency in how they interpret a cell entry that has a two-digit year. And finally, how
Excel interprets a date entry depends on your regional date settings.
If Excel were being designed from scratch today, I’m sure it would be much more versatile in
dealing with dates. Unfortunately, we’re currently stuck with a product that leaves much to be
desired in the area of dates.
The Excel leap year bug
A leap year, which occurs every four years, contains an additional day (February 29). Specifically,
years that are evenly divisible by 100 are not leap years, unless they are also evenly divisible by
400. Although the year 1900 was not a leap year, Excel treats it as such. In other words, when
you type the following into a cell, Excel does not complain. It interprets this as a valid date and
assigns a serial number of 60:
2/29/1900
If you type the following invalid date, Excel correctly interprets it as a mistake and doesn’t convert
it to a date. Rather, it simply makes the cell entry a text string:
2/29/1901
How can a product used daily by millions of people contain such an obvious bug? The answer is
historical. The original version of Lotus 1-2-3 contained a bug that caused it to consider 1900 as a
leap year. When Excel was released some time later, the designers knew of this bug and chose to
reproduce it in Excel to maintain compatibility with Lotus worksheet files.
Why does this bug still exist in later versions of Excel? Microsoft asserts that the disadvantages
of correcting this bug outweigh the advantages. If the bug were eliminated, it would mess up
Chapter 6: Working with Dates and Times 151
hundreds of thousands of existing workbooks. In addition, correcting this problem would affect
compatibility between Excel and other programs that use dates. As it stands, this bug really
causes very few problems because most users do not use dates before March 1, 1900.
Pre-1900 dates
The world, of course, didn’t begin on January 1, 1900. People who work with historical information
using Excel often need to work with dates before January 1, 1900. Unfortunately, the only
way to work with pre-1900 dates is to enter the date into a cell as text. For example, you can
type the following into a cell, and Excel won’t complain:
July 4, 1776
If you plan to sort information by old dates entered as text, you should enter your text
dates with a four-digit year, followed by a two-digit month, and then a two-digit day —
like this: 1776-07-04. This format will enable accurate sorting.
You can’t, however, perform any manipulation on dates recognized as text. For example, you
can’t change its numeric formatting, you can’t determine which day of the week this date
occurred on, and you can’t calculate the date that occurs seven days later.
In Chapter 25, I present some custom VBA functions that enable you to work with any
date in the years 0100 through 9999.
Inconsistent date entries
You need to exercise caution when entering dates by using two digits for the year. When you do
so, Excel has some rules that kick in to determine which century to use. And those rules vary,
depending on the version of Excel that you use.
Two-digit years between 00 and 29 are interpreted as 21st century dates, and two-digit years
between 30 and 99 are interpreted as 20th century dates. For example, if you enter 12/15/28,
Excel interprets your entry as December 15, 2028. However, if you enter 12/15/30, Excel sees it as
December 15, 1930, because Windows uses a default boundary year of 2029. You can keep the
default as is or change it by using the Windows Control Panel. Display the Regional and
Language Options dialog box. Then click the Customize button to display the Customize Regional
Options dialog box. Select the Date tab and then specify a different year.
The best way to avoid any surprises is to simply enter all years using all four digits for
the year.
152 Part II: Using Functions in Your Formulas
Date-Related Functions
Excel has quite a few functions that work with dates. They are all listed under the Date & Time
drop-down list in the Formulas➜Function Library group.
Table 6-4 summarizes the date-related functions available in Excel.
Table 6-4: Date-Related Functions
Function Description
DATE Returns the serial number of a date given the year, month, and day
DATEDIF Calculates the number of days, months, or years between two dates
DATEVALUE Converts a date in the form of text to an actual date
DAY Returns the day of the month for a given date
DAYS360 Calculates the number of days between two dates based on a 360-day year
EDATE* Returns the date that represents the indicated number of months before or
after the start date
EOMONTH* Returns the date of the last day of the month before or after a specified number
of months
MONTH Returns the month for a given date
NETWORKDAYS* Returns the number of whole work days between two dates
NETWORKDAYS.INTL** An international version of the NETWORKDAYS function
NOW Returns the current date and time
TODAY Returns today’s date
WEEKDAY Returns the day of the week (expressed as a number) for a date
WEEKNUM* Returns the week number of the year for a date
WORKDAY* Returns the date before or after a specified number of workdays
WORKDAY.INTL** An international version of the WORKDAY function
YEAR Returns the year for a given date
YEARFRAC* Returns the year fraction representing the number of whole days between two
dates
* In versions prior to Excel 2007, this function is available only when the Analysis ToolPak add-in is installed.
** Indicates a function that’s new to Excel 2010.
Displaying the current date
The following function displays the current date in a cell:
=TODAY()
Chapter 6: Working with Dates and Times 153
You can also display the date, combined with text. The formula that follows, for example, displays
text such as Today is Friday, April 9, 2010:
=”Today is “&TEXT(TODAY(),”dddd, mmmm d, yyyy”)
It’s important to understand that the TODAY function is updated whenever the worksheet is calculated.
For example, if you enter either of the preceding formulas into a worksheet, the formula
displays the current date. When you open the workbook tomorrow, though, it will display the
current date for that day (not the date when you entered the formula).
To enter a date stamp into a cell, press Ctrl+; (semicolon). This enters the date directly
into the cell and does not use a formula. Therefore, the date does not change.
Displaying any date
As explained earlier in this chapter, you can easily enter a date into a cell by simply typing it,
using any of the date formats that Excel recognizes. You can also create a date by using the
DATE function, which takes three arguments: the year, the month, and the day. The following formula,
for example, returns a date comprising the year in cell A1, the month in cell B1, and the day
in cell C1:
=DATE(A1,B1,C1)
The DATE function accepts invalid arguments and adjusts the result accordingly. For
example, this next formula uses 13 as the month argument, and returns January 1, 2010.
The month argument is automatically translated as month 1 of the following year.
=DATE(2009,13,1)
Often, you’ll use the DATE function with other functions as arguments. For example, the formula
that follows uses the YEAR and TODAY functions to return the date for Independence Day (July
4th) of the current year:
=DATE(YEAR(TODAY()),7,4)
The DATEVALUE function converts a text string that looks like a date into a date serial number.
The following formula returns 40412, the date serial number for August 22, 2010:
=DATEVALUE(“8/22/2010”)
154 Part II: Using Functions in Your Formulas
To view the result of this formula as a date, you need to apply a date number format to the cell.
Be careful when using the DATEVALUE function. A text string that looks like a date in
your country may not look like a date in another country. The preceding example works
fine if your system is set for U.S. date formats, but it returns an error for other regional
date formats because Excel is looking for the eighth day of the 22nd month!
Generating a series of dates
Often, you’ll want to insert a series of dates into a worksheet. For example, in tracking monthly
sales, you may want to enter a series of dates, each separated by one month. Or, maybe you
want a series of days with weekends omitted.
The most efficient way to enter a series of dates doesn’t require any formulas — just use Excel’s
AutoFill feature to insert the dates. Type the first date and then drag the cell’s fill handle while
pressing the right mouse button (that is, right-drag the cell’s fill handle). Release the mouse button
and select an option from the shortcut menu (see Figure 6-2).
For more flexibility, enter the first two dates in the series, and choose Fill Series from the shortcut
menu. For example, to enter a series of dates separated by seven days, enter the first two dates
of the series and select both cells. Drag the cells’ fill handle while holding the right mouse button.
In the shortcut menu, choose Fill Series. Excel completes the series by entering additional dates,
separated by seven days.
Figure 6-2: Using Excel’s AutoFill feature to create a series of dates.
Chapter 6: Working with Dates and Times 155
The advantage of using formulas (rather than the AutoFill feature) to create a series of dates is
that you can change the first date, and the others will then update automatically. You need to
enter the starting date into a cell and then use formulas (copied down the column) to generate
the additional dates.
The following examples assume that you entered the first date of the series into cell A1 and the
formula into cell A2. You can then copy this formula down the column as many times as needed.
To generate a series of dates separated by seven days, use this formula:
=A1+7
To generate a series of dates separated by one month, you need a more complicated formula
because months don’t all have the same number days. This formula creates a series of dates, separated
by one month:
=DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))
To generate a series of dates separated by one year, use this formula:
=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))
To generate a series of weekdays only (no Saturdays or Sundays), use the formula that follows.
This formula assumes that the date in cell A1 is not a weekend day:
=IF(WEEKDAY(A1)=6,A1+3,A1+1)
Converting a non-date string to a date
You may import data that contains dates coded as text strings. For example, the following text
represents August 21, 2010 (a four-digit year followed by a two-digit month, followed by a twodigit
day):
20100821
To convert this string to an actual date, you can use a formula such as this one, which assumes
the coded date is in cell A1:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
156 Part II: Using Functions in Your Formulas
This formula uses text functions (LEFT, MID, and RIGHT) to extract the digits and then uses these
extracted digits as arguments for the DATE function.
Refer to Chapter 5 for more information about using formulas to manipulate text.
Calculating the number of days between two dates
A common type of date calculation determines the number of days between two dates. For
example, you may have a financial worksheet that calculates interest earned on a deposit
account. The interest earned depends on how many days that the account is open. If your sheet
contains the open date and the close date for the account, you can calculate the number of days
the account was open.
Because dates store as consecutive serial numbers, you can use simple subtraction to calculate
the number of days between two dates. For example, if cells A1 and B1 both contain a date, the
following formula returns the number of days between these dates:
=A1-B1
If cell B1 contains a more recent date than the date in cell A1, the result will be negative.
If this formula does not display the correct value, make sure that A1 and B1 both contain
actual dates — not text that looks like dates.
Sometimes, calculating the difference between two days is more difficult. To demonstrate, consider
the common “fence post” analogy. If somebody asks you how many units make up a fence,
you can respond with either of two answers: the number of fence posts, or the number of gaps
between the fence posts. The number of fence posts is always one more than the number of gaps
between the posts.
To bring this analogy into the realm of dates, suppose you start a sales promotion on February 1
and end the promotion on February 9. How many days was the promotion in effect? Subtracting
February 1 from February 9 produces an answer of eight days. However, the promotion actually
lasted nine days. In this case, the correct answer involves counting the fence posts, as it were,
and not the gaps. The formula to calculate the length of the promotion (assuming you have
appropriately named cells) appears like this:
=EndDay-StartDay+1
Chapter 6: Working with Dates and Times 157
Calculating the number of work days between two dates
When calculating the difference between two dates, you may want to exclude weekends and holidays.
For example, you may need to know how many business days fall in the month of
November. This calculation should exclude Saturdays, Sundays, and holidays. Using the
NETWORKDAYS function can help.
The NETWORKDAYS function has a very misleading name. This function has nothing to
do with networks or networking. Rather, it calculates the net number of workdays
between two dates.
The NETWORKDAYS function calculates the difference between two dates, excluding weekend
days (Saturdays and Sundays). As an option, you can specify a range of cells that contain the
dates of holidays, which are also excluded. Excel has absolutely no way of determining which
days are holidays, so you must provide this information in a range.
Figure 6-3 shows a worksheet that calculates the workdays between two dates. The range A2:A11
contains a list of holiday dates. The formulas in column C calculate the workdays between the
dates in column A and column B. For example, the formula in cell C15 is
=NETWORKDAYS(A15,B15,A2:A11)
Figure 6-3: Using the NETWORKDAYS function to calculate the number of working days between two
dates.
This formula returns 4, which means that the seven-day period beginning with January 1 contains
four workdays. In other words, the calculation excludes one holiday, one Saturday, and one
Sunday. The formula in cell C16 calculates the total number of workdays in the year.
158 Part II: Using Functions in Your Formulas
Excel 2010 includes an updated version of the NETWORKDAYS function, named
NETWORKDAYS.INTL. This new version is useful if you consider weekend days to be
days other than Saturday and Sunday.
This workbook, work days.xlsx, is available on the companion CD-ROM.
Offsetting a date using only work days
The WORKDAY function is the opposite of the NETWORKDAYS function. For example, if you
start a project on January 8 and the project requires ten working days to complete, the
WORKDAY function can calculate the date that you will finish the project.
The following formula uses the WORKDAY function to determine the date ten working days from
January 8, 2010. A working day is a weekday (Monday through Friday).
=WORKDAY(“1/8/2010”,10)
The formula returns a date serial number, which must be formatted as a date. The result is
January 22, 2010 (four weekend dates fall between January 8 and January 22).
The preceding formula may return a different result, depending on your regional date
setting. (The hard-coded date may be interpreted as August 1, 2010.) A better formula is
=WORKDAY(DATE(2010,1,8),10)
The second argument for the WORKDAY function can be negative. And, as with the
NETWORKDAYS function, the WORKDAY function accepts an optional third argument (a reference
to a range that contains a list of holiday dates).
Calculating the number of years between two dates
The following formula calculates the number of years between two dates. This formula assumes
that cells A1 and B1 both contain dates:
=YEAR(A1)-YEAR(B1)
This formula uses the YEAR function to extract the year from each date and then subtracts one
year from the other. If cell B1 contains a more recent date than the date in cell A1, then the result
is negative.
Chapter 6: Working with Dates and Times 159
Note that this function doesn’t calculate full years. For example, if cell A1 contains 12/31/2010 and
cell B1 contains 01/01/2011, then the formula returns a difference of one year, even though the
dates differ by only one day.
You can also use the YEARFRAC function to calculate the number of years between two dates.
This function returns the number of years, including partial years. For example
=YEARFRAC(A1,B1,1)
Because the YEARFRAC function is often used for financial applications, it uses an optional third
argument that represents the “basis” for the year (for example, a 360-day year). A third argument
of 1 indicates an actual year.
Calculating a person’s age
A person’s age indicates the number of full years that the person has been alive. The formula in
the previous section (for calculating the number of years between two dates) won’t calculate this
value correctly. You can use two other formulas, however, to calculate a person’s age.
The following formula returns the age of the person whose date of birth you enter into cell A1.
This formula uses the YEARFRAC function:
=INT(YEARFRAC(TODAY(),A1,1))
The following formula uses the DATEDIF function to calculate an age. (See the sidebar, “Where’s
the DATEDIF function?”)
=DATEDIF(A1,TODAY(),”y”)
Determining the day of the year
January 1 is the first day of the year, and December 31 is the last day. But what about all of those
days in between? The following formula returns the day of the year for a date stored in cell A1:
=A1-DATE(YEAR(A1),1,0)
The day argument supplied is zero, calling for the “0th” day of the first month. The DATE function
interprets this as the day before the first day, or December 31 of the previous year in this
example. Similarly, negative numbers can be supplied for the day argument.
160 Part II: Using Functions in Your Formulas
Here’s a similar formula that returns the day of the year for the current date:
=TODAY()-DATE(YEAR(TODAY()),1,0)
Where’s the DATEDIF function?
In several places throughout this chapter, I refer to the DATEDIF function. You may notice that
this function does not appear in the Insert Function dialog box, is not listed in the Date & Time
drop-down list, and does not appear in the Formula AutoComplete list. Therefore, to use this
function, you must always enter it manually.
The DATEDIF function has its origins in Lotus 1-2-3, and apparently Excel provides it for compatibility
purposes. For some reason, Microsoft wants to keep this function a secret. You won’t even
find the DATEDIF function in the Help files, although it’s available in all Excel versions. Strangely,
DATEDIF made an appearance in the Excel 2000 Help files but hasn’t been seen since.
DATEDIF is a handy function that calculates the number of days, months, or years between two
dates. The function takes three arguments: start_date, end_date, and a code that represents the
time unit of interest. Here’s an example of a formula that uses the DATEDIF function (it assumes
cells A1 and A2 contain a date). The formula returns the number of complete years between
those two dates.
=DATEDIF(A1,A2,”y”)
The following table displays valid codes for the third argument. You must enclose the codes in
quotation marks.
Unit Code Returns
“y” The number of complete years in the period.
“m” The number of complete months in the period.
“d” The number of days in the period.
“md” The difference between the days in start_date and end_date. The months and years
of the dates are ignored.
“ym” The difference between the months in start_date and end_date. The days and years
of the dates are ignored.
“yd” The difference between the days of start_date and end_date. The years of the dates
are ignored.
The start_date argument must be earlier than the end_date argument, or the function returns an
error.
Chapter 6: Working with Dates and Times 161
The following formula returns the number of days remaining in the year from a particular date
(assumed to be in cell A1):
=DATE(YEAR(A1),12,31)-A1
When you enter either of these formulas, Excel applies date formatting to the cell. You need to
apply a non-date number format to view the result as a number.
To convert a particular day of the year (for example, the 90th day of the year) to an actual date
in a specified year, use the formula that follows. This formula assumes that the year is stored in
cell A1 and that the day of the year is stored in cell B1.
=DATE(A1,1,B1)
Determining the day of the week
The WEEKDAY function accepts a date argument and returns an integer between 1 and 7 that
corresponds to the day of the week. The following formula, for example, returns 7 because the
first day of the year 2011 falls on a Saturday:
=WEEKDAY(DATE(2011,1,1))
The WEEKDAY function uses an optional second argument that specifies the day numbering system
for the result. If you specify 2 as the second argument, the function returns 1 for Monday, 2
for Tuesday, and so on. If you specify 3 as the second argument, the function returns 0 for
Monday, 1 for Tuesday, and so on.
You can also determine the day of the week for a cell that contains a date by applying a
custom number format. A cell that uses the following custom number format displays
the day of the week, spelled out:
dddd
Determining the date of the most recent Sunday
You can use the following formula to return the date for the previous Sunday. If the current day is
a Sunday, the formula returns the current date. (You will need to format the cell to display as a
date.)
=TODAY()-MOD(TODAY()-1,7)
162 Part II: Using Functions in Your Formulas
To modify this formula to find the date of a day other than Sunday, change the 1 to a different
number between 2 (for Monday) and 7 (for Saturday).
Determining the first day of the week after a date
This next formula returns the specified day of the week that occurs after a particular date. For
example, use this formula to determine the date of the first Monday after June 1, 2010. The formula
assumes that cell A1 contains a date and that cell A2 contains a number between 1 and 7 (1
for Sunday, 2 for Monday, and so on).
=A1+A2-WEEKDAY(A1)+(A2<WEEKDAY(A1))*7
If cell A1 contains June 1, 2010 (a Tuesday), and cell A2 contains 7 (for Saturday), the formula
returns June 5, 2010. This is the first Saturday after June 1, 2010.
Determining the nth occurrence of a day of the week in a month
You may need a formula to determine the date for a particular occurrence of a weekday. For
example, suppose your company payday falls on the second Friday of each month, and you need
to determine the paydays for each month of the year. The following formula makes this type of
calculation:
=DATE(A1,A2,1)+A3-WEEKDAY(DATE(A1,A2,1))+
(A4-(A3>=WEEKDAY(DATE(A1,A2,1))))*7
The formula in this section assumes that
􀁨 Cell A1 contains a year.
􀁨 Cell A2 contains a month.
􀁨 Cell A3 contains a day number (1 for Sunday, 2 for Monday, and so on).
􀁨 Cell A4 contains the occurrence number (for example, 2 to select the second occurrence
of the weekday specified in cell A3).
If you use this formula to determine the date of the second Friday in November 2010, it returns
November 12, 2010.
If the value in cell A4 exceeds the number of the specified day in the month, the formula
returns a date from a subsequent month. For example, if you attempt to determine
the date of the fifth Friday in November, 2010 (there is no such date), the formula
returns the first Friday in December.
Chapter 6: Working with Dates and Times 163
Counting the occurrences of a day of the week
You can use the following formula to count the number of occurrences of a particular day of the
week for a specified month. It assumes that cell A1 contains a date and that cell B1 contains a day
number (1 for Sunday, 2 for Monday, and so on). The formula is an array formula, so you must
enter it by pressing Ctrl+Shift+Enter.
{=SUM((WEEKDAY(DATE(YEAR(A1),MONTH(A1),ROW(INDIRECT(“1:”&
DAY(DATE(YEAR(A1),MONTH(A1)+1,0))))))=B1)*1)}
If cell A1 contains the date January 8, 2010, and cell B1 contains the value 3 (for Tuesday), the formula
returns 4, which reveals that January 2010 contains four Tuesdays.
The preceding array formula calculates the year and month by using the YEAR and MONTH functions.
You can simplify the formula a bit if you store the year and month in separate cells. The following
formula (also an array formula) assumes that the year appears in cell A1, the month in cell
A2, and the day number in cell B1:
{=SUM((WEEKDAY(DATE(A1,A2,ROW(INDIRECT(“1:”&
DAY(DATE(A1,A2+1,0))))))=B1)*1)}
Refer to Chapters 14 and 15 for more information about array formulas.
Figure 6-4 shows this formula used in a worksheet. In this case, the formula uses mixed cell references
so that you can copy it. For example, the formula in cell C3 is
{=SUM((WEEKDAY(DATE($B$2,$A3,ROW(INDIRECT(“1:”&
DAY(DATE($B$2,$A3+1,0))))))=C$1)*1)}
Figure 6-4: Calculating the number of each weekday in each month of a year.
164 Part II: Using Functions in Your Formulas
Additional formulas use the SUM function to calculate the number of days per month (column J)
and the number of each weekday in the year (row 15).
The workbook shown in Figure 6-4, day of the week count.xlsx, is available on
the companion CD-ROM.
Expressing a date as an ordinal number
You may want to express the day portion of a date as an ordinal number. For example, you can
display 4/16/2010 as April 16th, 2010. The following formula expresses the date in cell A1 as an
ordinal date:
=TEXT(A1,”mmmm “)&DAY(A1)&IF(INT(MOD(DAY(A1),100)/10)=1, “th”,IF(MOD(DAY(A1),10)=1,
“st”,IF(MOD(DAY(A1),10)=2,”nd”,IF(MOD(DAY(A1),10)=3, “rd”,”th”))))&TEXT(A1,”, yyyy”)
The result of this formula is text, not an actual date.
The following formula shows a variation that expresses the date in cell A1 in day-month-year format.
For example, 4/16/2010 would appear as 16th April, 2010. Again, the result of this formula
represents text, not an actual date.
=DAY(A1)&IF(INT(MOD(DAY(A1),100)/10)=1, “th”,
IF(MOD(DAY(A1),10)=1, “st”,IF(MOD(DAY(A1),10)=2,”nd”,
IF(MOD(DAY(A1),10)=3, “rd”,”th”))))& “ “ &TEXT(A1,”mmmm, yyyy”)
The companion CD-ROM contains the workbook ordinal dates.xlsx that demonstrates
the formulas for expressing dates as ordinal numbers.
Calculating dates of holidays
Determining the date for a particular holiday can be tricky. Some, such as New Year’s Day and
U.S. Independence Day, are no-brainers because they always occur on the same date. For these
kinds of holidays, you can simply use the DATE function, which I covered earlier in this chapter.
To enter New Year’s Day (which always falls on January 1) for a specific year in cell A1, you can
enter this function:
=DATE(A1,1,1)
Chapter 6: Working with Dates and Times 165
Other holidays are defined in terms of a particular occurrence on a particular weekday in a particular
month. For example, Labor Day in the United States falls on the first Monday in September.
Figure 6-5 shows a workbook with formulas to calculate the date for eleven U.S. holidays. The
formulas reference the year in cell A1. Notice that because New Year’s Day, Independence Day,
Veterans Day, and Christmas Day all fall on the same days each year, their dates can be calculated
by using the simple DATE function.
Figure 6-5: Using formulas to determine the date for various holidays.
The workbook shown in Figure 6-5, holidays.xlsx, also appears on the companion
CD-ROM.
New Year’s Day
This holiday always falls on January 1:
=DATE(A1,1,1)
Martin Luther King, Jr., Day
This holiday occurs on the third Monday in January. This formula calculates Martin Luther King,
Jr., Day for the year in cell A1:
=DATE(A1,1,1)+IF(2<WEEKDAY(DATE(A1,1,1)),7-WEEKDAY
(DATE(A1,1,1))+2,2-WEEKDAY(DATE(A1,1,1)))+((3-1)*7)
166 Part II: Using Functions in Your Formulas
Presidents’ Day
Presidents’ Day occurs on the third Monday in February. This formula calculates Presidents’ Day
for the year in cell A1:
=DATE(A1,2,1)+IF(2<WEEKDAY(DATE(A1,2,1)),7-WEEKDAY
(DATE(A1,2,1))+2,2-WEEKDAY(DATE(A1,2,1)))+((3-1)*7)
Easter
Calculating the date for Easter is difficult because of the complicated manner in which Easter is
determined. Easter Day is the first Sunday after the next full moon occurs after the vernal equinox.
I found these formulas to calculate Easter on the Web. I have no idea how they work. And
they don’t work if your workbook uses the 1904 date system:
=DOLLAR((“4/”&A1)/7+MOD(19*MOD(A1,19)-7,30)*14%,)*7-6
This one is slightly shorter, but equally obtuse:
=FLOOR(“5/”&DAY(MINUTE(A1/38)/2+56)&”/”&A1,7)-34
Memorial Day
The last Monday in May is Memorial Day. This formula calculates Memorial Day for the year in cell A1:
=DATE(A1,6,1)+IF(2<WEEKDAY(DATE(A1,6,1)),7-WEEKDAY
(DATE(A1,6,1))+2,2-WEEKDAY(DATE(A1,6,1)))+((1-1)*7)-7
Notice that this formula actually calculates the first Monday in June and then subtracts 7 from the
result to return the last Monday in May.
Independence Day
This holiday always falls on July 4:
=DATE(A1,7,4)
Chapter 6: Working with Dates and Times 167
Labor Day
Labor Day occurs on the first Monday in September. This formula calculates Labor Day for the
year in cell A1:
=DATE(A1,9,1)+IF(2<WEEKDAY(DATE(A1,9,1)),7-WEEKDAY
(DATE(A1,9,1))+2,2-WEEKDAY(DATE(A1,9,1)))+((1-1)*7)
Columbus Day
This holiday occurs on the second Monday in October. This formula calculates Columbus Day for
the year in cell A1:
=DATE(A1,10,1)+IF(2<WEEKDAY(DATE(A1,10,1)),7-WEEKDAY
(DATE(A1,10,1))+2,2-WEEKDAY(DATE(A1,10,1)))+((2-1)*7)
Veterans Day
This holiday always falls on November 11:
=DATE(A1,11,11)
Thanksgiving Day
Thanksgiving Day is celebrated on the fourth Thursday in November. This formula calculates
Thanksgiving Day for the year in cell A1:
=DATE(A1,11,1)+IF(5<WEEKDAY(DATE(A1,11,1)),7-WEEKDAY
(DATE(A1,11,1))+5,5-WEEKDAY(DATE(A1,11,1)))+((4-1)*7)
Christmas Day
This holiday always falls on December 25:
=DATE(A1,12,25)
168 Part II: Using Functions in Your Formulas
Determining the last day of a month
To determine the date that corresponds to the last day of a month, you can use the DATE function.
However, you need to increment the month by 1, and use a day value of zero (0). In other
words, the 0th day of the next month is the last day of the current month.
The following formula assumes that a date is stored in cell A1. The formula returns the date that
corresponds to the last day of the month.
=DATE(YEAR(A1),MONTH(A1)+1,0)
You can use a variation of this formula to determine how many days make up a specified month.
The formula that follows returns an integer that corresponds to the number of days in the month
for the date in cell A1.
=DAY(DATE(YEAR(A1),MONTH(A1)+1,0))
Determining whether a year is a leap year
To determine whether a particular year is a leap year, you can write a formula that determines
whether the 29th day of February occurs in February or March. You can take advantage of the
fact that Excel’s DATE function adjusts the result when you supply an invalid argument — for
example, a day of 29 when February contains only 28 days.
The following formula returns TRUE if the year of the date in cell A1 is a leap year; otherwise, it
returns FALSE:
=IF(MONTH(DATE(YEAR(A1),2,29))=2,TRUE,FALSE)
This function returns the wrong result (TRUE) if the year is 1900. See the section “The
Excel leap year bug,” earlier in this chapter.
Determining a date’s quarter
For financial reports, you might find it useful to present information in terms of quarters. The following
formula returns an integer between 1 and 4 that corresponds to the calendar quarter for
the date in cell A1:
=ROUNDUP(MONTH(A1)/3,0)
This formula divides the month number by 3 and then rounds up the result.
Chapter 6: Working with Dates and Times 169
Converting a year to roman numerals
Fans of old movies will like this one. The following formula converts the year 1945 to Roman
numerals: MCMXLV:
=ROMAN(1945)
This function returns a text string, so you can’t perform any calculations using the result.
Unfortunately, Excel doesn’t provide a function to convert Roman numerals back to Arabic
numerals.
Time-Related Functions
Excel, as you might expect, also includes a number of functions that enable you to work with
time values in your formulas. This section contains examples that demonstrate the use of these
functions.
Table 6-5 summarizes the time-related functions available in Excel. Like the date functions discussed
earlier, time-related functions can be found under the Date & Time drop-down list via
Formulas➜Function Library.
Table 6-5: Time-Related Functions
Function Description
HOUR Returns the hour of a time value
MINUTE Returns the minute of a time value
NOW Returns the current date and time
SECOND Returns the second of a time
TIME Returns a time for a specified hour, minute, and second
TIMEVALUE Converts a time in the form of text to an actual time value
Displaying the current time
This formula displays the current time as a time serial number (or a serial number without an
associated date):
=NOW()-TODAY()
You need to format the cell with a time format to view the result as a recognizable time. The
quickest way is to choose Home➜Number➜Format Number and then select Time from the dropdown
list.
170 Part II: Using Functions in Your Formulas
You can also display the time, combined with text. The formula that follows displays this text: The
current time is 6:28 PM.
=”The current time is “&TEXT(NOW(),”h:mm AM/PM”)
These formulas are updated only when the worksheet is calculated.
To enter a time stamp into a cell, press Ctrl+Shift+: (colon). Excel inserts the time as a
static value (it does not change).
Displaying any time
Earlier in this chapter, I describe how to enter a time value into a cell: Just type it into a cell, making
sure that you include at least one colon (:). You can also create a time by using the TIME
function. For example, the following formula returns a time comprising the hour in cell A1, the
minute in cell B1, and the second in cell C1:
=TIME(A1,B1,C1)
Like the DATE function, the TIME function accepts invalid arguments and adjusts the result
accordingly. For example, the following formula uses 80 as the minute argument and returns
10:20:15 AM. The 80 minutes are simply added to the hour, with 20 minutes remaining.
=TIME(9,80,15)
If you enter a value greater than 24 as the first argument for the TIME function, the
result may not be what you expect. Logically, a formula such as the one that follows
should produce a date/time serial number of 1.041667 (that is, one day and one hour):
=TIME(25,0,0)
In fact, this formula is equivalent to the following:
=TIME(1,0,0)
You can also use the DATE function along with the TIME function in a single cell. The formula that
follows generates a date and time with a serial number of 39420.7708333333 — which represents
6:30 PM on December 4, 2010:
=DATE(2010,12,4)+TIME(18,30,0)
Chapter 6: Working with Dates and Times 171
When you enter the preceding formula, Excel formats the cell to display the date only.
To see the time, you’ll need to change the number format to one that displays a date
and a time.
To enter the current date and time into a cell that doesn’t change when the worksheet
recalculates, press Ctrl+; (semicolon), space, Ctrl+Shift+: (colon), and then press Enter.
The TIMEVALUE function converts a text string that looks like a time into a time serial number.
This formula returns 0.2395833333, which is the time serial number for 5:45 AM:
=TIMEVALUE(“5:45 am”)
To view the result of this formula as a time, you need to apply number formatting to the cell. The
TIMEVALUE function doesn’t recognize all common time formats. For example, the following formula
returns an error because Excel doesn’t like the periods in “a.m.”
=TIMEVALUE(“5:45 a.m.”)
Summing times that exceed 24 hours
Many people are surprised to discover that when you sum a series of times that exceed 24 hours,
Excel doesn’t display the correct total. Figure 6-6 shows an example. The range B2:B8 contains
times that represent the hours and minutes worked each day. The formula in cell B9 is
=SUM(B2:B8)
Figure 6-6: Incorrect cell formatting makes the total appear incorrectly.
172 Part II: Using Functions in Your Formulas
As you can see, the formula returns a seemingly incorrect total (17 hours, 45 minutes). The total
should read 41 hours, 45 minutes. The problem is that the formula is displaying the total as a
date/time serial number of 1.7395833, but the cell formatting is not displaying the date part of
the date/time. The answer is incorrect because cell B9 has the wrong number format.
To view a time that exceeds 24 hours, you need to change the number format for the cell so
square brackets surround the hour part of the format string. Applying the number format here to
cell B9 displays the sum correctly:
[h]:mm
Figure 6-7 shows another example of a worksheet that manipulates times. This worksheet keeps
track of hours worked during a week (regular hours and overtime hours).
Figure 6-7: An employee time sheet workbook.
The week’s starting date appears in cell D5, and the formulas in column B fill in the dates for the
days of the week. Times appear in the range D8:G14, and formulas in column H calculate the
number of hours worked each day. For example, the formula in cell H8 is
=IF(E8<D8,E8+1-D8,E8-D8)+IF(G8<F8,G8+1-G8,G8-F8)
The first part of this formula subtracts the time in column D from the time in column E to get the
total hours worked before lunch. The second part subtracts the time in column F from the time in
column G to get the total hours worked after lunch. I use IF functions to accommodate graveyard
shift cases that span midnight — for example, an employee may start work at 10:00 PM and begin
lunch at 2:00 AM. Without the IF function, the formula returns a negative result.
Chapter 6: Working with Dates and Times 173
The following formula in cell H17 calculates the weekly total by summing the daily totals in column
H:
=SUM(H8:H14)
This worksheet assumes that hours that exceed 40 hours in a week are considered overtime
hours. The worksheet contains a cell named Overtime (cell C23) that contains 40:00. If your standard
workweek consists of something other than 40 hours, you can change the Overtime cell.
The following formula (in cell E18) calculates regular (non-overtime) hours. This formula returns
the smaller of two values: the total hours, or the overtime hours.
=MIN(E17,Overtime)
The final formula, in cell E19, simply subtracts the regular hours from the total hours to yield the
overtime hours:
=E17-E18
The times in H17:H19 may display time values that exceed 24 hours, so these cells use a custom
number format:
[h]:mm
The workbook shown in Figure 6-7, time sheet.xlsm, also appears on the companion
CD-ROM.
Calculating the difference between two times
Because times are represented as serial numbers, you can subtract the earlier time from the later
time to get the difference. For example, if cell A2 contains 5:30:00 and cell B2 contains 14:00:00,
the following formula returns 08:30:00 (a difference of eight hours and 30 minutes):
=B2-A2
If the subtraction results in a negative value, however, it becomes an invalid time; Excel displays
a series of hash marks (#######) because a time without a date has a date serial number of 0. A
negative time results in a negative serial number, which cannot be displayed — although you can
still use the calculated value in other formulas.
174 Part II: Using Functions in Your Formulas
If the direction of the time difference doesn’t matter, you can use the ABS function to return the
absolute value of the difference:
=ABS(B2-A2)
This “negative time” problem often occurs when calculating an elapsed time — for example, calculating
the number of hours worked given a start time and an end time. This presents no problem
if the two times fall in the same day. If the work shift spans midnight, though, the result is an
invalid negative time. For example, you may start work at 10:00 PM and end work at 6:00 AM the
next day. Figure 6-8 shows a worksheet that calculates the hours worked. As you can see, the
shift that spans midnight presents a problem.
Figure 6-8: Calculating the number of hours worked returns an error if the shift spans midnight.
Using the ABS function (to calculate the absolute value) isn’t an option in this case because it
returns the wrong result (16 hours). The following formula, however, does work:
=IF(B2<A2,B2+1,B2)-A2
In fact, another (even simpler) formula can do the job:
=MOD(B2-A2,1)
Negative times are permitted if the workbook uses the 1904 date system. To switch to
the 1904 date system, choose Office➜Excel Options and then navigate to the When
Calculating This Workbook section of the Advanced tab. Place a check mark next to the
Use 1904 Date System option. But beware! When changing the workbook’s date system,
if the workbook uses dates, the dates will be off by four years.
Converting from military time
Military time is expressed as a four-digit number from 0000 to 2359. For example, 1:00 AM is
expressed as 0100 hours, and 3:30 PM is expressed as 1530 hours. The following formula converts
such a number (assumed to appear in cell A1) to a standard time:
=TIMEVALUE(LEFT(A1,2)&”:”&RIGHT(A1,2))
Chapter 6: Working with Dates and Times 175
The formula returns an incorrect result if the contents of cell A1 do not contain four digits. The
following formula corrects the problem and returns a valid time for any military time value from
0 to 2359:
=TIMEVALUE(LEFT(TEXT(A1,”0000”),2)&”:”&RIGHT(A1,2))
The following is a simpler formula that uses the TEXT function to return a formatted string and
then uses the TIMEVALUE function to express the result in terms of a time:
=TIMEVALUE(TEXT(A1,”00\:00”))
Converting decimal hours, minutes, or seconds to a time
To convert decimal hours to a time, divide the decimal hours by 24. For example, if cell A1 contains
9.25 (representing hours), this formula returns 09:15:00 (9 hours, 15 minutes):
=A1/24
To convert decimal minutes to a time, divide the decimal hours by 1,440 (the number of minutes
in a day). For example, if cell A1 contains 500 (representing minutes), the following formula
returns 08:20:00 (8 hours, 20 minutes):
=A1/1440
To convert decimal seconds to a time, divide the decimal hours by 86,400 (the number of seconds
in a day). For example, if cell A1 contains 65,000 (representing seconds), the following formula
returns 18:03:20 (18 hours, 3 minutes, and 20 seconds):
=A1/86400
Adding hours, minutes, or seconds to a time
You can use the TIME function to add any number of hours, minutes, or seconds to a time. For
example, assume that cell A1 contains a time. The following formula adds two hours and 30 minutes
to that time and displays the result:
=A1+TIME(2,30,0)
176 Part II: Using Functions in Your Formulas
You can use the TIME function to fill a range of cells with incremental times. Figure 6-9 shows a
worksheet with a series of times in ten-minute increments. Cell A1 contains a time that was
entered directly. Cell A2 contains the following formula, which was copied down the column:
=A1+TIME(0,10,0)
Figure 6-9: Using a formula to create a series of incremental times.
You can also use the Excel AutoFill feature to fill a range with times. For example, to
create a series of times with ten-minute increments, type 8:00 AM in cell A1 and 8:10
AM in cell A2. Select both cells, and then drag the fill handle (in the lower-right corner
of cell A2) down the column to create the series.
Converting between time zones
You may receive a worksheet that contains dates and times in Greenwich Mean Time (GMT,
sometimes referred to as Zulu time), and you may need to convert these values to local time. To
convert dates and times into local times, you need to determine the difference in hours between
the two time zones. For example, to convert GMT times to U.S. Central Standard Time (CST), the
hour conversion factor is –6.
You can’t use the TIME function with a negative argument, so you need to take a different
approach. One hour equals 1⁄24 of a day, so you can divide the time conversion factor by 24 and
then add it to the time.
Figure 6-10 shows a worksheet set up to convert dates and times (expressed in GMT) to local
times. Cell B1 contains the hour conversion factor (–5 hours for U.S. Eastern Standard Time; EST).
The formula in B4, which copies down the column, is
=A4+($B$1/24)
Chapter 6: Working with Dates and Times 177
Figure 6-10: This worksheet converts dates and times between time zones.
You can access the workbook shown in Figure 6-10, gmt conversion.xlsx, on the
companion CD-ROM.
This formula effectively adds x hours to the date and time in column A. If cell B1 contains a negative
hour value, the value subtracts from the date and time in column A. Note that, in some cases,
this also affects the date.
Rounding time values
You may need to create a formula that rounds a time to a particular value. For example, you may
need to enter your company’s time records rounded to the nearest 15 minutes. This section presents
examples of various ways to round a time value.
The following formula rounds the time in cell A1 to the nearest minute:
=ROUND(A1*1440,0)/1440
The formula works by multiplying the time by 1440 (to get total minutes). This value is passed to
the ROUND function, and the result is divided by 1440. For example, if cell A1 contains 11:52:34,
the formula returns 11:53:00.
The following formula resembles this example, except that it rounds the time in cell A1 to the
nearest hour:
=ROUND(A1*24,0)/24
If cell A1 contains 5:21:31, the formula returns 5:00:00.
178 Part II: Using Functions in Your Formulas
The following formula rounds the time in cell A1 to the nearest 15 minutes (quarter of an hour):
=ROUND(A1*24/0.25,0)*(0.25/24)
In this formula, 0.25 represents the fractional hour. To round a time to the nearest 30 minutes,
change 0.25 to 0.5, as in the following formula:
=ROUND(A1*24/0.5,0)*(0.5/24)
Working with non–time-of-day values
Sometimes, you may want to work with time values that don’t represent an actual time of day.
For example, you might want to create a list of the finish times for a race, or record the time you
spend jogging each day. Such times don’t represent a time of day. Rather, a value represents the
time for an event (in hours, minutes, and seconds). The time to complete a test, for instance,
might be 35 minutes and 45 seconds. You can enter that value into a cell as
00:35:45
Excel interprets such an entry as 12:35:45 AM, which works fine (just make sure that you format
the cell so it appears as you like). When you enter such times that do not have an hour component,
you must include at least one zero for the hour. If you omit a leading zero for a missing
hour, Excel interprets your entry as 35 hours and 45 minutes.
Figure 6-11 shows an example of a worksheet set up to keep track of someone’s jogging activity.
Column A contains simple dates. Column B contains the distance, in miles. Column C contains the
time it took to run the distance. Column D contains formulas to calculate the speed, in miles per
hour. For example, the formula in cell D2 is
=B2/(C2*24)
Column E contains formulas to calculate the pace, in minutes per mile. For example, the formula
in cell E2 is
=(C2*60*24)/B2
Columns F and G contain formulas that calculate the year-to-date distance (using column B) and
the cumulative time (using column C). The cells in column G are formatted using the following
number format (which permits time displays that exceed 24 hours):
[hh]:mm:ss
Chapter 6: Working with Dates and Times 179
Figure 6-11: This worksheet uses times not associated with a time of day.
You can access the workbook shown in Figure 6-11, jogging log.xlsx, on the companion
CD-ROM.
180 Part II: Using Functions in Your Formulas
181
7
Counting and Summing
Techniques
In This Chapter
● Information on counting and summing cells
● Information on counting and summing records in databases and pivot tables
● Basic counting formulas
● Advanced counting formulas
● Formulas for performing common summing tasks
● Conditional summing formulas using a single criterion
● Conditional summing formulas using multiple criteria
● The use of VBA to perform counting and summing tasks
Many of the most frequently asked spreadsheet questions involve counting and summing values
and other worksheet elements. It seems that people are always looking for formulas to count or
sum various items in a worksheet. If I’ve done my job, this chapter will answer the vast majority
of such questions.
Counting and Summing Worksheet Cells
Generally, a counting formula returns the number of cells in a specified range that meet certain
criteria. A summing formula returns the sum of the values of the cells in a range that meet certain
criteria. The range you want counted or summed may or may not consist of a worksheet database
or table.
Table 7-1 lists the worksheet functions that come into play when creating counting and summing
formulas. If none of the functions in Table 7-1 can solve your problem, it’s likely that an array formula
can come to the rescue.
182 Part II: Using Functions in Your Formulas
See Part IV for detailed information and examples of array formulas that you can use
for counting and summing. In addition, refer to Chapter 9 for information about summing
and counting data in a list.
If your data is in the form of a table, you can use AutoFiltering to accomplish many
counting and summing operations. Just set the AutoFilter criteria, and the table displays
only the rows that match your criteria (the nonqualifying rows in the table are
hidden). Then you can select formulas to display counts or sums in the table’s Total
row. Refer to Chapter 9 for more information on using tables.
Table 7-1: Excel’s Counting and Summing Functions
Function Description
COUNT Returns the number of cells in a range that contain a numeric value
COUNTA Returns the number of nonblank cells in a range
COUNTBLANK Returns the number of blank cells in a range
COUNTIF Returns the number of cells in a range that meet a single specified criterion
COUNTIFS* Returns the number of cells in a range that meet one or more specified criterion
DCOUNT Counts the number of records in a worksheet database that meet specified criteria
DCOUNTA Counts the number of nonblank records in a worksheet database that meet specified
criteria
DEVSQ Returns the sum of squares of deviations of data points from the sample mean; used primarily
in statistical formulas
DSUM Returns the sum of a column of values in a worksheet database that meet specified criteria
FREQUENCY Calculates how often values occur within a range of values and returns a vertical array of
numbers; used only in a multicell array formula
SUBTOTAL When used with a first argument of 2 or 3, returns a count of cells that comprise a subtotal;
when used with a first argument of 9, returns the sum of cells that comprise a subtotal
SUM Returns the sum of its arguments
SUMIF Returns the sum of cells in a range that meet a specified criterion
SUMIFS* Returns the sum of the cells in a range that meet one or more specified criterion
SUMPRODUCT Multiplies corresponding cells in two or more ranges and returns the sum of those products
SUMSQ Returns the sum of the squares of its arguments; used primarily in statistical formulas
SUMX2PY2 Returns the sum of the sum of squares of corresponding values in two ranges; used primarily
in statistical formulas
SUMXMY2 Returns the sum of squares of the differences of corresponding values in two ranges;
used primarily in statistical formulas
SUMX2MY2 Returns the sum of the differences of squares of corresponding values in two ranges;
used primarily in statistical formulas
*These functions were introduced in Excel 2007.
Chapter 7: Counting and Summing Techniques 183
Counting or Summing Records in Databases and
Pivot Tables
Special database functions and pivot tables provide additional ways to achieve counting and
summing. Excel’s DCOUNT and DSUM functions are database functions. They work in conjunction
with a worksheet database and require a special criterion range that holds the counting or summing
criteria.
Chapter 9 covers the database functions and provides information about counting and
summing using a worksheet database or table.
Getting a quick count or sum
In Excel 97, Microsoft introduced the AutoCalculate feature. This feature displays, in the status
bar, information about the selected range. By default, Excel displays the average, count, and
sum of the selected cells. You can, however, right-click the status bar to bring up the Customize
Status Bar menu with some other options.
If you select Count, the status bar displays the number of nonempty cells in the selected range.
If you select Numerical Count, the status bar displays the number of numeric cells in the selected
range.
184 Part II: Using Functions in Your Formulas
Creating a pivot table is a quick way to get a count or sum of items without using formulas. Like
the database function, using a pivot table is appropriate when your data is in the form of a worksheet
database or table.
Refer to Chapter 18 for information about pivot tables.
Basic Counting Formulas
The basic counting formulas presented here are all straightforward and relatively simple. They
demonstrate how to count the number of cells in a range that meet specific criteria. Figure 7-1
shows a worksheet that uses formulas (in column E) to summarize the contents of range A1:B10 —
a 20-cell range named Data.
Figure 7-1: Formulas provide various counts of the data in A1:B10.
About this chapter’s examples
Most of the examples in this chapter use named ranges for function arguments. When you adapt
these formulas for your own use, you’ll need to substitute either the actual range address or a
range name defined in your workbook.
Also, some examples are array formulas. An array formula, as explained in Chapter 14, is a special
type of formula. You can spot an array formula because it is enclosed in brackets when it is displayed
in the Formula bar. For example
{=Data*2}
When you enter an array formula, press Ctrl+Shift+Enter (not just Enter). And don’t type the
brackets — Excel inserts the brackets for you. If you need to edit an array formula, don’t forget
to press Ctrl+Shift+Enter when you’ve finished editing. Otherwise, the array formula will revert
to a normal formula, and it will return an incorrect result.
Chapter 7: Counting and Summing Techniques 185
You can access the basic counting.xlsx workbook shown in Figure 7-1 on the companion
CD-ROM.
Counting the total number of cells
To get a count of the total number of cells in a range, use the following formula. This formula
returns the number of cells in a range named Data. It simply multiplies the number of rows
(returned by the ROWS function) by the number of columns (returned by the COLUMNS function).
=ROWS(Data)*COLUMNS(Data)
Counting blank cells
The following formula returns the number of blank (empty) cells in a range named Data:
=COUNTBLANK(Data)
The COUNTBLANK function also counts cells containing a formula that returns an empty string.
For example, the formula that follows returns an empty string if the value in cell A1 is greater
than 5. If the cell meets this condition, the COUNTBLANK function counts that cell.
=IF(A1>5,””,A1)
The COUNTBLANK function does not count cells that contain a zero value, even if you
clear the Show a Zero in Cells That Have Zero Value option in the Excel Options dialog
box. (Choose File➜Options and navigate to the Display Options for this Worksheet section
of the Advanced tab.)
You can use the COUNTBLANK function with an argument that consists of entire rows or columns.
For example, this next formula returns the number of blank cells in column A:
=COUNTBLANK(A:A)
The following formula returns the number of empty cells on the entire worksheet named Sheet1.
You must enter this formula on a sheet other than Sheet1, or it will create a circular reference.
=COUNTBLANK(Sheet1!1:1048576)
186 Part II: Using Functions in Your Formulas
Counting nonblank cells
The following formula uses the COUNTA function to return the number of nonblank cells in a
range named Data:
=COUNTA(Data)
The COUNTA function counts cells that contain values, text, or logical values (TRUE or FALSE).
If a cell contains a formula that returns an empty string, that cell is included in the
count returned by COUNTA even though the cell appears to be blank.
Counting numeric cells
To count only the numeric cells in a range, use the following formula, which assumes that the
range is named Data:
=COUNT(Data)
Cells that contain a date or a time are considered to be numeric cells. Cells that contain a logical
value (TRUE or FALSE) are not considered to be numeric cells.
Counting nontext cells
The following array formula uses Excel’s ISNONTEXT function, which returns TRUE if its argument
refers to any nontext cell (including a blank cell). This formula returns the count of the number of
cells not containing text (including blank cells):
{=SUM(IF(ISNONTEXT(Data),1))}
Counting text cells
To count the number of text cells in a range, you need to use an array formula. The array formula
that follows returns the number of text cells in a range named Data:
{=SUM(IF(ISTEXT(Data),1))}
Chapter 7: Counting and Summing Techniques 187
Counting logical values
The following array formula returns the number of logical values (TRUE or FALSE) in a range
named Data:
{=SUM(IF(ISLOGICAL(Data),1))}
Counting error values in a range
Excel has three functions that help you determine whether a cell contains an error value:
􀁨 ISERROR: Returns TRUE if the cell contains any error value (#N/A, #VALUE!, #REF!,
#DIV/0!, #NUM!, #NAME?, or #NULL!)
􀁨 ISERR: Returns TRUE if the cell contains any error value except #N/A
􀁨 ISNA: Returns TRUE if the cell contains the #N/A error value
Notice that the #N/A error value is treated separately. In most cases, #N/A is not a
“real” error. #N/A is often used as a placeholder for missing data. You can enter the
#N/A error value directly or use the NA function:
=NA()
You can use these functions in an array formula to count the number of error values in a range.
The following array formula, for example, returns the total number of error values in a range
named Data:
{=SUM(IF(ISERROR(Data),1))}
Depending on your needs, you can use the ISERR or ISNA function in place of ISERROR.
If you would like to count specific types of errors, you can use the COUNTIF function. The following
formula, for example, returns the number of #DIV/0! error values in the range named Data:
=COUNTIF(Data,”#DIV/0!”)
Advanced Counting Formulas
Most of the basic examples I presented previously use functions or formulas that perform conditional
counting. The advanced counting formulas that I present here represent more complex
examples for counting worksheet cells, based on various types of selection criteria.
188 Part II: Using Functions in Your Formulas
Counting cells with the COUNTIF function
Excel’s COUNTIF function is useful for single-criterion counting formulas. The COUNTIF function
takes two arguments:
􀁨 range: The range that contains the values that determine whether to include a particular
cell in the count
􀁨 criteria: The logical criteria that determine whether to include a particular cell in the
count
Table 7-2 contains several examples of formulas that use the COUNTIF function. These formulas all
work with a range named Data. As you can see, the criteria argument proves quite flexible. You
can use constants, expressions, functions, cell references, and even wildcard characters (* and ?).
Table 7-2: Examples of Formulas Using the COUNTIF Function
=COUNTIF(Data,12) Returns the number of cells containing the value 12
=COUNTIF(Data,”<0”) Returns the number of cells containing a negative value
=COUNTIF(Data,”<>0”) Returns the number of cells not equal to 0
=COUNTIF(Data,”>5”) Returns the number of cells greater than 5
=COUNTIF(Data,A1) Returns the number of cells equal to the contents of cell A1
=COUNTIF(Data,”>”&A1) Returns the number of cells greater than the value in cell A1
=COUNTIF(Data,”*”) Returns the number of cells containing text
=COUNTIF(Data,”???”) Returns the number of text cells containing exactly three characters
=COUNTIF(Data,”budget”) Returns the number of cells containing the single word budget and
nothing else (not case sensitive)
=COUNTIF(Data,”*budget*”) Returns the number of cells containing the text budget anywhere
within the text
=COUNTIF(Data,”A*”) Returns the number of cells containing text that begins with the letter
A (not case sensitive)
=COUNTIF(Data,TODAY()) Returns the number of cells containing the current date
=COUNTIF(Data,”>”&AVERAGE
(Data))
Returns the number of cells with a value greater than the average
=COUNTIF(Data,”>”&AVERAGE
(Data)+STDEV(Data)*3)
Returns the number of values exceeding three standard deviations
above the mean
=COUNTIF(Data,3)+COUNTIF
(Data,-3)
Returns the number of cells containing the value 3 or –3
=COUNTIF(Data,TRUE) Returns the number of cells containing logical TRUE
=COUNTIF(Data,TRUE)+COUNTIF
(Data,FALSE)
Returns the number of cells containing a logical value (TRUE or
FALSE)
=COUNTIF(Data,”#N/A”) Returns the number of cells containing the #N/A error value
Chapter 7: Counting and Summing Techniques 189
Counting cells that meet multiple criteria
In many cases, your counting formula will need to count cells only if two or more criteria are met.
These criteria can be based on the cells that are being counted or based on a range of corresponding
cells.
Figure 7-2 shows a simple worksheet that I use for the examples in this section. This sheet shows
sales figures (Amount) categorized by Month, SalesRep, and Type. The worksheet contains
named ranges that correspond to the labels in row 1.
Figure 7-2: This worksheet demonstrates various counting techniques that use multiple criteria.
The workbook multiple criteria counting.xlsx is available on the companion
CD-ROM.
Several of the examples in this section use the COUNTIFS function, which was introduced
in Excel 2007. I also present alternative versions of the formulas, which you
should use if you plan to share your workbook with others who use an earlier version of
Excel.
Using And criteria
An And criterion counts cells if all specified conditions are met. A common example is a formula
that counts the number of values that fall within a numerical range. For example, you may want
to count cells that contain a value greater than 100 and less than or equal to 200. For this example,
the COUNTIFS function will do the job:
=COUNTIFS(Amount,”>100”,Amount,”<=200”)
190 Part II: Using Functions in Your Formulas
The COUNTIFS function accepts any number of paired arguments. The first member of the pair is
the range to be counted (in this case, the range named Amount); the second member of the pair
is the criterion. The example above contains two sets of paired arguments and returns the number
of cells in which Amount is greater than 100 and less than or equal to 200.
Prior to Excel 2007, you would need to use a formula like this:
=COUNTIF(Amount,”>100”)-COUNTIF(Amount,”>200”)
This formula counts the number of values that are greater than 100 and then subtracts the number
of values that are greater than 200. The result is the number of cells that contain a value
greater than 100 and less than or equal to 200.
Creating this type of formula can be confusing because the formula refers to a condition “>200”
even though the goal is to count values that are less than or equal to 200. An alternate technique
is to use an array formula, such as the one that follows. You may find creating this type of formula
easier.
{=SUM((Amount>100)*(Amount<=200))}
When you enter an array formula, remember to use Ctrl+Shift+Enter — and don’t type
the brackets.
Sometimes, the counting criteria will be based on cells other than the cells being counted. You
may, for example, want to count the number of sales that meet the following criteria:
􀁨 Month is January, and
􀁨 SalesRep is Brooks, and
􀁨 Amount is greater than 1,000
The following formula returns the number of items that meet all three criteria. Note that the
COUNTIFS function uses three sets of pairs of arguments.
=COUNTIFS(Month,”January”,SalesRep,”Brooks”,Amount,”>1000”)
An alternative formula, which works with versions prior to Excel 2007, uses the SUMPRODUCT
function. The following formula returns the same result as the previous formula:
=SUMPRODUCT((Month=”January”)*(SalesRep=”Brooks”)*(Amount>1000))
Chapter 7: Counting and Summing Techniques 191
Yet another way to perform this count is to use an array formula:
{=SUM((Month=”January”)*(SalesRep=”Brooks”)*(Amount>1000))}
Using Or criteria
To count cells by using an Or criterion, you can sometimes use multiple COUNTIF functions. The
following formula, for example, counts the number of sales made in January or February:
=COUNTIF(Month,”January”)+COUNTIF(Month,”February”)
You can also use the COUNTIF function in an array formula. The following array formula, for
example, returns the same result as the previous formula:
{=SUM(COUNTIF(Month,{“January”,”February”}))}
But if you base your Or criteria on cells other than the cells being counted, the COUNTIF function
won’t work. (Refer to Figure 7-2.) Suppose that you want to count the number of sales that meet
the following criteria:
􀁨 Month is January, or
􀁨 SalesRep is Brooks, or
􀁨 Amount is greater than 1,000
If you attempt to create a formula that uses COUNTIF, some double counting will occur. The solution
is to use an array formula like this:
{=SUM(IF((Month=”January”)+(SalesRep=”Brooks”)+(Amount>1000),1))}
Combining And and Or criteria
In some cases, you may need to combine And and Or criteria when counting. For example, perhaps
you want to count sales that meet the following criteria:
􀁨 Month is January, and
􀁨 SalesRep is Brooks, or SalesRep is Cook
You can add two COUNTIFS functions to get the desired result:
=COUNTIFS(Month,”January”,SalesRep,”Brooks”)+
COUNTIFS(Month,”January”,SalesRep,”Cook”)
192 Part II: Using Functions in Your Formulas
Because you have to repeat the And portion of the criteria in each function’s arguments, using
COUNTIFS can produce long formulas with more criteria. When you have a lot of criteria, it
makes sense to use an array formula, like this one that produces the same result:
{=SUM((Month=”January”)*((SalesRep=”Brooks”)+(SalesRep=”Cook”)))}
Counting the most frequently occurring entry
Excel’s MODE function returns the most frequently occurring value in a range. Figure 7-3 shows a
worksheet with values in range A1:A10 (named Data). The formula that follows returns 10 because
that value appears most frequently in the Data range:
=MODE(Data)
The formula returns an #N/A error if the Data range contains no duplicated values.
Figure 7-3: The MODE function returns the most frequently occurring value in a range.
To count the number of times the most frequently occurring value appears in the range (in other
words, the frequency of the mode), use the following formula:
=COUNTIF(Data,MODE(Data))
This formula returns 5 because the modal value (10) appears five times in the Data range.
The MODE function works only for numeric values, and it ignores cells that contain text. To find
the most frequently occurring text entry in a range, you need to use an array formula.
To count the number of times the most frequently occurring item (text or values) appears in a
range named Data, use the following array formula:
{=MAX(COUNTIF(Data,Data))}
Chapter 7: Counting and Summing Techniques 193
This next array formula operates like the MODE function except that it works with both text and
values:
{=INDEX(Data,MATCH(MAX(COUNTIF(Data,Data)),COUNTIF(Data,Data),0))}
If there is more than one most frequent value, the preceding formula returns only the
first in the list.
Counting the occurrences of specific text
The examples in this section demonstrate various ways to count the occurrences of a character
or text string in a range of cells. Figure 7-4 shows a worksheet that demonstrates these examples.
Various text appears in the range A1:A10 (named Data); cell B1 is named Text.
Figure 7-4: This worksheet demonstrates various ways to count characters in a range.
The companion CD-ROM contains a workbook named counting text in a range.
xlsx that demonstrates the formulas in this section.
Entire cell contents
To count the number of cells containing the contents of the Text cell (and nothing else), you can
use the COUNTIF function. The following formula demonstrates:
=COUNTIF(Data,Text)
For example, if the Text cell contains the string Alpha, the formula returns 2 because two cells in the
Data range contain this text. This formula is not case sensitive, so it counts both Alpha (cell A2) and
alpha (cell A10). Note, however, that it does not count the cell that contains Alpha Beta (cell A8).
The following array formula is similar to the preceding formula, but this one is case sensitive:
{=SUM(IF(EXACT(Data,Text),1))}
194 Part II: Using Functions in Your Formulas
Partial cell contents
To count the number of cells that contain a string that includes the contents of the Text cell, use
this formula:
=COUNTIF(Data,”*”&Text&”*”)
For example, if the Text cell contains the text Alpha, the formula returns 3 because three cells in
the Data range contain the text alpha (cells A2, A8, and A10). Note that the comparison is not
case sensitive.
An alternative is a longer array formula that uses the SEARCH function:
{=SUM(IF(NOT(ISERROR(SEARCH(text,data))),1))}
The SEARCH function returns an error if Text is not found in Data. The preceding formula counts
one for every cell where SEARCH does not find an error. Because SEARCH is not case sensitive,
neither is this formula.
If you need a case-sensitive count, you can use the following array formula:
{=SUM(IF(LEN(Data)-LEN(SUBSTITUTE(Data,Text,””))>0,1))}
If the Text cells contain the text Alpha, the preceding formula returns 2 because the string
appears in two cells (A2 and A8).
Like the SEARCH function, the FIND function returns an error if Text is not found in Data, as in
this alternative array formula:
{=SUM(IF(NOT(ISERROR(FIND(text,data))),1))}
Unlike SEARCH, the FIND function is case sensitive.
Total occurrences in a range
To count the total number of occurrences of a string within a range of cells, use the following
array formula:
{=(SUM(LEN(Data))-SUM(LEN(SUBSTITUTE(Data,Text,””))))/
LEN(Text)}
If the Text cell contains the character B, the formula returns 7 because the range contains seven
instances of the string. This formula is case sensitive.
Chapter 7: Counting and Summing Techniques 195
The following array formula is a modified version that is not case sensitive:
{=(SUM(LEN(Data))-SUM(LEN(SUBSTITUTE(UPPER(Data),
UPPER(Text),””))))/LEN(Text)}
Counting the number of unique values
The following array formula returns the number of unique values in a range named Data:
{=SUM(1/COUNTIF(Data,Data))}
To understand how this formula works, you need a basic understanding of array formulas. (See
Chapter 14 for an introduction to this topic.) In Figure 7-5, range A1:A12 is named Data. Range
C1:C12 contains the following multicell array formula. A single formula was entered into all 12 cells
in the range.
{=COUNTIF(Data,Data)}
Figure 7-5: Using an array formula to count the number of unique values in a range.
You can access the workbook count unique.xlsx shown in Figure 7-5 on the companion
CD-ROM.
The array in range C1:C12 consists of the count of each value in Data. For example, the number
100 appears three times, so each array element that corresponds to a value of 100 in the Data
range has a value of 3.
196 Part II: Using Functions in Your Formulas
Range D1:D12 contains the following array formula:
{=1/C1:C12}
This array consists of each value in the array in range C1:C12, divided into 1. For example, each cell
in the original Data range that contains a 200 has a value of 0.5 in the corresponding cell in
D1:D12.
Summing the range D1:D12 gives the number of unique items in Data. The array formula presented
at the beginning of this section essentially creates the array that occupies D1:D12 and
sums the values.
This formula has a serious limitation: If the range contains any blank cells, it returns an error. The
following array formula solves this problem:
{=SUM(IF(COUNTIF(Data,Data)=0,””,1/COUNTIF(Data,Data)))}
To create an array formula that returns a list of unique items in a range, refer to
Chapter 15.
Creating a frequency distribution
A frequency distribution basically comprises a summary table that shows the frequency of each
value in a range. For example, an instructor may create a frequency distribution of test scores.
The table would show the count of As, Bs, Cs, and so on. Excel provides a number of ways to create
frequency distributions. You can
􀁨 Use the FREQUENCY function.
􀁨 Create your own formulas.
􀁨 Use the Analysis ToolPak add-in.
􀁨 Use a pivot table.
The frequency distribution.xlsx workbook that demonstrates these four techniques
appears on the companion CD-ROM.
The FREQUENCY function
The first method that I discuss uses Excel’s FREQUENCY function. This function always returns an
array, so you must use it in an array formula entered into a multicell range.
Chapter 7: Counting and Summing Techniques 197
Figure 7-6 shows some data in range A1:E25 (named Data). These values range from 1 to 500.
The range G2:G11 contains the bins used for the frequency distribution. Each cell in this bin range
contains the upper limit for the bin. In this case, the bins consist of <=50, 51–100, 101–150, and so
on. See the sidebar, “Creating bins for a frequency distribution,” to discover an easy way to create
a bin range.
Figure 7-6: Creating a frequency distribution for the data in A1:E25.
To create the frequency distribution, select a range of cells that corresponds to the number of
cells in the bin range. Then enter the following array formula:
{=FREQUENCY(Data,G2:G11)}
The array formula enters the count of values in the Data range that fall into each bin. To create a
frequency distribution that consists of percentages, use the following array formula:
{=FREQUENCY(Data,G2:G11)/COUNT(Data)}
Figure 7-7 shows two frequency distributions — one in terms of counts, and one in terms of percentages.
The figure also shows a chart (histogram) created from the frequency distribution.
198 Part II: Using Functions in Your Formulas
Figure 7-7: Frequency distributions created using the FREQUENCY function.
Using formulas to create a frequency distribution
Figure 7-8 shows a worksheet that contains test scores for 50 students in column B. (The range is
named Grades.) Formulas in columns G and H calculate a frequency distribution for letter grades.
The minimum and maximum values for each letter grade appear in columns D and E. For example,
a test score between 80 and 89 (inclusive) qualifies for a B.
Creating bins for a frequency distribution
When creating a frequency distribution, you must first enter the values into the bin range. The
number of bins determines the number of categories in the distribution. Most of the time, each
of these bins will represent an equal range of values.
To create ten evenly spaced bins for values in a range named Data, enter the following array formula
into a range of ten cells in a column:
{=MIN(Data)+(ROW(INDIRECT(“1:10”))*
(MAX(Data)-MIN(Data)+1)/10)-1}
This formula creates ten bins, based on the values in the Data range. The upper bin will always
equal the maximum value in the range.
To create more or fewer bins, use a value other than 10 and enter the array formula into a range
that contains the same number of cells. For example, to create five bins, enter the following
array formula into a five-cell vertical range:
{=MIN(Data)+(ROW(INDIRECT(“1:5”))*(MAX(Data)-MIN(Data)+1)/5)-1}
Chapter 7: Counting and Summing Techniques 199
Figure 7-8: Creating a frequency distribution of test scores.
The formula in cell G2 that follows is an array formula that counts the number of scores that qualify
for an A:
{=SUM((Grades>=D2)*(Grades<=E2))}
You may recognize this formula from a previous section in this chapter. (See “Counting cells that
meet multiple criteria.”) This formula was copied to the four cells below G2.
The formulas in column H calculate the percentage of scores for each letter grade. The formula in
H2, which was copied to the four cells below H2, is
=G2/SUM($G$2:$G$6)
Using the Analysis ToolPak to create a frequency distribution
After you install the Analysis ToolPak add-in, you can use the Histogram option to create a frequency
distribution. Start by entering your bin values in a range. Then choose Data➜Analysis➜
Data Analysis to display the Data Analysis dialog box. Next, select Histogram and click OK. You
should see the Histogram dialog box shown in Figure 7-9.
200 Part II: Using Functions in Your Formulas
Figure 7-9: The Analysis ToolPak’s Histogram dialog box.
Specify the ranges for your data (Input Range), bins (Bin Range), and results (Output Range), and
then select any options. Figure 7-10 shows a frequency distribution (and chart) created with the
Histogram option.
Figure 7-10: A frequency distribution and chart generated by the Analysis ToolPak’s Histogram option.
Note that the frequency distribution consists of values, not formulas. Therefore, if you
make any changes to your input data, you need to rerun the Histogram procedure to
update the results.
Using a pivot table to create a frequency distribution
If your data is in the form of a table, you may prefer to use a pivot table to create a histogram.
Figure 7-11 shows the student grade data summarized in a pivot table. The data bars were added
using conditional formatting.
Chapter 7: Counting and Summing Techniques 201
I cover pivot tables in Chapter 18, and you can learn more about the conditional formatting
data bars in Chapter 19.
Figure 7-11: Using data bars within a pivot table to display a histogram.
Using adjustable bins to create a histogram
Figure 7-12 shows a worksheet with student grades listed in column B (67 students total).
Columns D and E contain formulas that calculate the upper and lower limits for bins, based on
the entry in cell E1 (named BinSize). For example, if BinSize is 10 (as in the figure), then each bin
contains ten scores (1–10, 11–20, and so on).
Is the Analysis ToolPak installed?
To make sure that the Analysis ToolPak add-in is installed, click the Data tab. If the Ribbon displays
the Data Analysis command in the Analysis group, you’re all set. If not, you’ll need to install
the add-in:
1. Choose File➜Options to display the Excel Options dialog box.
2. Click the Add-ins tab on the left.
3. Select Excel Add-Ins from the Manage drop-down list.
4. Click Go to display the Add-Ins dialog box.
5. Place a check mark next to Analysis ToolPak.
6. Click OK.
Note: In the Add-Ins dialog box, you see an additional add-in, Analysis ToolPak - VBA. This addin
is for a programmer, and you don’t need to install it.
202 Part II: Using Functions in Your Formulas
Figure 7-12: The chart displays a histogram; the contents of cell E1 determine the number of categories.
The workbook adjustable bins.xlsx, shown in Figure 7-12, is available on the companion
CD-ROM.
The chart uses two dynamic names in its SERIES formula. You can define the name Categories
with the following formula:
=OFFSET(Sheet1!$E$4,0,0,ROUNDUP(100/BinSize,0))
You can define the name Frequencies with this formula:
=OFFSET(Sheet1!$F$4,0,0,ROUNDUP(100/BinSize,0))
The net effect is that the chart adjusts automatically when you change the BinSize cell.
See Chapter 17 for more about creating a chart that uses dynamic names in its SERIES
formula.
Summing Formulas
The examples in this section demonstrate how to perform common summing tasks by using formulas.
The formulas range from very simple to relatively complex array formulas that compute
sums of cells that match multiple criteria.
Chapter 7: Counting and Summing Techniques 203
Summing all cells in a range
It doesn’t get much simpler than this. The following formula returns the sum of all values in a
range named Data:
=SUM(Data)
The SUM function can take up to 255 arguments. The following formula, for example, returns the
sum of the values in five noncontiguous ranges:
=SUM(A1:A9,C1:C9,E1:E9,G1:G9,I1:I9)
You can use complete rows or columns as an argument for the SUM function. The formula that
follows, for example, returns the sum of all values in column A. If this formula appears in a cell in
column A, it generates a circular reference error.
=SUM(A:A)
The following formula returns the sum of all values on Sheet1. To avoid a circular reference error,
this formula must appear on a sheet other than Sheet1.
=SUM(Sheet1!1:1048576)
The SUM function is very versatile. The arguments can be numerical values, cells, ranges, text
representations of numbers (which are interpreted as values), logical values, array constants, and
even embedded functions. For example, consider the following formula:
=SUM(B1,5,”6”,,SQRT(4),{1,2,3},A1:A5,TRUE)
This formula, which is a perfectly valid formula, contains all the following types of arguments,
listed here in the order of their presentation:
􀁨 A single cell reference
􀁨 A literal value
􀁨 A string that looks like a value
􀁨 A missing argument
􀁨 An expression that uses another function
􀁨 An array constant
204 Part II: Using Functions in Your Formulas
􀁨 A range reference
􀁨 A logical TRUE value
The SUM function is versatile, but it’s also inconsistent when you use logical values
(TRUE or FALSE). Logical values stored in cells are always treated as 0. But logical
TRUE, when used as an argument in the SUM function, is treated as 1.
Computing a cumulative sum
You may want to display a cumulative sum of values in a range — sometimes known as a running
total. Figure 7-13 illustrates a cumulative sum. Column B shows the monthly amounts, and column
C displays the cumulative (year-to-date) totals.
Figure 7-13: Simple formulas in column C display a cumulative sum of the values in column B.
The formula in cell C2 is
=SUM(B$2:B2)
Notice that this formula uses a mixed reference. The first cell in the range reference always refers
to the same row (in this case, row 2). When this formula is copied down the column, the range
argument adjusts such that the sum always starts with row 2 and ends with the current row. For
example, after copying this formula down column C, the formula in cell C8 is
=SUM(B$2:B8)
You can use an IF function to hide the cumulative sums for rows in which data hasn’t been
entered. The following formula, entered in cell C2 and copied down the column, is
=IF(ISBLANK(B2),””,SUM(B$2:B2))
Chapter 7: Counting and Summing Techniques 205
Figure 7-14 shows this formula at work.
Figure 7-14: Using an IF function to hide cumulative sums for missing data.
The workbook cumulative sum.xlsx is available on the companion CD-ROM.
Summing the “top n” values
In some situations, you may need to sum the n largest values in a range — for example, the top
ten values. If your data resides in a table, you can use AutoFiltering to hide all but the top n rows
and then display the sum of the visible data in the table’s Total row.
Another approach is to sort the range in descending order and then use the SUM function with an
argument consisting of the first n values in the sorted range.
A better solution — which doesn’t require a table or sorting — uses an array formula like this one:
{=SUM(LARGE(Data,{1,2,3,4,5,6,7,8,9,10}))}
This formula sums the ten largest values in a range named Data. To sum the ten smallest values,
use the SMALL function instead of the LARGE function:
{=SUM(SMALL(Data,{1,2,3,4,5,6,7,8,9,10}))}
These formulas use an array constant comprising the arguments for the LARGE or SMALL function.
If the value of n for your top-n calculation is large, you may prefer to use the following variation.
This formula returns the sum of the top 30 values in the Data range. You can, of course,
substitute a different value for 30.
{=SUM(LARGE(Data,ROW(INDIRECT(“1:30”))))}
206 Part II: Using Functions in Your Formulas
See Chapter 14 for more information about array constants.
Conditional Sums Using a Single Criterion
Often, you need to calculate a conditional sum. With a conditional sum, values in a range that
meet one or more conditions are included in the sum. This section presents examples of conditional
summing using a single criterion.
The SUMIF function is very useful for single-criterion sum formulas. The SUMIF function takes
three arguments:
􀁨 range: The range containing the values that determine whether to include a particular
cell in the sum.
􀁨 criteria: An expression that determines whether to include a particular cell in the sum.
􀁨 sum_range: Optional. The range that contains the cells that you want to sum. If you omit
this argument, the function uses the range specified in the first argument.
The examples that follow demonstrate the use of the SUMIF function. These formulas are based
on the worksheet shown in Figure 7-15, set up to track invoices. Column F contains a formula that
subtracts the date in column E from the date in column D. A negative number in column F indicates
a past-due payment. The worksheet uses named ranges that correspond to the labels in
row 1. Various summing formulas begin in row 15.
Figure 7-15: A negative value in column F indicates a past-due payment.
All the examples in this section also appear on the companion CD-ROM in the file
named conditional summing.xlsx.
Chapter 7: Counting and Summing Techniques 207
Summing only negative values
The following formula returns the sum of the negative values in column F. In other words, it returns
the total number of past-due days for all invoices. For this worksheet, the formula returns –63.
=SUMIF(Difference,”<0”)
Because you omit the third argument, the second argument (“<0”) applies to the values in the
Difference range.
You can also use the following array formula to sum the negative values in the
Difference range:
{=SUM(IF(Difference<0,Difference))}
You do not need to hard-code the arguments for the SUMIF function into your formula. For
example, you can create a formula such as the following, which gets the criteria argument from
the contents of cell G2:
=SUMIF(Difference,G2)
This formula returns a new result if you change the criteria in cell G2.
Summing values based on a different range
The following formula returns the sum of the past-due invoice amounts (see column C in
Figure 7-15):
=SUMIF(Difference,”<0”,Amount)
This formula uses the values in the Difference range to determine whether the corresponding values
in the Amount range contribute to the sum.
You can also use the following array formula to return the sum of the values in the
Amount range, where the corresponding value in the Difference range is negative:
{=SUM(IF(Difference<0,Amount))}
208 Part II: Using Functions in Your Formulas
Summing values based on a text comparison
The following formula returns the total invoice amounts for the Oregon office:
=SUMIF(Office,”=Oregon”,Amount)
Using the equal sign is optional. The following formula has the same result:
=SUMIF(Office,”Oregon”,Amount)
To sum the invoice amounts for all offices except Oregon, use this formula:
=SUMIF(Office,”<>Oregon”,Amount)
Text comparisons are not case-sensitive.
Summing values based on a date comparison
The following formula returns the total invoice amounts that have a due date after May 1, 2010:
=SUMIF(DateDue,”>=”&DATE(2010,5,1),Amount)
Notice that the second argument for the SUMIF function is an expression. The expression uses
the DATE function, which returns a date. Also, the comparison operator, enclosed in quotation
marks, is concatenated (using the & operator) with the result of the DATE function.
The formula that follows returns the total invoice amounts that have a future due date (including
today):
=SUMIF(DateDue,”>=”&TODAY(),Amount)
Conditional Sums Using Multiple Criteria
The examples in the preceding section all use a single comparison criterion. The examples in this
section involve summing cells based on multiple criteria.
Figure 7-16 shows the sample worksheet again, for your reference. The worksheet also shows the
result of several formulas that demonstrate summing by using multiple criteria.
Chapter 7: Counting and Summing Techniques 209
Figure 7-16: This worksheet demonstrates summing based on multiple criteria.
The SUMIFS function (introduced in Excel 2007) can be used to sum a range when multiple conditions
are met. The first argument of SUMIFS is the range to be summed. The remaining arguments
are 1 to 127 range/criterion pairs that determine which values in the sum range are
included. In the following examples, alternatives to SUMIFS are presented for those workbooks
that are required to work in versions prior to 2007.
Using And criteria
Suppose you want to get a sum of both the invoice amounts that are past due as well as associated
with the Oregon office. In other words, the value in the Amount range will be summed only
if both of the following criteria are met:
􀁨 The corresponding value in the Difference range is negative.
􀁨 The corresponding text in the Office range is Oregon.
The SUMIFS function was designed for just this task:
=SUMIFS(Amount,Difference,”<0”,Office,”Oregon”)
210 Part II: Using Functions in Your Formulas
In SUMIFS, the first argument is the range to be summed. The remaining arguments define the
criteria and come in pairs. Each pair consists of the criteria range followed by the criteria.
For use with earlier versions of Excel, the following array formula also does the job:
{=SUM((Difference<0)*(Office=”Oregon”)*Amount)}
This formula creates two new arrays (in memory):
􀁨 A Boolean array that consists of TRUE if the corresponding Difference value is less than
zero; FALSE otherwise
􀁨 A Boolean array that consists of TRUE if the corresponding Office value equals Oregon;
FALSE otherwise
Multiplying Boolean values result in the following:
TRUE * TRUE = 1
TRUE * FALSE = 0
FALSE * FALSE = 0
Therefore, the corresponding Amount value returns nonzero only if the corresponding values in
the memory arrays are both TRUE. The result produces a sum of the Amount values that meet
the specified criteria.
You may think that you can rewrite the previous array function as follows, using the
SUMPRODUCT function to perform the multiplication and addition:
=SUMPRODUCT((Difference<0),(Office=”Oregon”),Amount)
For some reason, the SUMPRODUCT function does not handle Boolean values properly,
so the formula does not work. The following formula, which multiplies the Boolean values
by 1, does work:
=SUMPRODUCT(1*(Difference<0),1*(Office=”Oregon”),Amount)
Using Or criteria
Suppose you want to get a sum of past-due invoice amounts, or ones associated with the Oregon
office. In other words, the value in the Amount range will be summed if either of the following
criteria is met:
􀁨 The corresponding value in the Difference range is negative.
􀁨 The corresponding text in the Office range is Oregon.
Chapter 7: Counting and Summing Techniques 211
The following array formula does the job:
{=SUM(IF((Office=”Oregon”)+(Difference<0),1,0)*Amount)}
A plus sign (+) joins the conditions; you can include more than two conditions.
Using And and Or criteria
As you might expect, things get a bit tricky when your criteria consists of both And and Or operations.
For example, you may want to sum the values in the Amount range when both of the following
conditions are met:
􀁨 The corresponding value in the Difference range is negative.
􀁨 The corresponding text in the Office range is Oregon or California.
Notice that the second condition actually consists of two conditions, joined with Or. Using multiple
SUMIFS can accomplish this:
=SUMIFS(Amount,Difference,”<0”,Office,”Oregon”)
+SUMIFS(Amount,Difference,”<0”,Office,”California”)
The following array formula also does the trick:
{=SUM((Difference<0)*((Office=”Oregon”)+(Office=”California”))*(Amount))}
212 Part II: Using Functions in Your Formulas
213
8
Using Lookup Functions
In This Chapter
● An introduction to formulas that look up values in a table
● An overview of the worksheet functions used to perform lookups
● Basic lookup formulas
● More sophisticated lookup formulas
This chapter discusses various techniques that you can use to look up a value in a table. Microsoft
Excel has three functions (LOOKUP, VLOOKUP, and HLOOKUP) designed for this task, but you
may find that these functions don’t quite cut it. This chapter provides many lookup examples,
including alternative techniques that go well beyond Excel’s normal lookup capabilities.
What Is a Lookup Formula?
A lookup formula essentially returns a value from a table (in a range) by looking up another value.
A common telephone directory provides a good analogy: If you want to find a person’s telephone
number, you first locate the name (look it up) and then retrieve the corresponding number.
I use the term table to describe a rectangular range of data. The range does not necessarily
need to be an “official” table, as created by Excel’s Insert➜Tables➜Table command.
Figure 8-1 shows a simple worksheet that uses several lookup formulas. This worksheet contains
a table of employee data (named EmpData), beginning in row 7. When you enter a last name into
cell C2, lookup formulas in D2:G2 retrieve the matching information from the table. The following
lookup formulas use the VLOOKUP function:
Cell Formula
D2 =VLOOKUP(B2,EmpData,2,FALSE)
E2 =VLOOKUP(B2,EmpData,3,FALSE)
F2 =VLOOKUP(B2,EmpData,4,FALSE)
G2 =VLOOKUP(B2,EmpData,5,FALSE)
214 Part II: Using Functions in Your Formulas