[ABC home]    [ABC Archives by Issue]   [ABC Archives by Author]  [Search]  [Privacy]

 

ABC Home Page
ABC Home

 

Advertise in ABC

 

Learn more
about
Ray Blake
Ray Blake

Read
Ray's Archives

Ray's Archives

Ray's
Website
Ray's Website, GR Business Process Solutions

 

 

ABC ~ All 'Bout Computers
The Online Web-azine for Computer Enthusiasts
-- brought to you by
Visit Linda's Computer Stop

Holiday Issue
contents page for this issue

 


 Support ABC

 

Linda's Ebooks
Ebooks on Access, Excel, Outlook, PowerPoint, Publisher, and Word

Linda's CD
Order Linda's CD and learn all of the Office programs

The Newbie Club
Learn all about computers the easy way

Online classes
at Eclectic Academy
 Instructor led online courses at Eclectic Academy

My Newest Book
Excel 2003 Study Guide

published by Wiley
get it at Amazon,
at Barnes & Noble,
or at Borders

FrontLook
Add-ins
& Screen Capture

Great FrontPage addins and other software

WinBackup
SpeedUpMyPC
WinTasks5Pro

great Windows utilities


 

 

Excel Performance Analysis the Professional Way
~~Ray Blake, GR Business Process Solutions

Analysing performance data in Excel using array formulae and dynamic range name methods.

The recording and analysis of performance data is the quintessential spreadsheet application. In every company, probably in every department, performance data is collected in Excel. Somewhere there are coneheads and bean counters who then work their magic to analyse these numbers. This article will provide an introduction for us mortals on exactly how they do it. The good news is that we can do it without any VBA or macros at all. 

By ‘performance data’ I mean whatever numbers you use to show your company or department doing business. Usually, this will take the form of transaction data like this: 

sample data in Excel

Ultimately, there will probably be several entries a day to this table, but we’ll use this simplified model for now. Type in the table on a new Excel sheet, exactly as shown. 

We’re going to start by naming some ranges. This will make it a lot easier to work out what’s happening in the various formulae later on, when things get complex. It will also mean we don’t have to keep tinkering with the formulae every time we add new data to the table.  To start with, we’ll define some simple static ranges. Just hit CTRL+F3, and define the following ranges:

Dates =A2:A1000

Customer = B2:B1000

Item = C2:C1000

NoSold = D2:D1000

ItemPrice = E2:E1000

TotalCost = F2:F1000

Tax = G2:G1000 

Let's assume all the totals are based on column D, the number sold. 

I would use either a D-function or an array function to work out weekly and running totals. Here, I'll use arrays for simplicity. Put all these formulae on a different sheet, or over to the right, past column G at any rate. 

The total amount sold to date to a customer called 'Smith' would read: 

=SUMIF(Customer,"Smith",NoSold) 

No arrays yet, but that's a simple one. SUMIF and COUNTIF will work really well on a single condition, but cannot handle multiple conditions.  

Let's narrow it down to the number of items sold to Smith in the last seven days: 

{=SUM(IF(Customer="Smith",IF(Date>=(TODAY()-7),NoSold,0),0))} 

Note that the curly brackets can't be typed in. They denote that you're making this an array function. You get them by typing the rest of the formula, then rather than just pressing ENTER, you hold SHIFT and CTRL down together while pressing ENTER. 

Once you get the hang of this, you can add multiple conditions to have lots of fun! For instance, want to know how many boxes you sold in the first 10 days of any month so far? Easy: 

{=SUM(IF(DAY(Date)<=10,IF(Item="Box",NoSold,0),0))} 

Or what if you wanted to know how much Smith had spent with you just on boxes this year? 

{=SUM(IF(Customer="Smith",IF(Item="Box",IF(YEAR(Date)=YEAR(TODAY()),TotalCost,0),0),0))} 

Now then, remember earlier when we defined the ranges? We set them to look at the first 999 lines only. You might well go beyond this, particularly if you just keep adding data all year. 

What we'll do is go back and change the range definitions so we have dynamic ranges, ones that will automatically stretch to cater for however many lines of data we add as we go. 

CTRL+F3 will get you back to the range names dialog. You need to change the definition for the range called Date to the following: 

=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A$2:$A$60000),1) 

So long as you don't go over 60,000 lines of data, this will keep the range properly defined for you. Now do the same thing for the other named ranges; all you have to change are the column letters each time. 

The analysis of performance data is very much what Excel was designed to do. A little persistence with these two tools of array formulae and dynamic range names will enable any Excel user to conduct sophisticated and powerful analysis with ease.

<<<back to contents

Ray Blake lives in England and spent 15 years training people in the financial services industry there. He had always used PCs in his work, and gradually realized he might make a career out of them. He and his business partner set up GR Business Process Solutions (www.grbps.com) which specializes in innovative IT to support knowledge testing and skills assessment. Although he spends a lot of time these days developing in VB and Access, Excel remains his favorite development tool, because, as he says, 'It can do everything; there's no computer application you can think of that you couldn't develop in Excel.'

Privacy Policy, Disclaimer, and Legal Stuff

This page was last updated on Monday, December 31, 2007 . copyright © 2000 - 2008, Linda F. Johnson, Linda's Computer Stop, ABC ~ All 'Bout Computers. All rights reserved.

[SEARCH THIS SITE]