ࡱ>   I {~ViG > ( :#ReportFrame'( Q#IShtFrameE$O#MapFrame( \#BlanksFrame  Microsoft Forms 2.0 FormEmbedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} PrefsForm Caption = "Preferences" ClientHeight = 4110 ClientLeft = 45 ClientTop = 330 i62r n``22f&1oqs"CompObj p  !"#$%&'()*+,-./0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghiklnopqrstuvwxyz{|}~ Rainbow1KC1KC1KC B&Summary Report... SummReport B&Dependency Map...AllDependencies(aUUPaUUPaaaaDDaDD3333p( BInter-Sheet &Logic... InterSheet(wwwwwpppp(x5 B&Formula Groups... FormulaGroups(p(χ? BWorkbook &Reports... WkbkReports(p( BPotential &Errors... ReportMaps(p({{{o )&Comparisons... Comparisons( " p(wwt]t]w BCell &Inspector CellInspector(pxp臀p" x""""""p( BSet Restore &Point... SetRestore(DO!!!DODOD!!DOO!!O!!!!!!O!!!!!!O!!!!!!@p( BRestore &Cells... ApplyRestore(111111111110111#111111111111p(83#  1\pMike Shallcross Ba=  ThisWorkbook=h\: <X@"1Arial1Arial1Arial1Arial1$Arial1 Arial1h Arial1h Arial1h Arial1h Arial1 Arial1 Arial1Arial1 Arial1 Arial1Arial1@Arial1Arial1Calibri1 Calibri1Calibri14Calibri1 Calibri1Calibri1Calibri1,8Calibri18Calibri18Calibri1>Calibri14Calibri1<Calibri1?Calibri1h8Cambria1Calibri1 Calibri""#,##0;\-""#,##0""#,##0;[Red]\-""#,##0""#,##0.00;\-""#,##0.00#""#,##0.00;[Red]\-""#,##0.005*0_-""* #,##0_-;\-""* #,##0_-;_-""* "-"_-;_-@_-,)'_-* #,##0_-;\-* #,##0_-;_-* "-"_-;_-@_-=,8_-""* #,##0.00_-;\-""* #,##0.00_-;_-""* "-"??_-;_-@_-4+/_-* #,##0.00_-;\-* #,##0.00_-;_-* "-"??_-;_-@_-"Yes";"No";"No";"" 0.000% 0.000 0.0%##,##0.000_);[Red]\(#,##0.000\)"Yes";"Yes";"No""True";"True";"False""On";"On";"Off" d\-mmm\-yy0+_(* #,##0_);_(* \(#,##0\);_(* "-"??_);_(@_)% [$$-409]#,##0;[Red][$$-409]#,##0+&[$$-409]#,##0.00;[Red][$$-409]#,##0.00+&[$-809]#,##0.00;[Red][$-809]#,##0.00 [$$-409]#,##094_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"??_);_(@_)'"[$-809]#,##0;[Red]\-[$-809]#,##0?:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)#,##0.0_);[Red]\(#,##0.0\)4/_(* #,##0.0_);_(* \(#,##0.0\);_(* "-"??_);_(@_)0.0                                                                       ff + ) , *      P  P         `          ! " a> # X  X   x@@   x@ "x@ "x @ "x "x  " "  "   "  "  "   X  x@  x  x   x@   X  P   X !T "P XA  XA  XA XA  XA  XA                0@  <   4   9         -   0   1   2   6   .         5                      (X    20% - Accent1 20% - Accent2 20% - Accent3 20% - Accent4 20% - Accent5 20% - Accent6 40% - Accent1 40% - Accent2 40% - Accent3 40% - Accent4 40% - Accent5 40% - Accent6 60% - Accent1 60% - Accent2 60% - Accent3 60% - Accent4 60% - Accent5! 60% - Accent6 "Accent1 #Accent2 $Accent3 %Accent4 &Accent5 'Accent6(Bad) Calculation* Check Cell+,-./Explanatory Text0  1Good2 Heading 13 Heading 24 Heading 35 Heading 46 7Input8 Linked Cell 9Neutral :Note ;Output< =Title >Total? Warning Text` .Guide\Mappingp PreferencesE~Control 6Temp, BlankCols:& BlankRows:% ColrStart: CompColour:C" CompCurr;8D" CompDefs;8D CompForms:8! CompInclude::CompMap:D" CompRangeAll:?" CompRangeFix:@# CompRangeVary:ACompVals:9DoMap: ExpiryDate:  FGrpReport: GroupForms:< InclConsts:: IncLocals:  IShtReport: LongChars:, NestedIfs:- OthReport:+ RowDelete:3 RowInsert:2! RptBookName:! SameRptBook:SepForms:=UserCode:`i 'Variable range Fixed rangeCurrent Control sheet User detailsColour differences Insert rows Delete rowsPreferences sheet Start colourGenerate reportFormula Groups Inter-SheetInstallation and licensing Groups 10 Groups 11 Groups 12 Groups 13 Groups 14 Groups 15 Groups 16 Groups 17 Groups 18 Groups 19 Groups 20 Groups 21 Groups 22 Groups 23 Groups 24 Groups 01 Groups 02 Groups 03 Groups 04The User Guide function simply displays this User Guide as an Excel spreadsheet. You can then print, save or close it just like any normal spreadsheet. Generate mapWIf you were to select all sheets and run both a Precedents report and a Dependents report, you might expect that the two reports would show the same results but with the axes reversed. In the simplest cases this will indeed be true, but the results will be distorted whenever a calculation references a multi-cell range in another sheet (e.g. in a SUM formula). This will count as one reference in the dependent sheet but as several in the precedent sheet. To complicate matters even further, under some circumstances each of the precedent cells may record multiple dependents (instead of just one).If you have turned off in-cell editing, you can double-click on any of the items immediately below to go to the relevant heading.`" If you are comparing two workbooks, then for any sheets in the source workbook which have a multi-cell range selected, Rainbow will compare the selected range with the same range in the corresponding sheet in the other workbook, and for any sheets which have just one cell selected, it will compare the same range as in the first selected worksheet;XThis feature can often reduce the number of reported differences by an order of magnitude. However, Rainbow will not always guess correctly where to insert rows, and so you can set your Preferences to disable this feature if you wish, and you can also choose an option not to remove the automatically inserted rows at the end of the comparison.OAs well as auditing spreadsheets developed by others, Rainbow can also help you in developing your own spreadsheets. For instance, you can select Dependencies (within Report-Maps) and Input cells to colour all input cells, and you can then select Format Editor and Turn off cell locking to set all these input cells as unlocked. Finally you can use (Un)Hide/Protect to turn on protection for all sheets (and the workbook), and you then very simply have a workbook which complies with best practice by allowing users to change only the input cells, and protecting the rest of the spreadsheet.As explained in the Quick start guide, the dialogue boxes for most Rainbow functions are basically similar, and (by clicking on the Selection... button) they let you select which workbook and worksheets to analyse. Note that if your selected workbook contains hidden or protected sheets, in most cases Rainbow will prompt you to unhide or unprotect them before using Rainbow functions (as otherwise most Rainbow functions may not operate correctly).If you have set your Preferences to include all reports in one workbook, Rainbow will ask if you want to use an existing open workbook as the report book. So if you want to use a workbook from a previous session, make sure it is already open in Excel when you start using Rainbow. Alternatively you can make use of this feature to append reports as additional worksheets at the back of the workbook you are analysing.The Summary Report, the Detail Report on external links, and the (Un)hide/Protect function, are the only Rainbow functions which operate on chart sheets as well as worksheets; all the other functions operate only on worksheets.However, note that an incorrect reference in a formula could result in blank input cells in any part of a worksheet (e.g. row 65536, or column IV). If these invalid inputs were outside the used range of the worksheet (the range covering all non-empty cells), they would not be detected by the Dependency Map function. In Report-Maps (Dependencies), however, you can check for blank input cells across the whole worksheet.&Because this function calls on Excel to check the dependents and precedents of nearly every cell, it runs more slowly than some other Rainbow functions. If you need to check a large workbook, you may decide to select all sheets and then set Rainbow running while you continue with other work. Alternatively you may be able to save time by checking only a few columns or rows. Also, if the workbook was saved in an earlier version of Excel, Rainbow will probably run faster if you re-save the workbook in the file type of your current version of ExcelYou may want to select View, Zoom and e.g. 50%, to get a quick high-level view of the spreadsheet. Generally a well-constructed spreadsheet will have few if any row differences, and the dependency types also should be consistent across rows. Areas of the spreadsheet which are labelled as being Inputs or Assumptions should obviously contain mainly input cells, and there should be no un-used "inputs", which Rainbow will detect as labels in cells which the developer intended to contain input data.The Inter-Sheet Logic function uses the range of 24 group colours to highlight the cells in each sheet which have precedents or dependents (as appropriate) in other sheets. The cells are highlighted in specific colours indicating which other sheet they are linked to, and you can set your Preferences to change the start colour. The first (start) colour is always used for links to external workbooks, rather than links to other sheets in the same workbook.You have an option in Preferences to expand the report to include within-sheet logic (as well as inter-sheet logic). The report will then include all cells with any precedents/ dependents, including precedents/ dependents in the same worksheet. This will give you a very complete picture of the logic flow, but it can also generate a rather large report. Note that within-sheet logic will be shown only in the report, and not in the colour mapping.6" Comparison types lets you choose whether to compare formulas (i.e. the contents of cells) or values (the input or calculated results), and also whether to compare all cells, or to ignore (if comparing formulas) cells containing an input value, or (if comparing values) cells containing a calculated formula;As an example, suppose you run Cell Inspector on cell H74 in sheet Operations, and Cell Inspector shows this as Availability Fee - 30/09/2013, with the formula "=Inputs!H101*(1-C26)". If you then look at Cell Inspector's list of Precedents and see that Inputs!H101 is Availability Charge - 30/09/2012, you can immediately spot that there may be a problem with misaligned columns in different sheets referring to different periods.Of course Cell Inspector can't take you to precedents or dependents in closed external workbooks or in hidden sheets, though it will attempt to indicate precedents in closed workbooks. Cell Inspector will ignore dependents in hidden sheets when these are the first that it finds, and if the first two dependents are both hidden it will assume the cell has no dependents. So you should always use Rainbow's (Un)Hide/Protect function first if you think there may be any links to hidden sheets.Report*Current book/sheets and report book/sheetsTYou can use this feature in conjunction with those in the preceding sections. For instance, you can clic< k on (Report-Maps and) Dependencies and colour all input cells yellow, and then click on Format Editor to set all yellow cells as unlocked. You can now use (Un)Hide/Protect to protect the worksheet, and your input area is ready for use!Unlike the first four Format Editor functions, the Clear cell borders option applies to all cells in the selected range or sheet(s), allowing you to remove cell borders. This may sometimes be useful if there are too many different cell formats in a workbook, as this can cause Excel to prevent Rainbow from applying any further colour formatting to cells. Afterwards you can use the Restore Borders function to restore the borders from the last restore point.\After you have made the changes you want in the Cell Mapping worksheet, use the Update Mapping function to update Rainbow with your new set of colours and/or patterns. Rainbow will ask if you wish to save the updated mapping as the new default; if you choose not to, the updates will apply only until you close Rainbow or exit from Microsoft Excel.If you want to save a particular set of colours and/or patterns as standard, so that you can go back to them at any time after you have made (and saved) changes, all you need do is click on Cell Mapping, View Mapping, and then save the Cell Mapping worksheet (the filename and folder can be anything you choose). To go back to the saved mapping, simply open the saved worksheet and then click on Cell Mapping, Update Mapping.sThe title bar at the top of this selection dialogue box will confirm what type of comparison is currently selected:" If you select two different workbooks, the title bar will show "Comparing Workbooks", and you will be able to select any or all worksheets in the left-hand area only, for comparison with corresponding sheets in the right-hand workbook;If you choose (under Comparison types) to compare formulas only (ignoring input values), the comparison will ignore changes in constants (simple numbers and text) and only report differences where one or both cells contain a formula. However, it is important to appreciate that there may be constants which are not inputs (simply labels or memo cells), and inputs or hard-coded numbers (e.g. =365/4 or =B7*1.175) which are formulas, not constants." If you are comparing worksheets, Rainbow will compare the selected range in the source worksheet with a range of the same dimensions (rows x columns) in all other selected worksheets; for worksheets which have a multi-cell range selected, it will start the comparison at the top left corner of the selected range, and for any sheets which have just one cell selected, it will compare the same range as in the source worksheet;This last option may be useful it there are row insertions or deletions in several sheets which depend on each other, in which case you may need to run the comparison, leave the adjustments in place, and then run it again. Generally however, where there are insertions or deletions in one sheet (e.g. Inputs) on which other sheets depend, all you need do is make sure this is the source sheet when you run the comparison, in order to ensure that the adjustments are made in this sheet before the dependent sheets are compared." Restore Cells and the other two Restore Format functions let you restore selected aspects of the formatting from the last restore point that you set;Rainbow only holds one restore point at a time, so it will restore only the last set of formatting information that you recorded. This means that if you set a restore point before you use e.g. the Dependency Map function, Rainbow will be able to undo any formatting changes made by this function, but it will not undo any previous changes. Any recorded formatting information is effectively lost when you close Microsoft Excel.Before you change the formatting of a spreadsheet with the functions described in the sections above, you can use the Set Restore Point function to record formatting information for selected worksheets, so that you can later undo the changes made by Rainbow. You can then use the Restore Format functions to restore the relevant formatting (e.g. cell colours) back to the way it was the last time you set a restore point.If some formatting information has already been recorded, this will be overwritten when you set a new restore point; Rainbow will tell you what workbook and sheet(s) have been previously recorded, and will ask you to confirm before overwriting this information.In case you are not sure what information you recorded with the last restore point, Rainbow will alert you if it has no formatting information recorded for some or all of the worksheets you have selected to restore. The first four options in the Format Editor dialogue box work differently from the preceding Rainbow functions; they allow you to apply certain formatting operations to all cells with the same colour and/or pattern as the cell which is active when you click on the Rainbow menu. Consequently you need to make sure you have selected an appropriate cell (i.e. one of the type that you wish to change) before you click on Rainbow. You can then change the cell colour, font colour or locked status of all cells that match the one you have selected.d" If you choose Simple matching, Rainbow will change all cells which match the changed components of the selected cell (rather than matching the selected cell exactly). You can use this feature to remove (for example) a cross-hatch pattern from all cells, whatever their colour, or to change the colour of all yellow cells without altering their patterns;m" If you choose Strict matching, Rainbow will only change those cells which match the selected cell exactly.7When using the first (cell colour and/or pattern) option, you may select to change only one or two of the three components (colour, pattern and pattern colour) of the cell's colouring. In this case it is important whether you choose Simple or Strict matching (in the Matching box under the Selection... button):Occasionally Excel will change two or three of the components of cell colouring when you intended to change only one, especially if you click on "No Colour", so it is very important that you set a restore point before making any format changes.The Hide selected sheets option in the (Un)Hide/Protect dialogue box provides a quick way to hide several sheets, including chart sheets as well as worksheets. With the default Hidden option (in the (Un)Hide box under the Selection... button), the hidden sheets can be unhidden from the Format, Sheet, Unhide menu in Excel. However, if you choose the Very Hidden option, the hidden sheets will be effectively invisible in normal use.The Unhide all sheets option can unhide any hidden chart sheets as well as worksheets. With the default Hidden option it will only unhide sheets which have been hidden in the normal w< ay (i.e. those listed as hidden in the Format, Sheet, Unhide menu in Excel). If you choose the Very Hidden option, it will also unhide sheets which have been set as very hidden by Rainbow or by another Excel macro.The Unhide rows and columns option will unhide any hidden rows and columns in the selected sheets, and it will display a list of all rows and columns that it has unhidden.The Protect / Unprotect selected sheets options offer a quick way to protect or unprotect several sheets at once, either with or without a password. Rainbow will also protect or unprotect the workbook structure at the same time.The two Cell Mapping functions enable you to view and change the colours and/or patterns and/or pattern colours for all the various dependencies and cell types, including the 24 used for formula groups (and inter-sheet links and difference groups). Detailed instructions on how to do this are provided in the Cell Mapping worksheet, which is displayed when you click on the View Mapping function.kAlthough you can select a colour, a pattern (which may be "no pattern") and a pattern colour for 40 different categories of cells, you can tell Rainbow to set only one or two of these three components for each cell type. In fact the default Cell Mapping sheet tells Rainbow to set only the colours of cells and to leave the patterns and pattern colours unchanged.This set of functions lets you produce reports on any or all of 15 different types of cells, but its most powerful feature is probably the ability to generate cumulative maps of any or all of these cells. For instance, if you wish to produce a map like the Dependency Map, but with a report for each dependency type, simply select the Dependencies function, then select all the five dependency types, and select output as map and report. Rainbow will then loop round five times to generate the combined map and the set of reports.TAs already noted, the Dependencies function lets you highlight and report on any or all of the five dependency categories used for the Dependency Map function. In addition you can set your Preferences so that it will search for blank input cells in up to 256 extra columns and up to 65,536 extra rows outside the used area of the worksheet.You can use this feature if, for instance, you want to see which input cells contain numeric formulas. Set the Cell Mapping for inputs to change the colour to yellow but leave the pattern unchanged, and set the Cell Mapping for formulas to change the pattern to cross-hatch but leave the colour unchanged. Run Rainbow twice, selecting (Report-Maps and) Dependencies, Input cells and then Cell Types, Calculated numbers, and then simply look for yellow cells with a cross-hatch pattern.mThis function displays the Preferences dialogue box, so that you can customise Rainbow to reflect your own preferences. When you have set your preferences, you can click on Save Defaults to save your preferences to disk as your new defaults. Alternatively you can click on Apply to use your new preferences only until you close Rainbow or exit from Microsoft Excel.Under Mapping, the Start colour number indicates which of the 24 group colours Rainbow should start from when selecting colours for the Inter-Sheet Logic, Formula Groups and Comparisons functions.Under Blank Inputs, you can tell Rainbow to include extra rows and columns outside the used range of the worksheet when checking for blank input cells in the (Report-Maps) Dependencies function.~Under Reporting, you can select to include all reports in the same workbook or to generate each report as a separate workbook.Under Comparisons, you can control whether Rainbow automatically inserts rows where it considers they have been deleted, and then whether it deletes them after insertion.Under Inter-Sheet, you can choose to include within-sheet logic (i.e. formulas referencing cells on the same sheet) in the Inter-Sheet Logic report."Rainbow Analyst Cell Mapping Sheet    -When you are happy with your selected colours and/or patterns, click on Rainbow and Cell Mapping, Update Mapping to accept your selections. Or if you decide not to change the current colours, you can close this sheet just like any normal spreadsheet by clicking on File, Close or by pressing Ctrl+F4.You can then tell Rainbow whether to apply the colour and/or the pattern and/or the colour of the pattern from column C when it formats the relevant cell type, by typing the number 1 (=Yes) or 0 (=No) in columns D to F. (Do not type in "Yes" or "No", as this will not work!)LAs well as applying the colours and/or patterns to specific cell types, Rainbow will use those labelled Groups 01 to Groups 24 to distinguish different formula groups, inter-sheet dependencies and groups of different cells. In this way it can indicate up to 24 different groups, which is generally more than you are likely to need.Column DifferencesHardcoded NumbersDFormulas containing a hard-coded 0 or 1 are very common, and will not be highlighted at all. On the other hand formulas containing a hard-coded value of 10 or above, or a decimal value, will be highlighted in the colour selected for Hardcoded Numbers; these are likely to represent more significant items of hard-coded data.oSimilarly there should be no input cells without a descriptive label (except sometimes within a range, e.g. with SUM() or LOOKUP()), and there should be no used or referenced cells lying in odd places or outside the main area of the spreadsheet. You can easily spot any blank (empty) input cells, as the Dependency Map function highlights these in a different colour.RBy default the Dependency Map function shows just the five dependency types (including blank inputs) mentioned above. If you want to add a further dimension of error checking, you have the option also to include row differences. These can be shown either in colour, or as a pattern (in order not to obscure dependency colour information).The Dependency Map function does not produce a report, as this would list nearly all cells in the spreadsheet and would be of little use. However, you can produce separate reports on each of the dependency types (and row differences if required) with the Report-Maps function.As well as highlighting links in colour, Rainbow can generate a report showing in tabular format how each sheet is linked to other sheets (and also showing the selected colour for each sheet). This report is in the form of an outlined worksheet; click on the number 2 to the left of the column headers at the top to display the details of individual cells, and click on the number 1 to collapse the details and show only the totals.The colour mapping can only show one link for each cell (the first inter-sheet link in the cell's formula for precedents), but the report will normally show all inter-sheet links for each cell, unless you select the option (under Quick Reporting) to report only the first link for each cell. This option can speed up report production, but is not necessary if you are producing a grouped precedents report (the default setting), as this particular report runs very quickly.The default option to group copied cells together (where appropriate) in the report is normally preferable to the option to list each cell separately, particularly as the grouped precedents report runs much more quickly than the non-grouped version. The non-grouped report is useful if you need to see the links for specific individual cells, but for a large spreadsheet it may require more than 65,536 rows and so may fail to complete.The Formula Groups function analyses row and column differences to identify groups of copied formulas, and it then uses the colours and/or patterns from your Cell Mapping sheet (for more information see Cell Mapping below) to highlight each group. This lets you see at a glance where there are inconsistent formulas in a row (which may indicate an error), and it allows you to check just one cell in a group and know that all the other cells are the same.Rainbow allows you to group formulas either horizontally (by row) or vertically (by column). In most case< s the default horizontal grouping option will be preferable; this identifies formulas which belong to the same group on a row even if they are not in adjacent cells. So for example in a multi-year spreadsheet with sets of 12 monthly columns followed by an annual summary column, Rainbow will highlight all the monthly columns on each row in one colour and all the annual columns in another colour. However, with formulas which are copied down columns (across multiple rows), it will use the same colour only if the formulas are in adjacent rows (in a single block of cells).UYou will find the vertical (by column) grouping option very useful in two situations:" where a spreadsheet has repeating sets of identical calculations every so many rows, perhaps calculating profit for different products. In this case the vertical grouping option will give the same colour to each corresponding row (e.g. Gross Sales or Direct Costs) in the different sets. You can then see at a glance whether the repeating calculation sets are in fact identical, or whether there are variations in the patterns of colours." where the calculations in a spreadsheet are organised by columns rather than by rows. For instance a spreadsheet might list a company's stock items, one per row, with the columns showing opening and closing stock, production, unit price and cost, gross sales and net profit. The vertical grouping option would check the calculations for consistency down each column, even if some rows had been left blank.kAs well as mapping formula groups with colours, Rainbow can generate a report which lists all unique formulas by row or column, showing the first and last occurrence and the number of occurrences of each formula, with a column where you can indicate that the formula has been checked. This report is designed to support the process of a formal spreadsheet review.ZNormally Rainbow first uses the colour / pattern labelled Groups 01, then Groups 02, Groups 03 and so on, but you can set your Preferences to start with a different colour. Whichever colour / pattern you start with, it will use all the colours / patterns between Groups 01 and Groups 24 if necessary in order to highlight each separate formula group. This does not mean that it can handle only 24 different formula groups! It uses the minimum number of colours needed to distinguish contiguous groups, and in a well-structured model it is unlikely that you will need more than the available 24 colours.1If Rainbow does run out of colours on a particular row, it will continue to use different colours to indicate different contiguous formulas, but each colour may now represent more than one different formula within the row. If this happens, Rainbow will alert you and let you know which is the first cell on each row where it has run out of colours. In this situation it is sometimes helpful to try vertical grouping instead of horizontal grouping, or vice versa. Of course the Formula Groups report will still correctly list all the separate groups of formulas.The links report helps you find the exact location in your workbook of any external links to other Excel files (shown under the Edit, Links menu option). It searches for references to the external Excel files in all worksheets and also in any defined names and any charts (including chart sheets as well as embedded charts). Any worksheet-specific names will be shown preceded by the name of the relevant worksheet.The comments report lists the text of all comments (cell notes) in your workbook, together with the author's name and the cell address and value.?The names report lists all the defined names in your workbook. Worksheet-specific names (e.g. Print_Area) which are valid only in a particular worksheet are shown with the relevant worksheet name in the Sheet column of the report, otherwise this column is left blank for names which are valid across the whole workbook. Report-Mapsz" Row differences cells, containing a formula which is not copied from the formulas in the preceding cells (on the left).[" Column differences cells, containing a formula which is not copied from the cells above.w" Cells which contain a complex formula (at least a specified length, or a specified depth of nested IF() statements).Set Restore PointRestore Format Format Editor(Un)Hide/Protect Cell MappingOnce you have highlighted the cells, you can also use the Format Editor to set them as locked or unlocked. If you set all input cells to be unlocked, they can then still be changed after you have protected the worksheet using the (Un)Hide/Protect function.2" Cells which are unlocked and contain a formula.Numbers and formulas can give some idea of the structure of the worksheet, but generally it is better to use the Dependencies functions. It can be helpful to see Locked and Unlocked cells (by default all cells are usually locked) if you are following generally recommended practice and setting all input cells as unlocked (see other sections for more on this). Cells containing a formula are unlikely to be input cells, and so should generally not be unlocked.VThe Cell Types function lets you highlight and report on the following types of cells:7Complex formula cells are cells with a formula which contains at least a specified number of characters or a specified number of levels of nested IF() statements. The defaults are 128 characters or 2 levels of nested IF() statements, but you can click on Preferences in the Rainbow menu and set your own values.The Comparisons dialogue box always appears with the same options initially selected. If you find that you regularly use a different set of options, you can save these as the default (initial) selection by clicking on Save Defaults.The Comparisons function can work in several different ways, depending partly on what you select in the Comparisons dialogue box, and partly on what range(s) you have selected before you click on Comparisons:" Provided you have more than one workbook open, it can compare corresponding sheets (i.e. sheets with the same name) in two different workbooks;c" It can compare one sheet in a workbook with any or all of the other sheets in the same workbook;You can select which of these actions you want in the Output area of the dialogue box (usually under the Selection& button). Some options may not always be enabled (i.e. you can't click on them). For instance if the Report option box is ticked< but it is not enabled, this means that the Rainbow Analyst function you have selected always generates a worksheet report (i.e. the report can't be turned off)." Comparisons is one of the most comprehensive comparison functions you will find, and is a key tool for control of versions and scenarios;" Cell Inspector is a powerful interactive function which lets you trace the logic of any individual cell at a glance, and can significantly speed up a spreadsheet audit.The third group of items on the Rainbow menu (including the last two buttons on the toolbar) let you manage various aspects of a workbook, mainly to do with formatting:NAfter this, you may decide to run the Dependency Map function, and you will probably be able to spot some errors simply by looking at the layout of the various dependency types. For instance, if you find some input cells sitting on a row without any label, this may well indicate a formula with an incorrect reference. (You can find the dependent formula by using the Cell Inspector function.) And if Rainbow shows you that some values which are supposed to be inputs are actually just labels (i.e. have no dependents), this clearly indicates a part of the spreadsheet which is not working.ZOnce you have used Formula Groups to identify which formulas you need to examine (and which are just copies), you can use the Cell Inspector to show you the precedents and dependents of any particular cell, as well as an indication of what they mean (e.g. Net Profit - Year 1). And it will even help you analyse the structure of complex formulas." If you select the appropriate range(s) before clicking on Comparisons (see below for more detail on this), it can compare a particular multi-cell range (rather than the whole worksheet) with corresponding ranges in other sheets or another workbook;" If you first use the Ctrl key (with the mouse) to select multiple areas (e.g. tables) in a single worksheet, it can compare the first area in the worksheet with all the others.As with other Rainbow functions, when you first click on Comparisons, Rainbow will try to guess what workbook(s) and worksheet(s) you wish to compare. If you find it has guessed wrongly, simply click on the Selection& button to change the selection. This will open a dialogue box with two selection areas, for the workbook and worksheet(s) you want to compare (on the left) and what you want to compare them with (on the right).U" If you select the same workbook on both sides, the title bar will show "Comparing Worksheets", and you will then be able to select only one worksheet in the left-hand area. In the right-hand area the worksheet you selected on the left will appear first in the list, and you will be able to select any or all worksheets to compare with it." If you select the same workbook on both sides, and you select the same one sheet in the right-hand area as you have selected on the left, then if this sheet has multiple areas selected, the title bar will show "Comparing Areas in Sheet".Once you have selected the workbook(s) and worksheet(s) you want in the selection dialogue box, click on OK to return to the main Comparisons dialogue box, where you can select other relevant options:K" If you have selected to compare formulas, Formula grouping can group together in the differences report all differences which result from copying the cells in both worksheets (rather like the Formula Groups function). This means that the report is much smaller, and lets you see immediately how many real changes have been made;" The Ranges to compare option only applies if you have selected a multi-cell range to compare; it then allows you to compare either the same range across all sheets or different ranges in different sheets (see below for more details).If you choose (under Ranges to compare) to compare different ranges in different sheets, the way the comparison then operates is dependent on whether you are comparing workbooks or worksheets:b" However, if you are comparing multiple ranges (areas) within a single worksheet, you don't need to select the whole of each area. Rainbow will compare the first selected range with other ranges of the same dimensions, starting the other range(s) at the top left corner of each other range (whether single-cell or multi-cell) selected on the worksheet.|Rainbow Analyst is installed simply by copying the Rainbow add-in (.xla) file to your Excel Add-Ins directory. You can find this from within Excel by clicking on Tools, Add-Ins, and then clicking on the Browse button, which will open a browse window in the Add-Ins directory. Click on the down arrow beside the directory name to see the full directory path. After you have copied the Rainbow file to the Add-Ins directory, you can load it by clicking on Tools, Add-Ins and then clicking on the check box labelled Rainbow Analyst. You can remove Rainbow at any time simply by deleting the Rainbow add-in file from your Add-Ins directory.Normally Rainbow will look at all cells within the used range of a worksheet. However, if you have selected a range containing more than one cell, it will give you the option to analyse only the selected range. If you have selected one or more columns or rows, it will analyse the column(s) or row(s) within the used range of the worksheet. This can save a great deal of processing time in a large worksheet, if you do not need to analyse every cell. ComparisonsBookSheetTypeValue DescriptionPrecedeMap differences< \Conversely Rainbow may sometimes detect an insertion or deletion where in fact there is some other reason for a difference between cells. You can stop this from happening simply by entering an identical value (e.g. 1) in both workbooks in the first column on the row where Rainbow found a difference which it attributed to an insertion or deletion.VisibleComparison Form ReportingReports in same bookHard-coded number cells do not include cells containing a formula such as "=365/4", which may be regarded as bad practice but is not generally dangerous. Rainbow will only highlight cells which combine a hard-coded number with a reference to another cell, e.g. "=C63/4". Rainbow will highlight this cell in the colour selected for Hardcoded Flags, since it contains just a single hard-coded digit in the range 2 to 9.The final menu item displays copyright and licensing information, and allows you to enter the registration code it this is currently an unlicensed copy. The licence requires that you agree to use the registration code only to license one copy of Rainbow Analyst.Include all cellssRainbow Analyst will initially install itself as a 30-day free trial copy. This may be converted to a licensed copy by obtaining a registration code from the author. The code is linked to your Excel user name, which you can see if you click on Tools, Options and the General tab. The licence requires you to use the registration code only for one copy of Rainbow Analyst.Copies of Rainbow Analyst can be given to other users (with different Excel user names), and these will automatically become 30-day free trial copies. A licensed copy will also convert itself into a 30-day free trial copy if the registered user changes to a different Excel user name. If this happens, you will need to restore the previous Excel user name or obtain a new registration code from the author.Mike Shallcross has asserted the moral right to be regarded as the author of Rainbow Analyst, and he holds the copyright in the program code. He can be contacted by email at mike@themodelanswer.com Groups 05 Groups 06 Groups 07 Groups 08 Groups 09Hardcoded Flags User codeAll non-empty cells in a spreadsheet can be placed in one of four categories according to whether they have any precedents (cells on which they depend for their calculations) and/or dependents (cells which depend on them):oMost of the data items in the Summary Report are self-explanatory. A large number of empty rows and columns can indicate problems with the structure of the worksheet, such as an isolated calculation situated a long way out from the main contents of the sheet. Similarly a low average density (proportion of non-blank cells) can indicate a highly fragmented structure.In versions of Microsoft Excel from 2002 onwards, Rainbow Analyst will be unable to access information on Visual Basic code unless you have adjusted your Macro Security settings. Click on Tools, Macro, Security, Trusted Sources, then click on the check box labelled Trust access to Visual Basic Project. If you have not done this, rows 9 and 10 of the Summary Report will indicate "Unable to report".Rainbow Analyst User Guide    ExpiryWkBookUsedRngpatternCelltypeColour /colour?Setpattern? Set patternInputsWorkingsOutputsLabelsNumbersFormulasLockedUnlockedThe first step is to indicate the colour and/or pattern that you require in column C, by selecting Format and Cells from the menu or by pressing Ctrl+1, and then choosing the colour and/or pattern that you require from the dialog box. Cell ErrorsNote that although Mike has exercised due care and diligence in developing and testing this software, he cannot guarantee its performance, and he cannot be held responsible for any loss or damage, however caused, in connection with the use of this software.Include localsQuick start guideIf you're someone who likes to get straight on with using a product, this "Quick start" section tells you the key things you need to know to get the best out of Rainbow Analyst.When you click on an item in the Rainbow menu or a button on the Rainbow toolbar, you'll generally see a dialogue box with "Click OK to & " near the top. This is Rainbow's guess as to what you want to do, based on your currently selected workbook and worksheet(s).ITo change the selected workbook and worksheet(s), click on the Selection& button. This will open a box where you can select a different (currently open) workbook and worksheets. Hold down the Shift key to select a range of worksheets, or the Control key to select or deselect individual sheets, or click on the Select All button.LMost Rainbow Analyst functions perform one or more of the following actions:H" apply colour to specific cells in the worksheet(s) you have selected;" generate (a) worksheet map(s) in which specific cells have been coloured to reflect information about the corresponding cells in the worksheet(s) you have selected;E" generate a worksheet report listing specific cells or other items.xIf you want Rainbow Analyst to apply colour to your selected worksheet(s), but you want to be able to restore the original colouring afterwards, then you first need to use the Set Restore Point function (near the end of the toolbar). This will record the current formatting of your selected worksheet(s), so that you can restore it afterwards using the Restore Cells function.5If you need to stop Rainbow in the middle of running a function for any reason, simply press Esc or Ctrl+Break. Rainbow will stop and will generally let you know which cell it reached in running the analysis. Of course this means that if Rainbow was producing a report, the report will probably be incomplete.That's all you need to know to get started. For full information on how to use Rainbow's various functions, please read the rest of this User Guide. To obtain a printed copy of the Guide, simply print it like a normal spreadsheet.Workbook ReportsThe three Workbook Reports each produce a worksheet report listing all occurrences of a certain type of object in the current workbook. They normally analyse the whole workbook, though you can select specific sheets for the links report and the comments report.If you then want to add row differences to the map, you can select the Potential Errors function, and select Row differences (and output as map and report). After you click on OK, Rainbow will ask if you wish to use the same map sheet(s) as before; click on Yes, and your map will show row differences as well as dependency types. (See Cell Mapping below for details of how to show row differences as a pattern rather than a colour.)The Potential Errors function lets you highlight and report on certain cells which do not necessarily represent errors, but which may indicate problems that need further investigation:" Workbook Reports lets you generate detailed reports on links to other workbooks, comments (cell notes) and/or defined names in the workbook;Under Complex Formulas, you can set the criteri< a for marking a formula as complex in the (Report-Maps) Potential Errors function." Report-Maps provides reports on potential errors (e.g. hard-coded numbers) and other cells, combined with cumulative overlapping worksheet maps;Please consult the final section of this User Guide for full information on installing Rainbow Analyst, and also for important information on copyright and liability.Overview of Rainbow functionsThe first four items on the Rainbow drop-down menu and the Rainbow toolbar are Rainbow's powerful "floodlight" functions, which are probably the first ones you'll want to use when starting to analyse a spreadsheet:" Summary Report gives you a quick overview of a workbook, and lists data for each sheet which can already start to suggest possible problem areas;" Dependency Map shows you the role of each cell in the logic of the spreadsheet, and highlights potential issues such as blank input cells;" Inter-Sheet Logic provides a fast analysis of logic flows between sheets, with a matrix-style report that lets you drill down for detailed information;" Formula Groups highlights (and reports on) groups of copied formulas, so that you can easily spot inconsistencies and adjustments.wThe next four items on the Rainbow menu or toolbar are "spotlight" functions which zoom in to examine specific details:" Set Restore Point records the current formatting of your selected worksheet(s), so that you can restore it again using Restore Cells;" Format Editor works in conjunction with other Rainbow functions to enable you to apply formatting changes, for instance to all input cells;}" (Un)Hide/Protect can hide or unhide and protect or unprotect selected worksheets, and also unhide hidden rows and columns.tThe final group of items on the Rainbow menu are utility functions that let you control how you use Rainbow Analyst:" Cell Mapping gives you control over how Rainbow maps different types of cells and different groups of formulas with colours and/or patterns;" Preferences lets you set various options, for instance whether to create reports as separate workbooks or as worksheets in one workbook;l" User Guide displays this User Guide in the form of a new Excel workbook that you can view, save or print.u" About Rainbow enables you to register your copy of Rainbow Analyst, and displays licensing and version information.Using Rainbow in practicekWhen you first start to look at a spreadsheet developed by someone else, you may want to begin by understanding the overall structure and logical flow. This is the purpose of the Summary Report and the Inter-Sheet Logic functions. The latter can show you at a glance, for each sheet, which other sheets (and other workbooks) it depends on, and which depend on it.When you want to start looking at the detailed calculations in a model, it is time to use the Formula Groups function followed by the Cell Inspector. The Formula Groups function lets you see at a glance the blocks of copied formulas in a spreadsheet, so that you can save a great deal of time by examining just one formula in each block. This function will also show you where individual formulas have been overwritten or modified inconsistently, perhaps to make last-minute adjustments.Rainbow functions in detailThe Restore Format functions allow you to restore aspects of the format that you have changed using the various functions described in the sections above. You can choose to undo changes to cell colours or patterns or both (with Restore Cells), or font colours or cell locking or cell borders. So for instance if you have used the Dependency Map function with row differences shown as a pattern, you can use the Restore Cells function to remove the row differences pattern by restoring the cell patterns from the last restore point.If you have selected output in the form of a map, Rainbow will include the map worksheet(s) as well as the report in your selected report workbook. As far as possible it will give them the same names as the worksheets they are mapping.WOther options which are specific to particular functions are explained in detail below.Summary ReportbIt is always worth producing a Summary Report before looking at a spreadsheet in detail. The report is quick to produce, and can indicate unexpected issues such as Visual Basic code, hidden sheets or excessively long formulas. The report will run even if some sheets are protected, but it can only show a very limited amount of data for protected sheets.>The proportions of constant numbers and calculated numbers will indicate whether a sheet is used mainly for inputs or for calculations. The average and maximum formula length will point to sheets which may need particularly careful examination later, as also will the numbers of error values and comments (cell notes).Dependency MapYou can use the Dependency Map function to get a better understanding of the structure of each worksheet and to look for indications of potential problems. This function in effect creates a colour map of the logical characteristics of a worksheet, and you will see immediately whether the sheet is well structured, with consistent blocks of colour running right across rows and very few row differences. A badly structured worksheet, on the other hand, will look like a messy patchwork of different colours.Cell InspectorMapping Blank Inputs Rows to checkColumns to check Nested IFs'Note mapping information in columns F:GIf you come across a complex formula, perhaps with several nested "IF" statements, you can click on "Parse Formula" to see a structured layout of the formula which will quickly identify which are the relevant components of each "IF" statement. And at any time you can click the Minimise button so that you can see the parts of the worksheet which may be hidden by the Cell Inspector dialogue box.DependExcel stores colour information as index numbers to the currently selected palette of colours, and consequently a cell may sometimes change colour when copied from one workbook to another one which has a different colour palette. Rainbow displays the colours using the palette of the current workbook, and so you may find that the colours appear different depending on which workbook you have open when you view them. Other GroupsLong formula charsRow HeadingUser Guide ContentsWhere Rainbow finds differences, it will report the formulas in each cell as they appear after any adjustments that it has already made. Cl<early this can mean that the formulas may refer to different rows from those which they referenced before the adjustments were made. However, Rainbow always shows the original address (before adjustments) of each cell in the columns headed "Cell 1" and "Cell 2".&Sometimes Rainbow will be unable to detect insertions or deletions, even though they may be obvious to you. In this case, you may wish to help Rainbow by setting up marker cells which will tell it where the corresponding rows are located. In order to do this, you need to know that what Rainbow is looking for is a good (> 80%) match for the block of 15 cells to the right of the first column where there is a difference. It will search forward by up to 30 rows in each workbook looking for a matching block which will indicate the corresponding row.|A common reason for differences between two versions of a workbook is that rows may have been inserted or deleted in the later version. Rainbow Analyst will normally attempt to adjust for this by detecting how many rows have been inserted or deleted and inserting rows temporarily to bring the two workbooks into line with each other. It leaves the inserted rows in place while doing the comparison, and then automatically removes them at the end to restore both workbooks to their original state. (Note however that automatic row insertion is disabled when comparing multiple areas in a single sheet, to avoid unexpected interactions.) Entire sheets<" Inputs are cells which have dependents but no precedents.@" Workings are cells which have both precedents and dependents.=" Outputs are cells which have precedents but no dependents.K" Labels are non-empty cells which have neither precedents nor dependents.Setting colours and patternsYou can use the box below to select the colours and patterns that you want Rainbow Analyst to apply to various different types of cells..The Cell Inspector is an interactive function which displays the precedents and dependents of the currently selected cell, and also provides a best-guess description of the meaning of each cell. It will take you to each precedent or dependent (double-click on the relevant line or click the appropriate button) so that you can explore the logic and check out the meaning of each cell. Then click the back-arrow button to return to where you were before. The Cell Inspector title bar shows how many steps you are from the original cell (#1) where you started.NFor most cells, the description will be in two parts separated by a dash, e.g. "Net Profit - Year 1". This indicates that the row heading is "Net Profit" and the column heading is "Year 1". Sometimes there may be only one heading, e.g. "Net Profit", and sometimes a heading may have two parts, e.g. "All Products Net Profit". To find the headings, Cell Inspector uses a probabilistic scoring system which cannot be guaranteed to be always accurate, but has been found to be highly reliable across a range of financial models, and can provide a very fast indication of possible faulty logic.S" Hard-coded number cells, where an input number has been combined with a formula.c" Cells which contain an error value, i.e. #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! or #VALUE!.Row DifferencesComplex Formulas<" Cells which contain an input number (i.e. not a formula).8" Cells containing a formula which calculates a number." Cells which are locked." Cells which are unlocked.fRow differences can be a very useful indicator of inconsistencies in the calculations, though you may find it more helpful to use Formula Groups to check the different formulas in the spreadsheet. Note that both row differences and column differences only show changes in formulas; they do not show (for instance) formulas overwritten with hard-coded inputs.Unlocked FormulasReport book nameColumn differences are similar to row differences, and will mainly be relevant for spreadsheets where the calculations are structured by columns rather than by rows.Rainbow Analyst Professional is intended for use with versions of Microsoft Excel from Excel 2000 onwards, because some Rainbow functions (particularly cell dependencies) require features which were not available in Excel 97 and earlier releases.Inter-Sheet Logic User Guide Preferences About Rainbow ComparisonDefaultsCompare formulasCompare valuesSeparate formulasGrouped formulas* ~n( 6uRAdO0Z1fmtD<q l adR<z D ?}m Pj0J  dZ||{Q}A} \);_(* "ef;_(@_) }A} \);_(* "ef;_(@_) }A} \);_(* "ef;_(@_) }A} \);_(* "ef;_(@_) }A} \);_(* "ef;_(@_) }A} \);_(* "ef ;_(@_) }A} \);_(* "L;_(@_) }A} \);_(* "L;_(@_) }A} \);_(* "L;_(@_) }A} \);_(* "L;_(@_) }A} \);_(* "L;_(@_) }A} \);_(* "L ;_(@_) }A} \);_(* "23;_(@_) }A} \);_(* "23;_(@_) }A} \);_(* "23;_(@_) }A} \);_(* "23;_(@_) }A}  \);_(* "23;_(@_) }A}! \);_(* "23 ;_(@_) }A}" \);_(* ";_(@_) }A}# \);_(* ";_(@_) }A}$ \);_(* ";_(@_) }A}% \);_(* ";_(@_) }A}& \);_(* ";_(@_) }A}' \);_(* " ;_(@_) }A}( \);_(* ";_(@_) }}) }\);_(* ";_(@_)    }}* \);_(* ";_(@_) ??? ??? ??? ???}-}/ \);_(* "}A}1 a\);_(* ";_(@_) }A}2 \);_(* ";_(@_) }A}3 \);_(* "?;_(@_) }A}4 \);_(* "23;_(@_) }-}5 \);_(* "}}7 ??v\);_(* "̙;_(@_)    }A}8 }\);_(* ";_(@_) }A}9 e\);_(* ";_(@_) }x}:\);_(* ";_(  }}; ???\);_(* ";_(??? ???  ??? ???}-}= \);_(* "}U}> \);_(* ";_( }-}? \);_(* "M 20% - Accent1 ef %M" 20% - Accent2 ef %M& 20% - Accent3 ef %M* 20% - Accent4 ef %M. 20% - Accent5 ef %M2 20% - Accent6  ef %M 40% - Accent1 L %M# 40% - Accent2 L湸 %M' 40% - Accent3 L %M+ 40% - Accent4 L %M/ 40% - Accent5 L %M3 40% - Accent6  Lմ %M 60% - Accent1 23 %M$ 60% - Accent2 23ٗ %M( 60% - Accent3 23֚ %M, 60% - Accent4 23 %M0 60% - Accent5 23 %M4 60% - Accent6  23 %AAccent1 O %A!Accent2 PM %A%Accent3 Y %A)Accent4 d %A-Accent5 K %A1Accent6  F %9Bad  % Calculation  }%  Check Cell  %????????? ??? Comma( Comma [0]&Currency. Currency [0]G5Explanatory Text %: Followed Hyperlink;Good  a%G Heading 1 I}%OG Heading 2 I}%?G Heading 3 I}%239 Heading 4 I}%( HyperlinkuInput ̙ ??v% K Linked Cell }%ANeutral  e%"Normalb Note  wOutput  ???%????????? ???$Percent1Title I}%MTotal %OO? Warning Text %XTableStyleMedium9PivotStyleLight16ccB{mU7hgY H  1 @cS4:@DCFH KMPSV^XZZ  dMbP?_*+% Page &P of &N&~?'~?(~?)~?MXhp deskjet 990c series߀ 4 dں ں@RLdͫLPT1:" d `? `?U} Y} P[} $ Ych     h  X Z [$ [@\  *$B000A0@ @D031 Quick start guide@ \X *$5B000A0@ @D5)&054 Overview of Rainbow functions@ \ *$OB000A0@ @DO%"080 Using Rainbow in practice@ \ *$[B000A0@ @D['$092 Rainbow functions in detailF \< 0$gB000A0@ @Dg 104 Summary ReportF \x0$sB000A0@ @Ds 116 Dependency MapF\0$B000A0@ @D# 138 Inter-Sheet LogicF\0$B000A0@ @D 152 Formula GroupsF\40$B000A0@ @D"168 Workbook ReportsF\t0$B000A0@ @D178 Report-MapsF\0$B000A0@ @D214 ComparisonsF\0$B000A0@ @D 255 Cell InspectorJ\ 4$ B000@A0@ @D # 267 Set Restore PointJ\d4$B000@A0@ @D 275 Restore FormatF\0$B000A0@ @D281 Format EditorJ\4$&B000@A0@ @D&"295 (Un)Hide/ProtectJ\ 4$0B000@A0@ @D0305 Cell MappingJ\T 4$>B000@A0@ @D>319 PreferencesJ\ 4$NB000@A0@ @DN335 User GuideF\ 0$RB000A0@ @DR339 About Rainbow@\  A*$VB000A0@ @DV&#343 Installation and licensing\ Z [< eqmonnqnpkknurmtponmn "$&'()+-/135h789:;=>?@ "[ $[ &[ '[ ([ )[ +[ -[ /[ 1[ 3\ 5Z 7[ 8[ 9[ :[ ;[ =[ >[ ?[ @[.ACDEFGIJKLMOhQSUWY[h]_ A[ C[ D[ E[> F[ G[ I[ J[ K[ L[ M[ OZ Q[ S[ U[ W[ Y[' [Z ][( _[),|aceg,ikmoqs,uvwxy{} a[ c[ e[ g] i[ k[ m[ o[ q[* s] u[ v[ w[  x[  y[  {[ }[, [-(dT,, [^ [+ [_ [` ] [. [a [b [c [/ [# ] [d [e [f [g [h&B@,, [i [j [k ] [ [l [m [n ]o [N [ [O [x [ [p [q [ [r [*h, [ [ [ [] [| [{ [ [ [ [ [y [z ] [~ [ [ [ [ [ [9 [:., [ [ [ [0 [ [ [} [ [% [< [ [; [ [& [= [ [ [ ] [,| , ,,  [ [1 [ [2 ]s [@ [? [A ]t [ [B ]u [C [5 [F [D [E&B@"$&,(*,.0,2468:<>,@ "[G $[6 &]v ([H *[I ,[J .[K 0]w 2[L 4[7 6[ 8[M :[P <[8 >] @[Q$ ,BDFHJLN,PR,TVhXZ\^` B[R D[V F[S H[T J[U L[ N] P[! R]  T[ VZ X[ Z[ \[ ^[ `[$ ,b b[">@7 Sheet1hst3J/C:\My Documents\Rainbow\Web Page\rainbow32.htmlRainbow031MGS_7219&`" ggD  1 ;a+ho  dMbP?_*+%MXhp deskjet 990c series߀ 4 dں ں@RLdͫLPT1:" d??U} N} N} IN} $ N;h@@ @  @  @   @W A  y zzzzyzzzz yzzzzyzzzz yY zzzz yzzzz yZ zzzz yzzzz yX zzzz B D D D E C F F F GOPPPQ OxI?IJ O`H?HK OaH?HK ObH?HK OrH?HK OcH?HK O[jH?HK O\dH?HK OeH?HK OfH?HK OgH?HK OhH?HK OiH?HK O e H?HK<     FF4444444444444!"#$%&'()*+,-./0123456789: !O!j!H?HK "O"f"H?HK #O#k#H?HK $O$l$H?HK %O%d%H?HK &O &e&H?HK 'O'm'H?HK (O(b(H?HK )O)n)H?HK *O*f*H?HK +O+o+H?HK ,O,`,H?HK -O-a-H?HK .O.b.H?HK /O/p/H?HK 0O0g0H?HK 1O1h1H?HK 2O2i2H?HK 3O3q3H?HK 4O4j4H?HK 5O5r5H?HK 6O6s6H?HK 7O7t7H?HK 8O8u8H?HK 9O9v9H?HK :R:w:L?LM8P4444444444444444444444444>@J      7 Sheet2&JggD  1 Evx|}  dMbP?_*+%MXhp deskjet 990c series߀ 4 dں ں@RLdͫ" d??U} T} T} $ TE   S T T3 U T4 U T T V U T ~ W? T"T U TT T U T T U T T&@ #%&)+,-023689:<=? T T #U %T~ %WY@ &T~ &W$@ )U +T +T ,T~ ,W`@ -T~ -W@ 0U! 2T2T 3T3T 6U 6W 6W" 8T#8T8T 9T$9T9T :T:T:T <T&<T<T =T%=T=T ?T?T?T(xT*&&&&&@ACD @T@T@T ATATAT CTCTCT DTDTDT <&&&>@7 Sheet3& ggD  1 ك]m}%5EUeu -= M  dMbP?_*+%MXhp deskjet 990c series߀ 4 dں ں@RLdͫLPT1:" d??U} $ _} _} $ _      ^ _ _ _  _  _  _  _  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D<l  !"#$%&'()*+,-./0123456789:;<=>? _ !_ "_ #_ $_ %_ &_ '_ (_ )_ *_ +_ ,_ -_ ._ /_ 0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_ :_ ;_ <_ =_ >_ ?_D@l@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @_ A_ B_ C_ D_ E_ F_ G_ H_ I_ J_ K_ L_ M_ N_ O_ P_ Q_ R_ S_ T_ U_ V_ W_ X_ Y_ Z_ [_ \_ ]_ ^_ __D@l`abcdefghijklmnopqrstuvwxyz{|}~ `_ a_ b_ c_ d_ e_ f_ g_ h_ i_ j_ k_ l_ m_ n_ o_ p_ q_ r_ s_ t_ u_ v_ w_ x_ y_ z_ {_ |_ }_ ~_ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l !"#$%&'()*+,-./0123456789:;<=>? _ !_ "_ #_ $_ %_ &_ '_ (_ )_ *_ +_ ,_ -_ ._ /_ 0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_ :_ ;_ <_ =_ >_ ?_D@l@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @_ A_ B_ C_ D_ E_ F_ G_ H_ I_ J_ K_ L_ M_ N_ O_ P_ Q_ R_ S_ T_ U_ V_ W_ X_ Y_ Z_ [_ \_ ]_ ^_ __D@l`abcdefghijklmnopqrstuvwxyz{|}~ `_ a_ b_ c_ d_ e_ f_ g_ h_ i_ j_ k_ l_ m_ n_ o_ p_ q_ r_ s_ t_ u_ v_ w_ x_ y_ z_ {_ |_ }_ ~_ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _D@l !"#$%&'()*+,-./0123456789:;<=>? _ !_ "_ #_ $_ %_ &_ '_ (_ )_ *_ +_ ,_ -_ ._ /_ 0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_ :_ ;_ <_ =_ >_ ?_D@l@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @_ A_ B_ C_ D_ E_ F_ G_ H_ I_ J_ K_ L_ M_ N_ O_ P_ Q_ R_ S_ T_ U_ V_ W_ X_ Y_ Z_ [_ \_ ]_ ^_ __D@l`abcdefghijklmnopqrstuvwxyz{|}~ `_ a_ b_ c_ d_ e_ f_ g_ h_ i_ j_ k_ l_ m_ n_ o_ p_ q_ r_ s_ t_ u_ v_ w_ x_ y_ z_ {_ |_ }_ ~_ _D@l      !#%&'M)*+,-./0123456789:;<=>?@ABCDEFGHIJKL$NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} _ _ _ _ _ _ _ _