Spreadsheets Start Here

A gentle introduction to the world of spreadsheets. We show you what to look for.

Volume 2

Number 3

May 1984

Beginners' guide to spreadsheets

Do cells and replication head you for a padded cell? All is not lost, suss them out with DAVID BROWN

ONCE upon a time in the days of yore when personal computers had only just been invented (this is around 1974), two men working at NASA ... please note before going any further that this story is apocryphal and may very well bear no relation to the truth whatsoever ... two men working at NASA thought up a rather good idea.

They realised that this idea could best be exploited using personal computers. So, in the now familiar manner of capitalistic entrepreneurs, they set out on their own in order to market their newly discovered idea and thereby to make their fortune.

The idea came to fruition as Visicalc, the program renowned for selling more Apple microcomputers than any other product and which spawned the now highly acclaimed Visicorp Corporation.

Visicalc was the first spreadsheet program and it made them their fortune. It was the embodiment of an idea which was so simple and in the end so useful that the reason why nobody thought of it before has never ceased to be a source of wonder.

To understand the principle behind any spreadsheet program it is necessary to imagine a huge sheet of paper marked out into squares by a large number of columns running vertically and a large number of rows running horizontally.

Any one of these squares — normally known as cells, boxes or slots — thus created can then be uniquely identified by giving a reference to the column and to the row in which it lies.

Normally the columns are referred to by letters, the leftmost column being denoted as column A, the one to the right of that column B and so on all the way to Z.

After the twenty-sixth column they may be referred to by combinations of letters such as AA, AB, AC, BA, BB, BC, etc. Rows are referred to by numbers from row 1 at the top, followed by row 2 and row 3, and so on.

You would then refer to the cell in the top left hand corner of your imaginary piece of paper as cell A1 and the one three columns to the right and four rows down from this as cell D5.

A spreadsheet program simulates such a piece of paper internally and allows one to interact with it, writing into the cells one of three things - either a label (that is, just a piece of text), a value (a straightforward number such as 103.45) or (and this is where the whole power of the spreadsheet lies) a formula which uses values in cells from other parts of the piece of paper.

As a very simple example of this, let us imagine that we wish to compute a profits figure which is obtained by subtracting a costs figure from a sales figure.

Into three cells underneath each other we would put three labels — one for sales, one for costs and one for profits. These simply serve to keep track of which figures mean what.

Next door to the sales label we would put a figure, such as 200. Similarly, beside the costs label we would put a figure, say 95.

Underneath the costs figure and next door to the profits label we would put a formula. This might be +B1-B2, which would mean: "Take the value found in cell Bl and subtract from it the value found in the cell B2".

Assuming that these two cells hold the corresponding figures for sales and costs the result of this computation would be 105. This is the number that would then be displayed when the sheet of paper is viewed. It might look like this:

Spreadsheets-1.jpg

It should be stressed here that there are therefore two pieces of information concerned with a cell which holds a formula. The first of these is the formula itself - in the case described this is +B1-B2. The second is the number which is the result of evaluating this formula.

When looking at a spreadsheet all numbers look the same, whether they are values entered directly - that is, the raw data - or the result of some calculations.

It is only by looking at the entry for a particular cell that you can determine the origin of the number displayed in that cell.

As the example now stands we can see at a glance that the sales were 200, the costs were 95 and that, not surprisingly, the profits were 105.

If then we discover that our figure for costs was wrong and it was, in fact, 108 not 95, we could simply change the value corresponding to costs to the required value.

The value of the profits cell would then automatically change from 105 to 92.

Let us extend the principle of this example and imagine that these three figures are, in fact, those for a particular month and that, in their turn, they affect quarterly and yearly figures.

It is not difficult to see that a change to one figure which was wrongly copied might have extremely irritating repercussions if the calculations were being done by hand.

All totals which depended on that figure would have to be laboriously re-calculated using a calculator, a rubber and a distinctly unimpressed human.

Spreadsheets have found their use in two major areas.

The first is in doing calculations which involve large numbers of figures which need to be tabulated, added, subtracted, totalled and generally mutilated in other varied and interesting numerical ways.

The second area in which they have been found to be extremely useful is in playing "What if . . .?" games.

Spreadsheet layouts can easily be used to answer questions such as: "What is my total payment on a TV set if I enter a hire purchase agreement with a down payment of £200, at an interest rate of 15 per cent over three years, and what if I were only to make a down payment of £150 . . .?"

Financial managers have spent many happy hours using spreadsheets as tools to answer more difficult questions along the same lines.

In order for a program to be considered a spreadsheet it must exhibit a number of basic abilities. First it must enable the user to view a section of the sheet on the screen.

Moving around the screen, inspecting and updating cells, erasing their contents, moving directly to particular cells - all these are functions which are used constantly and must therefore be simple and uncomplicated.

No hunting for the right function keys, changing direction before moving, and so on.

Replication is another primary function. This enables a formula to be repeated many times along a row or a column.

For example, this means that a formula which adds up the column of figures above it and then multiplies the result of this by a constant factor need not be entered more than once despite the fact that it may be needed 12 times.

Replication is used a great deal, even in simple sheets, and it must be powerful and at the same time easy to use.

It is imperative that the sheet has some reasonable number crunching facilities as well as the normal arithmetic functions.

A spreadsheet program would be pretty useless without some ability to provide totals, averages, maximums, minimums, statistical and circular functions.

It is perhaps unnecessary to point out that such facilities would be useless without both the ability to save and restore sheets from tape or disc and also to take a hard copy by printing out some or all of the sheet.

With this basic repertoire the spreadsheet would have the same power as a good programmable calculator, with all the advantages of a screen display and backing store.

However since Visicalc was first produced there has been an ever-increasing demand for spreadsheet programs to have more and more facilities for doing more and more spectacular and more complicated things.

It is not unreasonable to expect a spreadsheet program to provide a little more than the basics. Some of the nicer features might include the following:

• Facility for editing entries (to prevent the need for re-typing large formulas).

• Conditional statement, allowing for a variety of calculations to be done depending on data entered.

• Ability to insert, delete and move rows and columns automatically.

• Facility for moving the cursor to an adjacent cell after entering a piece of data (useful when entering large columns of figures).

• Facility to specify the format of the data displayed in a cell (whether text is left or right justified, how many decimal places to be displayed, etc) both for the whole sheet and for an individual cell.

• Underline facility.

• Facility for splitting the screen into a number of separate "windows", so that one can simultaneously view different parts of the sheet.

• Variable column width applicable both throughout the sheet and to individual columns.

• Choice of whether re-calculation of the whole sheet is done whenever a piece of data is entered, or only when specifically requested.

• Choice as to the direction of recalculation — which cells are worked out before which others.

• Facility for reading and writing individual cell entries from random access files, enabling sheets to be set up as templates for different data which can then be captured using, say Basic programs.

• Facility for merging different sheets together.

• Facility for using the colour capabilities of the computer, a feature which seems to be sadly lacking from a great many "serious" programs.

A spreadsheet incorporating all these advanced facilities would make a very powerful package indeed. However, it is rare to find such a program. Designers of spreadsheet programs tend to emphasise some points and not others.

It is also true to say more features add to the price of a package. One tends to get what one pays for.

The choice of which spreadsheet program to buy must depend, for the most part, on the uses to which it will be put.

Buying a program which has only a minimum of functions is probably good enough for applications at home. Business applications, on the other hand, will undoubtedly require more sophistication.

It is important to have a demonstration and a thorough perusal of the documentation of any package before buying. If necessary spend a long time actually reading the manuals before buying a product.

Avoid buying a package from any retail outlet which is unwilling to let you play with a product before buying it.

My preference is to go for programs supplied in ROM. Not only are they always on hand when needed but, particularly for tape users, the hassle of loading a program can be more bother than it is worth.

It also seems a shame to waste valuable RAM space on intransient programs when Basic is lying idle.

Does anyone else find it strange that there are so few packages available in ROM? — I mean why on earth is the language Lisp being sold on tape?

It is worth pausing briefly to consider the future of the BBC Micro as a machine for serious applications such as spreadsheets and relational database management systems.

Packages of this kind produced so far have not been of a very high standard, particularly when compared to those available on CP/M machines of similar price to the BBC Micro.

It is a shame that Acornsoft, the company with the most credibility among software buyers, does not encourage the production of high quality applications programs by approving and commissioning software more readily than it does.

If the British Broadcasting Corporation's micro is to survive in the business market, software of a much higher standard than that which has emerged so far will have to be produced very soon.