@database "EasyCalc OnLine Help System" Copyright (c) 1992-5 Andrew Woods All Rights Reserved. @master EasyCalc.guide @node main "MAIN MENU" Welcome to EasyCalc Version 2.0 (MARCH/APRIL 1995) Program Copyright (c) 1995 Andrew Woods Please pick a topic to get some help on: @{" Entering data " link enter} - Creating cells @{" Pulldown Menus " link pdown} - Those menus in full @{" Cell Functions " link main2} - Complete list of all cell functions @{" Maths Operators " link ops} - Available maths operators @{" Icon Bar Functions " link icons} - The icon bar @{" AREXX Interface " link rexx} - Some Arexx information @{" Tooltypes " link tools} - EasyCalc 2.0 Tooltypes @{" Tutorial " link tutor} - Create your first worksheet @{" Drawing Graphs " link echart} - Creating pretty pictures @{" Resizing Columns " link res} - Different column sizes @{" EasyCalc User Support " link support} - Getting more help @{" INDEX TO HELP " link tindex} - Complete index to this guide @endnode @node pdown "PULLDOWN MENUS REFERENCE" @{" Project Menu " link menu1} - File and Printing functions @{" Edit Menu " link menu2} - Blocks and Import/Export functions @{" Options Menu " link menu3} - Program options @{" Environment Menu " link menu4} - Screen mode and palette @{" Graphs Menu " link menu5} - Graphing options @endnode @node menu1 "PROJECT MENU REFERENCE" @{" New Worksheet " link proj1} - Open new project @{" Open Worksheet " link proj2} - Read in saved worksheet @{" Open View " link proj3} - Open a new window on a worksheet @{" Save Worksheet " link proj4} - Store a worksheet to disk @{" Print " link proj5} - Print out a worksheet @{" About EasyCalc " link proj6} - Copyright information @{" Information " link proj8} - Project information @{" Quit " link proj9} - Quit EasyCalc @endnode @node proj1 "NEW WORKSHEET OPTION" Opens a new worksheet window. This worksheet is totally independant from the previous one and allows you to work with more than one worksheet at a time. @endnode @node proj2 "OPEN WORKSHEET OPTION" Brings up the file requester for you to choose a worksheet to load in. The worksheet will replace the one you are already working on. @endnode @node proj3 "OPEN VIEW OPTION" Opens a new window on this worksheet so you can view more than one part of it at the same time. @endnode @node proj4 "SAVE WORKSHEET OPTION" Brings up a file requester for you to choose the filename to save the worksheet as. @endnode @node proj5 "PRINT OPTION" A requester with four options appears. These are: Entire Worksheet - Print EVERYTHING. Current Block - Print currently marked block. Last Block - Print the last block printed. Screen Area - Print everything visible in the window. Printer Help 1) If blank lines start appearing in your printout then change the right margin to a much bigger number in the WB Printer Preferences or change the Print Size to ELITE or CONDENSED. Also make sure the Preferences are set to continuous paper, otherwise page feeds will appear. 2) £ not appearing properly could be because you are using the wrong printer driver. If you are booted from the EasyCalc 2.0 disk, then the GENERIC driver will be used which will cause £ to appear as #. Simply switch to the correct printer driver. 3) The size of the printout is dictated by the Print Size option. To change the print quality you need to use the Preferences tool. @endnode @node proj6 "ABOUT EASYCALC OPTION" Displays some copyright information and tells you the name of the program in case you have forgotten. Also the version number is displayed (the V2.0a part), which you should quote in all your correspondance. @endnode @node proj8 "INFORMATION OPTION" Displays the Information requester, which allows you to view (and edit) several important attributes of your worksheet: Worksheet Name - Obvious this one Author - Who created the worksheet Comments - Any important comments Revision - How many times the worksheet has been saved Password - For confidential data Use Password - Controls whether the password is required on loading @endnode @node proj9 "QUIT OPTION" Asks if you are sure you want to quit, and if you answer YES then EasyCalc 2.0 will go away. If you have any unsaved work, EasyCalc 2.0 will tell you about this before quitting. @endnode @node menu2 "EDIT MENU REFERENCE" @{" Cut " link edit1} - Cut a block out of the worksheet @{" Copy " link edit2} - Copy a block (leaving the original untouched) @{" Paste " link edit3} - Paste a stored block into the worksheet @{" Delete " link edit4} - Delete a range @{" Fill " link edit5} - Fill a range @{" Column " link edit6} - Insert/Delete columns @{" Row " link edit7} - Insert/Delete rows @{" Precision " link edit8} - Set the precision of a range @{" Colour " link edit9} - Set the colours of a range @{" Justify " link edit10} - Justify a range @{" Style " link edit11} - Set the style of a range @{" Lock/Unlock " link edit12} - Lock/Unlock a range @{" Export " link edit13} - Export a range of cells @{" Import " link edit14} - Import some data @endnode @node edit1 "CUT OPTION" The currently marked range of cells is cut from the worksheet into a seperate memory buffer. @endnode @node edit2 "COPY OPTION" The currently marked range of cells is copied into a memory buffer leaving the original range unharmed. @endnode @node edit3 "PASTE OPTIONS" Any block stored in memory is pasted back into the worksheet (overwriting any cells that may already be there). There are two types of paste: RELATIVE - Any formulae with cell references are recalculated so that they remain valid and point to the correct cell after pasting. Any cell references that are prefixed with a '$' symbol will not be changed. ABSOLUTE - All cell references are left unchanged. @endnode @node edit4 "DELETE OPTION" Deletes all the cells in the currently marked range of cells. @endnode @node edit5 "FILL OPTION" Brings up the Fill requester. This is used for quickly filling a range with identical, or sequential numerical data. This request contains the following gadgets: Start Number - controls the initial value for the first cell to be filled. Operation - gives you a choice of Add, Subtract, Multiply and Divide. Operand - the value that is applied to Start Number using Operation. Examples Start Number = 1, Operation = Add, Operand = 1 Fills the range with a simple ascending sequence starting at one, and adding one every cell that is filled. Start Number = 1, Operation = Multiply, Operand = 2 Fills the range with the powers of two eg. 1, 2, 4, 8, 16, 32, 64 etc @endnode @node edit6 "COLUMN OPTIONS" INSERT - Inserts a column at the current cursor position. DELETE - Deletes the column at the current cursor position. All cell references are updated to keep any formulae valid. @endnode @node edit7 "ROW OPTIONS" INSERT - Inserts a row at the current cursor position. DELETE - Deletes the row at the current cursor position. All cell references are updated to keep any formulae valid. @endnode @node edit8 "PRECISION OPTION" A requester appears asking you how many decimal places you want to display in the current range. EasyCalc 2.0 supports anything from 2 to 14 places. @endnode @node edit9 "COLOUR OPTIONS" Controls the colour of cells in the marked range. There are two options: SET TEXT - The colour of any text in the range. SET BACKGROUND - The background colour of each cell in the range. @endnode @node edit10 "JUSTIFY OPTIONS" Controls whether cells are justified or not. There are three available options: LEFT - Cell contents are aligned with the left side of the cell. RIGHT - Cell contents are aligned with the right side of the cell. CENTRE - Cell contents are centred within the cell. @endnode @node edit11 "STYLE OPTIONS" Controls the text style for each cell in the range. There are four options: BOLD - Whether text is in bold or not. ITALIC - Whether text is in italics or not. UNDERLINE - Whether text is underlined or not. PLAIN - Cancels all of the above. @endnode @node edit12 "LOCK/UNLOCK OPTION" This option allows to you lock a range a cells to prevent them from being edited or overwritten. The lock does NOT protect them from being overwritten by a block being pasted, or by Arexx changing them. If you chose this option for a range that is already locked, then they will be unlocked so you can edit them again. @endnode @node edit13 "EXPORT OPTIONS" This submenu allows you to export data to other programs in one of four formats: CELL CONTENTS - The contents of the cells are exported in CSV (comma seperated values) using quotes and commas as delimeters. FORMULAS - The formulas in cells are exported in CSV format. LISTING - A listing (one cell per line) is generated containing enough information to recreate the worksheet in any other spreadsheet (if all else fails). CLIPBOARD - The block is copied to the clipboard in IFF FTXT format for importing into any other Amiga clipboard-aware software. @endnode @node edit14 "IMPORT OPTIONS" This submenu allows you to import data from other sources. Currently, there are four options available: PARSING - Text is intelligently read in and split up into components. An example. "There are 45 donkeys here" would become: .......A.......B.......C..........D.......E There area 45 donkeys here TEXT - Text is read in one line at a time and each line becomes one cell. LOTUS WKS - Allows partial importing of Lotus WKS files. I've tried my best to figure out the WKS format without much success. At present only cells with text can be read into EasyCalc 2.0, the rest are ignored. In Lotus you could convert all cells into text, import, then convert them back again in EasyCalc 2.0. If anyone out there has the file format, please get in touch so I can finish this one off. CLIPBOARD - Imports IFF FTXT data from the clipboard. Basically, any data that any other Amiga clipboard-aware program can send. @endnode @node menu3 "OPTIONS MENU REFERENCE" @{" Exact Size Copies " link opt1} - Controls how blocks are pasted @{" AutoSave " link opt2} - Timed reminder to save @{" AutoMove " link opt3} - Move the cursor after each cell is entered @{" Recalc Order " link opt4} - The order cells are calculated in @{" AutoRecalc " link opt5} - When to recalculate the worksheet @{" Recalc Now " link opt6} - Recalculate right now! @{" Iterations " link opt7} - How many times to recalculate @{" Grid " link opt8} - Pretty grid @{" Bookmarks " link opt9} - Remember/Retrieve position @{" Print Size " link opt10} - How big to print @{" Cell Notes " link opt12} - Give cells handy help texts @{" Cell Names " link opt13} - Give cells handy mnemonics @{" Macros " link opt14} - View/Execute Arexx scripts @{" Save Options " link opt15} - Store global settings @endnode @node opt1 "EXACT SIZE COPIES OPTION" If this option is checked then when you paste a block, it a copied back to the worksheet, EXACTLY the same size as it was when it was cut. Even if you mark one cell, if the block was sixty cells, then all sixty cells will be filled. This option makes EasyCalc 2.0 more consistent with other spreadsheets. If the option is unchecked, then block is shrunk, or enlarged to fill the marked area -- regardless of how big the original block was. This is generally much more useful than having exact size copies. However, this option allows you to control this behaviour to get the best of both worlds. @endnode @node opt2 "AUTOSAVE OPTION" If checked then EasyCalc 2.0 will display a message reminding you to save periodically. The exact time interval (in seconds) is set with the AUTOSAVETIME @{"tooltype" link tools}. By default it is set to eight minutes. @endnode @node opt3 "AUTOMOVE OPTIONS" You have a choice of UP, DOWN, LEFT, RIGHT or NONE. Depending on which direction is checked, the cursor will automatically move one cell in your chosen direction when data is entered. Obviously, if NONE is checked, then EasyCalc 2.0 will not move anything for you. @endnode @node opt4 "RECALC ORDER OPTIONS" When a recalculation of the entire worksheet is done, all the cells are processed one at a time in a certain order. If you have forward references or similar you can run into problems unless this is set correctly. AS ENTERED - The fastest option (and the default) calculates cells in the order they were entered into the worksheet. ROWS - Each row is evaluated in turn. COLUMNS - Each column is evalulated in turn. @endnode @node opt5 "AUTORECALC OPTION" If this option is checked, then the entire worksheet is recalculated after every cell is entered or changed. On a large complicated worksheet, this could take some time (especially on slower machines of course) so it is useful to switch this option off when entering large numbers of cells, then evaluate them all at the end. @endnode @node opt6 "RECALC NOW OPTION" Completely re-evaluates the entire worksheet, updating all the cell values. @endnode @node opt7 "ITERATIONS OPTION" Controls how many times a worksheet needs to be evaluated during a recalc operation. Normally, one is enough, but if you use lots of forward references, then this will have to be increased. The exact number depends on the individual worksheet. Obviously, if you set this to a large number, recalc operations will take a long time. @endnode @node opt8 "GRID OPTION" If this option is checked, then a pretty grid will be drawn over the worksheet area. @endnode @node opt9 "BOOKMARK OPTIONS" EasyCalc supports five bookmarks. A bookmark is a handy way to remember the position of the cursor until a later date, then at a later date jump back to the position at the press of a key. Set X - Stores the current cursor position in bookmark X. Goto X - Jumps to the stored bookmark position X. @endnode @node opt10 "PRINT SIZE OPTIONS" This option lets you change how wide each character is when printed. You have three choices: PICA - Normal size ELITE - A bit smaller CONDENSED - Smaller still @endnode @node opt12 "CELL NOTES OPTIONS" Introduction Cell notes are handy messages you can attach to any cell on the worksheet. If you press HELP while the cursor is over a cell which contains a note, the help text is displayed. There are three options: DEFINE - Allows you to enter a cell note for the current cell. EDIT - Allows you to edit an existing cell note. REMOVE - Removes a note attached to a cell. @endnode @node opt13 "CELL NAMES OPTIONS" Introduction EasyCalc allows you to give individual cells a logical name, which can be referenced by cell formula. Cell names are highly recommended, because unlike a cell address it doesn't matter if the cell needs to be moved. There are three options: DEFINE - Allows you to enter a name for the current cell. EDIT - Allows you to edit the name of the current cell. REMOVE - Removes a cell name. EasyCalc 2.0 has two cell names built in which are available all the time, without defining anything. These are: #ITERATIONS - Returns the number of @{"iterations" link opt7} being used. #CUR_ITERATION - Returns the current iteration, (from 1 to x) where x is the number of iterations set. Notes Other built in names may be added in the future, please note that if you have a cell with one of the names above, your cell will be ignored, and the built in name will be used. If you reference a cell name that does not exist then the evaluater will use 0 as the result (ie. no error message will appear). @endnode @node opt14 "MACROS OPTIONS" Introduction EasyCalc 2.0 has over 60 Arexx commands available, this submenu allows you to first view an Arexx script and then execute it. The two options are: VIEW - Allows you to select a file and view it's contents. This can be any text file (although it is designed for Arexx files). The files is displayed in a scrolling list, but can't be edited. If part of it is missing, then you are short of memory. EXECUTE - Allows you to choose an EasyCalc Arexx file and start it executing. When it is finished a requester will appear telling you if the file was executed successfully. Much more information on Arexx can be found in EasyRexx.doc @endnode @node opt15 "SAVE OPTIONS" This option stores the following attributes to disk so that they are set every time EasyCalc 2.0 is invoked: EXACT SIZE COPIES AUTOSAVE AUTOMOVE RECALC ORDER AUTORECALC GRID PRINT SIZE The following are stored for each worksheet and can be set independantly: BOOKMARKS ITERATIONS @endnode @node menu4 "ENVIRONMENT MENU REFERENCE" @{" Windows " link env1} - Control window position @{" Screen Mode " link env2} - Change screen mode @{" Palette " link env3} - Edit the palette @{" Save Screen/Palette " link env4} - Save the above for next time @endnode @node env1 "WINDOWS OPTIONS" This submenu contains three options to make dealing with multiple windows easier: CASCADE - Each window is postioned underneath each other allowing access to all the window title bars to bring any window to the front easily. MINIMISE - Each window is reduced to its smallest size, and then cascaded as above. ACTIVATE NEXT - The next window opened is activated. Repeated selecting of this option will allow you to cycle through all the windows without touching your mouse. @endnode @node env2 "SCREEN MODE OPTIONS" This brings up a screen mode requester so you can change what screen mode and how many colours you want on the EasyCalc 2.0 screen. Upon confirming the changes, EasyCalc 2.0 will close everything, then reopen everything in the new screen mode. Notes: It is advisable to keep the number of colours as low as possible (certainly no more than 8) otherwise EasyCalc 2.0 will slow down considerably. Also SuperHires screen modes will also slow things down a hell of a lot. @endnode @node env3 "PALETTE OPTIONS" This submenu hides two options: EDIT - Allows you to change the colour scheme of EasyCalc 2.0 to anything you want. RESET - If you mess up the colours, you can use this to copy the WB colour scheme. Notes: Every worksheet saves the current palette settings. When you reload a worksheet with a different palette, EasyCalc 2.0 will ask you if you want to change to the new colour scheme. @endnode @node env4 "SAVE SCREEN/PALETTE OPTION" Stores the current screen information (size, resolution and depth) and the current palette settings so that when EasyCalc 2.0 is run again in the future the saved settings will be used instead of the internal defaults. @endnode @node menu5 "GRAPHS MENU REFERENCE" @{" Make Graph " link grf1} @{" View Graph " link grf2} @{" Delete Graph " link grf3} @endnode @node grf1 "MAKE GRAPH OPTION" Choose the menu option "Graphs/Make Graph" and the currently marked block will be made into a graph. A graph MUST have atleast two cells marked, any less and you will get an error message. Your new graph will appear on screen to allow you to play with the options. EasyCalc 2.0 graphs are very simple to use provided you understand how the program generates a graph from your data. Basically, there are four types of blocks you can mark: Type 1: 34.....23.....12 This is a block that just contains numbers so no labels 453....67......3 will be generated for your graph. 4.......3....234 Type 2: Jan...Feb....Mar This will generate labels for each column of graph data. 453....67......3 4.......3....234 Type 3: Fred...23.....12 This will generate labels for row of graph data. Bill...67......3 John....3....234 Type 4: ......Feb....Mar This will generate labels for rows and columns of graph Bill...67......3 data. However notice the top left cell is empty (and John....3....234 unused by the graph). @endnode @node grf2 "VIEW GRAPH OPTION" On the icon bar is an icon that hopefully looks a bit like a graph. (If my artistic ability has failed me then you can find the icon right from the "DEL" icon). Also the "Graphs/View Graph" options has the same affect. Choose this and you will be given a list of all graphs which you have created for this worksheet. Click on any of them and a new screen will be opened for you to play with the graph. All graphs get saved off with the worksheet. @endnode @node grf3 "DELETE GRAPH OPTION" Choosing this option brings up a list of all the graphs for this worksheet. Simply choose the one you want to remove, or CANCEL to leave everything unharmed. @endnode @node echart "DRAWING GRAPHS" Introduction EasyCalc 2.0 has the ability to output your worksheets in a variety of visual formats. Each worksheet you create may have an unlimited number of graphs attached to it. You can only view one at a time, but you can easily change which one you want to view. Also see: @{" MAKE GRAPH OPTION " link grf1} @{" VIEW GRAPH OPTION " link grf2} @{" DELETE GRAPH OPTION " link grf3} Graph Menus (on the Graph Screen, not the EasyCalc 2.0 screen) When a graph is drawn it is on its own screen so its resolution and depth is totally independant from the EasyCalc 2.0 screen. However the default is just to clone the EasyCalc 2.0 screen EXACTLY. Also note that EasyCalc 2.0 is frozen until the graph screen is closed again. The Project Menu "Save as IFF..." Brings up a file requester for you to save the current graph as an IFF ILBM file you can load into any Amiga art package. "Print Graph" Displays a requester allowing you to setup your printer then the graph is printed using your current printer preferences. "Close" Shuts the screen, and returns you to EasyCalc 2.0 proper. The GraphType Menu Allows you to choose one of ten different graph types to display your data. Currently the following are supported: Bar2DVert - Simple, flat vertical bar chart. Bar2DHori - Simple, flat histogram. Bar3DVert - A prettier version of Bar2DVert. BarStacked - A simple, flat stacked bar chart. Pie2D - A simple, flat pie chart. * Pie2DExp - A simple, flat, exploded pie chart. * Pie3D - A prettier version of Pie2D. * Pie3DExp - A prettier version of Pie2DExp. * Line - A line chart. ** Area - An area chart. ** * = Pie charts need row and column labels in the marked block. ** = Line and Area charts need atleast two columns of data. The Options Menu Patterns A check mark denotes whether the graph is rendered with dither patterns or not. Colours A check mark denotes whether the graph is rendered in colour or mono. Grid This hides a sub menu with two options, X and Y. A check mark on each option denotes whether a grid is drawn in that direction. For any pie chart, these are ignored. Set Title Allows you to change the default title of this graph into something more meaningfull. Edit Palette Allows you to control the colours used in the graph. Please note these are not remembered. Screen Modes Allows you to control the number of colours and resolution that your graphs are displayed in. The pie charts look best in a screen mode with square pixels. ie. Hires (unlaced) and SuperHires (laced). @endnode @node rexx "EASYCALC AREXX INTERFACE" Introduction The EasyCalc 2.0 Arexx interface has been greatly enhanced from the EasyCalc Plus version. There are now over sixty commands available. These are described in a seperated document called EasyRexx.doc. @endnode @node support "USER SUPPORT" Register EasyCalc 2.0 and I will give you a lifetime of techical support. However if you are initially stuck while trying to evaluate this program, then drop me a line at the address in the program. OR Email me at this address: awoods@enigmade.demon.co.uk The registered version of EasyCalc 2.0 has the following additional features (amongst others): · 68881 version of the program. · Many more cell functions. · Row and column locking. · Many bug fixes. · Built-in calculator program. · Icon bar editor. @endnode @node tools "SUPPORTED TOOLTYPES" Currently, EasyCalc 2.0 supports the following tooltypes: CURRENCY - This expects a one or two character currency symbol which will be used to display currency format cells correctly. The default is the sign. Example. To get French francs you would have CURRENCY=Fr. EURODATE - Expects either TRUE or FALSE. If TRUE (the default) all date format cells are displayed as DD-MM-YY, otherwise MM-DD-YY is used. SAVEICONS - Expects either TRUE or FALSE. If TRUE then icons are saved with each worksheet, otherwise no icons are saved. AUTOSAVETIME - Expects a number of seconds between autosave notifcations. The default (480) is equivalent to 8 minutes. VAT1 - The first VAT rate to use in the NEWVAT function. VAT2 - The second VAT rate to use in the NEWVAT function. @endnode @node main2 "CELL FUNCTIONS" The following cell functions are available in EasyCalc: @{" @ABS " link abs} - Absolute value @{" @ACOS " link acos} - Arc-cosine @{" @ASIN " link asin} - Arc-sine @{" @ATAN " link atan} - Arc-tangent @{" @AVG " link avg} - Average of range @{" @AVERAGE " link average} - Average of range @{" @CHR " link chr} - Convert ASCII value into character @{" @CINT " link cint} - Round value up or down @{" @COLS " link cols} - Return number of columns in a range @{" @COMPARE " link compare} - Compare two strings @{" @COS " link cos} - Cosine @{" @COSH " link cosh} - Hyperbolic cosine @{" @COUNT " link count} - Count the number of cells in a range @{" @DATE " link date} - Convert a date into numbers @{" @DEG " link deg} - Convert radians to degrees @{" @DIVIDE " link divide} - Protected divide function @{" @EXP " link exp} - Exponent @{" @FALSE " link false} - Always 0 @{" @FIND " link find} - Return position of some text @{" @FIX " link fix} - Truncate a number @{" @IF " link if} - Conditional function @{" @INDEX " link index} - Extract value from a range @{" @INSTR " link instr} - Find text in a string @{" @INT " link int} - Round a number @{" @ISNUM " link isnum} - Check for number cells @{" @ISSTR " link isstr} - Check for string cells @{" @LEFT " link left} - Extract characters from left of string @{" @LENGTH " link leng} - Get the length of a string @{" @LINK " link xlink} - Get a value from another worksheet @{" @LOG10 " link log10} - Base 10 log function @{" @LOG " link log} - Base e log function @{" @LOWER " link lower} - Make a string lowercase. @{" @MAX " link max} - Maximum value in a range @{" @MID " link mid} - Extract characters from middle of string @{" @MIN " link min} - Minimum value in a range @{" @MOD " link mod} - Remainder of a division @{" @NEWVAT " link newvat} - Improved VAT function @{" @NOT " link not} - Logic inverter @{" @NOW " link now} - Current time @{" @ORD " link ord} - ASCII value of character @{" @PI " link pi} - 3.14159... etc @{" @PROPER " link proper} - Make a string look nice @{" @RAD " link rad} - Convert degrees to radians @{" @RAND " link rand} - Random number between 0 and 1 @{" @REPEAT " link repeat} - Repeat a string x times @{" @RIGHT " link right} - Extract rightmost characters @{" @RND " link rnd} - Random number between 0 and x @{" @ROWS " link rows} - Return number of rows in a range @{" @SIGN " link sign} - Get the sign of a number @{" @SIN " link sin} - Sine @{" @SINH " link sinh} - Hyperbolic sine @{" @SQR " link sqr} - Square root @{" @SQRT " link sqr} - Square root @{" @STR " link str} - Convert number into a string @{" @SUM " link sum} - Total of a range @{" @TAN " link tan} - Tangent @{" @TANH " link tanh} - Hyperbolic tangent @{" @TIME " link time} - Convert time into a value @{" @TODAY " link today} - Return todays date @{" @TRUE " link true} - Logical 1 @{" @UPPER " link upper} - Make a string UPPERCASE. @{" @VAL " link val} - Convert string into a number @{" @VAT " link vat} - Get 17.5% of value @endnode @node abs ABS(expression) This function returns the ABSolute value of the expression. ie. The sign of the number is ignored so that all numbers become positive. Examples: VAT(-123.4) would give, 123.4. VAT(10+1) would give, 11. @endnode @node acos ACOS(expression) This function returns the arc-cosine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node asin ASIN(expression) This function returns the arc-sine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node avg AVG(cell range) This function returns the average of all values given in the cell range. Examples: AVG(A1:BB56) could give, 1.52084. AVG(B6:A4) could give, -1.3734. @endnode @node average AVERAGE(cell range) This function returns the average of all values given in the cell range. Examples: AVERAGE(A1:BB56) could give, 1.52084. AVERAGE(B6:A4) could give, -1.3734. @endnode @node compare COMPARE("string2","string2") Compares the two supplied strings. The comparison is not case sensitive (ie. A=a etc); If the strings are the same "1" is returned otherwise a "0" is returned. Examples: COMPARE("fred","ginger") = 0 COMPARE(d45,"reorder") could give 1 @endnode @node atan ATN(expression) or ATAN(expression) This function returns the arctangent of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. Examples: ATN(20) would give, 1.52084. ATN(-5) would give, -1.3734. @endnode @node cint CINT(expression) This converts an expression into an integer by rounding the fractional part. Examples: CINT(1.5) would give 2. CINT(-1.5) would give -2. @endnode @node cos COS(expression) This function returns the cosine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. Examples: COS(0) would give 1. COS(1) would give 0.5403023. @endnode @node cosh COSH(expression) This function returns the hyperbolic cosine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node count COUNT(range) This function returns the number of used cells in a range. Examples: COUNT(A1:A5) could give 3 @endnode @node date DATE(YY,MM,DD) Converts the supplied date into a number of days since 1-Jan-1978. This will appear as a date if the celltype is a @{"date" link "datform"}. Examples: DATE(78,1,1) = 0 @endnode @node deg DEG(expression) This function converts an expression in radians into degrees. Examples: DEG(1) would give 90. @endnode @node exp EXP(expression) This function returns the exponential function of the given expression. Examples: EXP(1) would give 2.718... @endnode @node false FALSE Returns the value 0. This is useful for making logical operations more readable. Examples: FALSE would return 0 @endnode @node true TRUE Returns the value 1. This is useful for making logical operations more readable. Examples: TRUE would return 0 @endnode @node instr INSTR("string1","string2") This function searches for string2 in string1. The search is case insensitive. (ie. A=a); If the string is found then a 1 is returned otherwise a 0 is returned. Examples: INSTR("hello","hell") = 1 INSTR("hello","bye") = 0 @endnode @node leng LENGTH("string") Returns the length of the string. Examples: LENGTH("hello") = 5 LENGTH(b56) could give 23 @endnode @node ord ORD("string") Returns the ASCII value of the first character in the string. Examples: ORD("A") = 65 ORD("0") = 48 @endnode @node val VAL("string") Converts the supplied string into a number. Examples: VAL("45.6") = 45.6 @endnode @node fix FIX(expression) This returns the truncated expression. See the examples for how it differs from @{"INT" link int}. Examples: FIX(1.5) would give 1. FIX(-1.5) would give -1. @endnode @node if IF(expression,true action,false action) This function examines the expression. If the expression is true (in a boolean sense), then the true action is evaluated, else the false action is evaluated. Notes: IF must be in a cell on its own. You can not have 10+IF(5<6,1,0) or similar. However you can use other functions inside IF as normal. Examples: IF(A1<5,1,A1) If the contents of A1 were less than 5 then this would display in the cell, "1", else the contents of A1 would appear. @endnode @node int INT(expression) This removes the fractional part of the expression by always rounding down. Examples: INT(1.5) would give 1. INT(-1.5) would give -2. @endnode @node isnum ISNUM(cell ref) Returns 1 if the cell reference is pointing to a cell that contains a value. Otherwise a 0 is returned. Examples: ISNUM(A5) could give 1. @endnode @node isstr ISSTR(cell ref) Returns 1 if the cell reference is pointing to a cell that contains a string. Otherwise 0 is returned. Examples: ISSTR(A5) could give 1. @endnode @node xlink LINK("worksheet>cell") This function returns the cell value in the specified worksheet. The worksheet must be already in memory (ie. loaded into another window of EasyCalc 2.0). If the worksheet is not loaded, then 0 is returned. Notice the > symbol, this divides the worksheet name from the cell address. Examples: LINK("worksheet1>A5") - would return the contents of cell A5 in worksheet1. LINK("income87>G67") - would return the contents of cell G67 in income87. @endnode @node log LOG(expression) This returns the natural logarithm (base e) of the expression. The expression must be greater than 0. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. If you want the base-10 log then use @{"LOG10" link log10}. Examples: LOG(2) would give 0.30103. @endnode @node log10 LOG10(expression) This returns the logarithm (base 10) of the expression. The expression must be greater than 0. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node max MAX(range) This returns the maximum value in the specified cell range. Examples: MAX(A1:A12) could give 56.7. @endnode @node min MIN(range) This returns the minimum value in the specified cell range. Examples: MIN(A1:A12) could give 56.7. @endnode @node mod MOD(x,y) Returns the remainder (the modulus) of x divided by y. Examples: MOD(10,3) would give 1 (10/3 = 3 remainder 1) @endnode @node not NOT(expression) Performs a binary invert on the expression. Imagine the expression changed into binary (1s and 0s). Every 0 is turned into a 1 and vice versa. Examples: NOT(1) would give 0. @endnode @node now NOW This function returns the number of seconds since last midnight (anything up 86400). If the cell has a type of @{"time" link "timform"} then it will appear as a time in the HH:MM:SS format. This function allows access to the Amigas built in system clock. Examples: NOW could give 45743 @endnode @node pi PI Returns the value 3.14159... (The ratio of a circles diameter to its circumference) Examples: PI would give 3.14159 @endnode @node rad RAD(expression) This function converts an expression in degrees into radians. Examples: RAD(90) would give 1. @endnode @node rnd RND(expression) This function returns a number between 0 and expression. Every time the worksheet is calculated this value will change. Examples: RND(10) could give 5. @endnode @node rand RAND This function returns a number between 0 and 1 (but never 1). Every time the worksheet is calculated this value will change. This function is provided for compatibility with Lotus, AsEasyAs etc. Examples: RAND could give 0.4545452. @endnode @node sign SIGN(expression) This function returns -1 if the expression is negative, 0 if the expression is 0, and +1 if the expression is positive. Examples: SIGN(-5) would give -1. SIGN(2) would give 1. @endnode @node sin SIN(expression) This function returns the sine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. Examples: SIN(1) would give, 0.8414709. @endnode @node sinh SINH(expression) This function returns the hyperbolic-sine of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node sqr SQR(expression) or SQRT(expression) This function returns the square root of the expression. The expression must not be negative. Examples: SQR(49) would give, 7. @endnode @node sqrt SQR(expression) or SQRT(expression) This function returns the square root of the expression. The expression must not be negative. Examples: SQRT(49) would give, 7. @endnode @node sum SUM(range) Returns the total of all cells in the specified range added together. Examples: SUM(A1:B12) - Returns the total of all the cells in the range, A1->B12. VAT(SUM(A1:B12)) - Returns 17.5% of the total of all the cells in the range, A1-B12. (follow that?) @endnode @node tan TAN(expression) This function returns the tangent of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. Examples: TAN(0) would give 0. TAN(1) would give 1.5574077. @endnode @node tanh TANH(expression) This function returns the hyperbolic-tangent of the expression. Note: Trig functions are all specified in radians. If you need to convert between degrees and radians, the functions, @{"RAD" link rad} and @{"DEG" link deg} will help. @endnode @node time TIME(HH,MM,SS) Returns the number of seconds since midnight for displaying in a @{"time" link "timform"} format cell. Examples: TIME(23,59,59)=86400 @endnode @node today TODAY Returns the number of days since 1-Jan-1978 for displaying in a @{"date" link "datform"} format cell. This function allows access to the Amigas built in system clock. Examples TODAY could give 98345. @endnode @node vat VAT(expression) This function returns 17.5% (current UK sales tax) of the expression given. Examples: VAT(100) would give, 17.5. VAT(10+1) would give, 1.925. @endnode @node str STR(expression) This function converts the given numeric expression into a string. Examples: STR(56.7) would give, "56.7" STR(-2345.789" would give,"-2345.789" @endnode @node right RIGHT(string, number of chars) Returns a string that contains the specified number of chars (counting from the right side of the string). Examples: RIGHT("fred",2) would give "ed" RIGHT("john",1) would give "n" @endnode @node proper PROPER(string) Makes a string look nicer by converting the first letter of each word into UPPERCASE and making the rest lowercase. Examples: PROPER("mr fred jones") would become "Mr Fred Jones" @endnode @node mid MID(string, startpos, length) Returns characters from the middle of the string, starting at the . Examples: MID("freddie",2,3) = "red" MID("freddie",4,4) = "ddie" @endnode @node left LEFT(string, length) Returns the specified number of characters from the left side of the string. Examples: LEFT("fred",2) = "fr" LEFT("fred",4) = "fred" @endnode @node find FIND(string to search, string to search for, startpos) Searches (case sensitively) for the specified string, starting at the specified character in the string. If the string cannot be found, 0 is returned, otherwise the position in the string where the text was found is returned. Examples: FIND("freddie","red",1) = 2 FIND("freddie","red",4) = 0 @endnode @node index INDEX(range, x offset, y offset) Returns the cell contents stored at range + x + y. If the cell is empty, 0 is return, otherwise a string or a number will be returned. Examples: INDEX(A1:B5,0,0) would return the contents of A1. INDEX(A1:B5,1,0) would return the contents of B1. INDEX(A1:B5,0,1) would return the contents of A2. @endnode @node repeat REPEAT(string, count) Repeats the specified string, number of times. Examples: REPEAT("fred",4) = "fredfredfredfred" @endnode @node newvat NEWVAT(amount, vat rate) Applies the specified VAT rate to . The VAT rate is either a 1 or a 2 at the moment. By default 1 applies 17.5% to , and 2 applies 8% to . You can change these as VAT rates change using the @{"tooltypes" link tools} VAT1 and VAT2. Examples: NEWVAT(100,1) = 17.5 NEWVAT(100,2) = 8 @endnode @node lower LOWER(string) Converts all characters in the string into lowercase. Example: LOWER("FrEd") = "fred" @endnode @node upper UPPER(string) Converts all characters in the string into uppercase. Example: UPPER("fred") = "FRED" @endnode @node chr CHR(value) Returns a string of one character which is represented by the ASCII . Examples: CHR(65) = "A" CHR(32) = " " @endnode @node divide DIVIDE(expression,divider) Divides the given expression with the supplied divider. This is the same as using the / operator, but protection from divide by zero is added. If divider is 0 then DIVIDE will return 0 otherwise the division is performed. Examples DIVIDE(100,10) = 10 DIVIDE(N2,0) = 0 @endnode @node cols COLS(range) Returns the number of columns in a specified range. Example: COLS(A1:C5) = 3 @endnode @node rows ROWS(range) Returns the number of columns in a specified range. Example: ROWS(A1:C5) = 3 @endnode @node enter "ENTERING DATA" The moment you enter an alpha-numeric character, the spreadsheet enters COMMAND MODE. That is, all the menus are ghosted and everything you type appears at the top of the screen. Keys available in command mode: Left + Right cursor keys - moves left and right. Escape - aborts input and leaves everything unchanged. Return - enters the data. Amiga + X - clears the input. Amiga + Q - undos a string change. HELP - see @{"ONLINE HELP" link online}. In EasyCalc there are three types of cell: · Formula · String Constant · Numeric Constant To denote the type of data you are entering, EasyCalc has the following rules for the first character of the input: Start string with Means ' String (left justified) ^ String (centered) " String (right justified) = Formula A..z String Left justified (' will be added) 0..9 Numeric cell \ String (repeats second character to width of column) - Negative numeric cell In a string, the first character is not displayed. Examples: 'hello - left justified string \- - displays a line of '-' (to fill the whole column) -3 - a numeric cell with -3 is created Go away - left justified string (a ' is added to the start of string) =10+2 - formula is displayed Every cell in EasyCalc has a unique reference which is described by taking the letter from the column at the top of the screen and the row number from the left hand side of the screen. Using the system, the very first cell (in the top left corner) is called A1. The next cell across is B1 and so on. The cell below B1 is called B2 etc. In a formula you could have something like =10+B6. This would get the value in cell B6 and add 10 to it. Then the result would be displayed in this cell. This ability allows you to have a global VAT rate (for example) and have all cells use the same VAT rate. If the VAT rate changes, then it would be easy to change this one cell and all the other cells would change to reflect the new rate. In addition to cell references, there is something else called a cell range. Some functions (like SUM) take a range of cells and display an answer. A cell range is a rectangle of cells, everything in the rectangle becomes part of the range. Normally you describe a range by the cells that make up the top left corner and bottom right corner of the range. In a formula a cell range that was to include A5 to G8 would be written A5:G8. Simple really? A new feature in EasyCalc 2.0 is the ability to reference a cell address with a symbolic name. For example you could give cell A6 the name "TOTAL", and then use the formula =10+#TOTAL instead of =10+A6. Notice the use of the # symbol, this is used to denote when a cell name is being used. See @{"CELL NAMES" link opt13} for more information Also in EasyCalc 2.0, if you press either the UP or DOWN arrow keys instead of RETURN, you will automatically enter the data into the current cell, and the cursor will move in the specified direction -- saving a whole keystroke! @endnode @node online "ONLINE HELP" When the HELP key is pressed this help window will pop up. However what help you get depends on what you were doing at the time, and where you where doing it: Entering Data Cursor over a @ symbol in a function - The relevent help of that function is displayed. Cursor over anything else - The general entering data help message. Not entering data - The main menu of the help system is displayed. @endnode @node genform "GENERAL FORMAT" A number is displayed with as many decimal places as is needed. This can be very messy as decimal points will not be vertically aligned. eg. 123.456 4.4 -2.12 @endnode @node fixform "FIXED FORMAT" This uses the precision value to set the number of decimal places displayed. Even if a number has less than specified it will be padded out with zeros. The effect is similar to below: 123.456 4.400 -2.120 @endnode @node datform "DATE FORMAT" The number in the cell is taken to represent the number of days since 1-Jan-1978. The cell is displayed in a DD-MM-YY or MM-DD-YY format. @endnode @node timform "TIME FORMAT" The number in the cell is taken to represent the number of seconds since midnight (00:00). The cell is displayed as HH:MM:SS. @endnode @node curform "CURRENCY FORMAT" The number is displayed as a whole number followed by two decimal places. A currency symbol is placed at the beginning of the number. This leads to an effect like the following: £123.45 (assuming the currency was set to £) £67.23 £0.45 @endnode @node perform "PERCENT FORMAT" A percent symbol (%) is added to the end of the number. eg. 145.6% @endnode @node texform "TEXT FORMAT" The cell formula is displayed instead of the result. @endnode @node hidform "HIDE FORMAT" The contents of the cell are not displayed. The cell is maintained but becomes invisible. @endnode @node comform "COMMAS FORMAT" Every group of three zeros is padded out with a comma. eg. 1,000,456,003.456 @endnode @node sciform "SCIENTIFIC FORMAT" The cell contents are displayed in scientific notation and also using the precision value to limit the number of decimal places. @endnode @node hexform "HEX FORMAT" The cell contents are converted into hex (base 16) notation. @endnode @node octform "OCTAL FORMAT" The cell contents are converted into octal (base 8) notation. @endnode @node icons "ICON BAR FUNCTIONS" Going from the left to the right: @{" Load Worksheet " link proj2} - Retrieve worksheet from disk @{" Save Worksheet " link proj4} - Store worksheet to disk @{" Print Worksheet " link proj5} - Print worksheet @{" B, I, U, P Style " link edit11} - Change the text style @{" L, C, R Justify " link edit10} - Justify range @{" Function List " link icon6} - Function paster @{" Cut " link edit1} - Cut block @{" Copy " link edit2} - Copy block @{" Paste " link edit3} - Paste block @{" Delete " link edit4} - Delete block @{" Graphs " link grf1} - View graphs @{" Colour " link edit9} - Change colour of block @{" Precision " link edit8} - Change precision of block @{" Lock/Unlock " link edit12} - Lock/Unlock a block @{" Format " link icon15} - Change the cell format @endnode @node icon6 "FUNCTION LIST" This option brings up a list of all the cell functions available in EasyCalc 2.0. When you choose one, it is automatically pasted into the input area at the top of the window. See @{"FUNCTIONS" link main2} for a complete list of them all. @endnode @node icon15 "CELL FORMATS" This option brings up a requester allowing to format all the marked cells with the specified format. Currently there are: @{" General " link genform} - Unaltered display @{" Fixed " link fixform} - Rounded value @{" Date " link datform} - DD-MM-YY or MM-DD-YY format @{" Time " link timform} - HH:MM:SS format @{" Currency " link curform} - £XXXX.xxx @{" Commas " link comform} - XXX,XXX,XXX @{" Percent " link perform} - XXX.xx% @{" Text " link texform} - Cell formulas not results @{" Hide " link hidform} - Invisble cells @{" Scientific " link sciform} - Scientific notation @{" Hex " link hexform} - Base 16 numbers @{" Octal " link octform} - Base 8 numbers @endnode @node ops "OPERATORS" An operator is something that performs an action on an expression. Basically that means +,-,*,/ etc. Below is a list of available operators, and a description of the priority system: (,) ^,>,<,>=,<=,<>,= *,/ +,- They have been listed in order of priority (also called precedance). If O Level maths theory has long since escaped you then let me explain. For example if you had 10+2*3, the laws of precedance would give an answer of 16 (2*3 then +10), this is because multiplication has a higher precedance then +. The highest precedance of all goes to brackets. Using brackets you can force the order something is calculated in. The previous example would be (10+2)*3 to give 36. By knowing about precedance you can order calculations to minimise brackets and speed up the calculation. Some of the above operators may look unfamiliar to you. Here is a description of each: (,) - See precedance above. ^ - Raise to the power of. eg. 2^2 would be "2 raised to power of two" or would be written as 2². The next few are called comparisons, they are normally used in the IF command to compare numbers however you may need them for logical functions sometimes. Basically they show if something is "true": > - Greater than. Equals 1 if the value on the left of the > is greater than the value on the right. Otherwise it returns 0. < - Less than. The opposite of above. >= - Greater than or equal to. <= - Less than or equal to. <> - Not equal to. = - Equal to. *,/,-,+ - Do I need to explain these? Examples: =10>5 would give 1. (10 IS greater than 5) =5<>5 would give 0. (5 DOES equal 5) =5<=5 would give 1. (5 IS less than or equal to 5) Note the equal sign at the start of the examples. This tells EasyCalc that what follows is a formula and not a string or something. @endnode @node brackets "UNMATCHED BRACKETS" This error can have two meanings: · Left and right brackets do not match. eg. 10+((2*3) would give this error. You should ALWAYS have a matching right bracket for every left bracket used. · Or too many right brackets were encountered before the matching left brackets. eg. 2+(5*2))( would give this error. It should be noted that the above examples are artificially simple, often these errors occur in complex expressions. @endnode @node div0 "DIVISION BY ZERO" Since a division by 0 is impossible if you have an expression that trys to divide by zero then it will fail. This error is not always trapped, so if you suddenly get strange numbers in some cells then check for 0. @endnode @node less0 "INVALID PARAMETER" You have given a negative value to a function that cannot cope with one. Functions like SQR() can only have positive (none zero) numbers. This is because the square root of a negative number is mathematically impossible when using real (not complex) numbers. Functions affected: · @{"SQR" link sqr} · @{"SQRT" link sqrt} · @{"LOG" link log} · @{"LOG10" link log10} @endnode @node numprob "INVALID NUMBER ENTERED" You have entered an invalid number. Invalid means that the number contains a character that is not part of a number and the EasyCalc evaluator cannot cope with it. Alternatively, you have entered a formula, but forgotten to start the formula with a '=' sign. An example is 2+4. EasyCalc sees that the cell starts with a number so it trys to process the cell as a number, but then it comes across the +. Just add a '=' to the start of the formula and all should be alright. @endnode @node rangeprob "RANGE EXPECTED" A function was expecting a range as a parameter, but did not find one. @endnode @node nostrprob "STRING EXPECTED" A function was expecting a string (eg. "Bill" or "Cat"), but did not find one. Functions like LENGTH only make sense if given a string. @endnode @node nonumprob "NUMBER EXPECTED" A function was expecting a number as a parameter, but did not find one. @endnode @node addressprob "ADDRESS EXPECTED" A functions was expecting an address (such as A5 or Z7 etc) but did not find one. @endnode @node range "INVALID RANGE" A spreadsheet range (eg. A1:Z34) is invalid. This could be because you have exceeded the area of the worksheet or you have made a typing mistake (eg. AAZ) and caused the evaluator to be confused. The maximum range possible in EasyCalc 2.0 is A1:IV8192. This is 256 columns by 8192 rows. @endnode @node unexpect "UNEXPECTED CHARACTER" During the course of evaluating a formula, EasyCalc has discovered a character it wasn't expecting. This has probably been caused by mistyping something. @endnode @node tutor "TUTORIAL" Introduction This simple tutorial is not an exhaustive lesson in spreadsheets, just a simple way for you to get a worksheet up and running quickly. You may find it helpful to print out this page right now. Done that? Okay, here is some background information all about spreadsheets. Think of a spreadsheet as a piece of blank paper -- the page from an accounting ledger for example. On this "paper" you can write numbers and titles for sections of the accounts. On paper you have to add up columns manually, with a spreadsheet you can write a formula, the word SUM for example, makes the spreadsheet add up a range of numbers (called cells). The power of spreadsheets lies in the fact that once a formula has been written, even if you change the column of numbers, the formula will automatically add them up again. A program like EasyCalc has many different formulae, so it is capable of of much more than just adding columns. Let's create a worksheet! Firstly, make sure you have EasyCalc 2.0 up and running and you are looking at a blank worksheet. If not then quit the program, and then reload it. Now follow the next few steps exactly, don't worry I'll explain everything as we go: 1) Move the cursor down to cell B2 (that's down one, and across one from the top left hand cell. Now type 56 and press RETURN. The number 56 should appear in that cell. 2) Now move down one cell (to B3) and enter 23 (followed by RETURN of course). Now enter 78 in cell B4, then 67 in cell B5. 3) You should now have four cells (B2:B5) containing the numbers, 56, 23, 78, 67 respectively. If not start again. 4) Now lets get EasyCalc 2.0 to add up these numbers for us. Move to cell B7 and type in the following EXACTLY: =@sum(b2:b5) (then press RETURN) Quick as a flash, EasyCalc 2.0 puts 224 in the cell. If you don't trust the program, then check it yourself. Now lets break down exactly what EasyCalc 2.0 did: EasyCalc 2.0 saw the '=' sign and attempted to evaluate the rest of the line. Then EasyCalc 2.0 came across the @, which meant a function was next. The SUM function was recognised, and EasyCalc 2.0 knew that it must add up all the cells in the range that followed. Upon finding no other functions, EasyCalc 2.0 displayed the result in the cell. Lets have a closer look: = @ sum( b2:b5 ) \ \ \ \ \ \ \ \----- This is the range for SUM to work on. \ \ \ \ \ \-------- This is a FUNCTION called SUM which adds up any range \ \ of cells you give it (such as b2:b5). \ \ \ \-------- This tells EasyCalc 2.0 to expect a FUNCTION, in our case \ SUM, but EasyCalc 2.0 has another 61 functions available. \ \-------- Tells EasyCalc 2.0 that you want the rest of this line evaluated (as opposed to just sticking the text into the cell. So to summarise: All formulae starts with an '=' sign. All functions are prefixed with an '@' symbol. Now go to cell B9 and enter the following exactly: =@IF(b7 < 300, "I'm Skint!", "Loads of money") When you press RETURN, the answer, "I'm Skint" should appear in the cell. IF is another EasyCalc 2.0 function, but it is very special because it can make decisions. In this case, IF is used to decide if cell B7 contains a value less than 300, if it does then it returns "I'm Skint", otherwise "Loads of money" should appear. To test this second condition, try changing cell B2 to 150. Instantly, B9 should now read, "Loads of money". Things to do: 1) In cell B7, change the SUM (nothing else) to MIN so it would now read: =@min(b2:b5) then try: =@max(b2:b5) =@avg(b2:b5) What happens in each case? 2) Try changing the 300 in B9 to other values just to prove to yourself that it is not cheating. The complete tutorial file, TUTORIAL.calc is available on disk. @endnode @index tIndex @node tIndex A @{"About EasyCalc" link proj6} @{"AREXX Interface" link rexx} @{"AutoMove" link opt3} @{"AutoRecalc" link opt5} @{"AutoSave" link opt2} B @{"B, I, U, P Style" link edit11} @{"Bookmarks" link opt9} C @{"Cell Functions" link main2} @{"Cell Names" link opt13} @{"Cell Notes" link opt12} @{"Colour" link edit9} @{"Column" link edit6} @{"Commas" link comform} @{"Copy" link edit2} @{"Currency" link curform} @{"Cut" link edit1} D @{"Date" link datform} @{"Delete Graph" link grf3} @{"Delete" link edit4} @{"Drawing Graphs" link echart} E @{"EasyCalc User Support" link support} @{"Edit Menu" link menu2} @{"Entering data" link enter} @{"Environment Menu" link menu4} @{"Exact Size Copies" link opt1} @{"Export" link edit13} F @{"Fill" link edit5} @{"Fixed" link fixform} @{"Format" link icon15} @{"Function List" link icon6} @{"FUNCTIONS" link main2} G @{"General" link genform} @{"Graphs Menu" link menu5} @{"Graphs" link grf1} @{"Grid" link opt8} H @{"Hex" link hexform} @{"Hide" link hidform} I @{"Icon Bar Functions" link icons} @{"Import" link edit14} @{"Information" link proj8} @{"Iterations" link opt7} J @{"Justify" link edit10} L @{"L, C, R Justify" link edit10} @{"Load Worksheet" link proj2} @{"Lock/Unlock" link edit12} M @{"Macros" link opt14} @{"Make Graph" link grf1} @{"Maths Operators" link ops} N @{"New Worksheet" link proj1} O @{"ONLINE HELP" link online} @{"Open View" link proj3} @{"Open Worksheet" link proj2} @{"Options Menu" link menu3} P @{"Palette" link env3} @{"Paste" link edit3} @{"Percent" link perform} @{"Precision" link edit8} @{"Print Size" link opt10} @{"Print Worksheet" link proj5} @{"Print" link proj5} @{"Project Menu" link menu1} @{"Pulldown Menus" link pdown} Q @{"Quit" link proj9} R @{"Recalc Now" link opt6} @{"Recalc Order" link opt4} @{"Row" link edit7} S @{"Save Options" link opt15} @{"Save Screen/Palette" link env4} @{"Save Worksheet" link proj4} @{"Screen Mode" link env2} @{"Style" link edit11} T @{"Text" link texform} @{"Time" link timform} @{"Tooltypes" link tools} @{"Tutorial" link tutor} V @{"View Graph" link grf2} W @{"Windows" link env1} @endnode @node errstr "STRING ERROR" A string was not properly delimited. Each string should start and end with a '"' symbol, eg. "fred", "bill" etc. If you miss out a '"' then this error will occur. Simply fic the string and all will be well. @endnode @node res "RESIZING COLUMNS REFERENCE" Simply move the mouse to the gap between two column labels and hold the left mouse button down. You should find you are able to move the mouse left and right and the column width changes as you do it. Example: ------- ------ A | | B ------- ------ \ \Click the mouse between here and hold @endnode