GB2394333A - Display of precedent cells in a spreadsheet - Google Patents

Display of precedent cells in a spreadsheet Download PDF

Info

Publication number
GB2394333A
GB2394333A GB0323612A GB0323612A GB2394333A GB 2394333 A GB2394333 A GB 2394333A GB 0323612 A GB0323612 A GB 0323612A GB 0323612 A GB0323612 A GB 0323612A GB 2394333 A GB2394333 A GB 2394333A
Authority
GB
United Kingdom
Prior art keywords
cell
cells
computer
precedent
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0323612A
Other versions
GB0323612D0 (en
Inventor
Iain Morrow
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of GB0323612D0 publication Critical patent/GB0323612D0/en
Publication of GB2394333A publication Critical patent/GB2394333A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Abstract

Analysis of calculations contained within cells of spreadsheet applications by determining and displaying a list of direct and indirect precedents for the calculation in question, ignoring cells which are referenced but do not contribute to the result, having blank or zero content.

Description

1 2394333
1 "Systems and Method for Improved Data Processing" 3 The present invention relates to the field of
4 information processing by electronic means. The 5 invention is particularly concerned with the 6 processing and presentation of information by 7 computer program applications, and in particular 8 that contained in electronic spreadsheets.
10 Electronic spreadsheets, such as Microsoft Excel, 11 are known, and offer improvements in creating, 12 editing and using financial models. Electronic 13 spreadsheets permit the user to input and manipulate 14 data, through the use of standard computer input 15 devices, and to view the results of data processing 16 performed by the spreadsheet on the visual display 17 unit. Spreadsheets are essentially made up of a 18 large grid, with each box or cell in the grid having 19 a unique reference number such as Al, G8, Z15 and so 20 on. Each cell can contain one value, which is either 21 an input, or is calculated based on one or more
1 other values. Modern spreadsheets have extended 2 this, so that the values can depend on values in 3 other sheets, and can give rise to graphs or other 4 reports that do not fit in cells. There is a more 5 detailed description of what a spreadsheet is in the
6 existing US Patent 6,138,130 ("System and Method for 7 Processing Data in an Electronic Spreadsheet in 8 Accordance with a Data Type", Adler et al.).
10 The values in spreadsheets, as stated above, can be 11 defined in terms of values in other cells (or 12 elsewhere in modern spreadsheets). These values can 13 themselves depend on other values and so on. If you 14 consider the first cell to be at the base of a tree, 15 and the link to each preceding cell as a branch (and 16 the links to the preceding cell of the preceding 17 cells as branches and so on), then this gives rise 18 to a calculation tree for any particular value. The 19 term "precedents" is used here to mean the set of 20 all the cells in this tree except the first cell 21 (i.e. all the cells that the first cell explicitly 22 or implicitly depends on). The term "direct 23 precedents" is used here to mean the cells that a 24 particular cell explicitly refers to in its 25 calculation. 27 It is advantageous in certain circumstances for the 28 end user to trace the calculation of the value of a 29 particular cell. This involves displaying all or 30 part of the calculation tree for that value. Some of 31 the branches in the calculation tree are more 32 relevant for determining the value of the cell of
1 interest than others. The disadvantage of existing 2 spreadsheet programs, or other programs that analyse 3 their output, is that when tracing the calculation 4 of the value of a particular cell, a large number of 5 cells are displayed, many of which are redundant for 6 the purpose of that particular cell calculation.
7 Thus a large amount of redundant information is 8 displayed, rendering the analysis of the cell's 9 value unnecessarily time-consuming and complex for 10 the end user.
12 According to an aspect of the present invention, 13 there is provided a computer-implemented method of 14 data processing involving the steps of: 16 (i) The user selecting a cell to analyse; 18 (ii) parsing the cell's calculation rule into 19 separate elements; 21 (iii) analysing each element and determining its 22 nature; 24 ( iv) determining the cell or cells that are 25 referenced by each element determined in 26 step (ii) ; 28 (v) displaying the cells from the previous step, 29 except those which do not directly 30 contribute to the value of the cell chosen 31 by the user, including those which have a 32 blank or zero value.
2 According to a second aspect of the present 3 invention there is provided a computer based system, 4 comprising data storage means, visual display means, 5 data processing means, including computer software 6 and computer hardware, and a user interface.
8 Preferably the data storage means is any suitable 9 electronic memory unit, such as a computer disc.
11 Preferably the visual display means is a monitor.
13 Preferably the data processing means is a computer 14 program as defined according to the present 15 invention.
17 According to a further aspect of the present 18 invention there is provided a computer programmed to 19 store given alphanumeric information, and to perform 20 mathematical calculations and specialized functions 21 in accordance with user requests, such that only 22 information related to said request is displayed to 23 the user, and redundant information is hidden from 24 the user.
26 According to a still further aspect of the present 27 invention there is provided a computer program 28 product comprising a computer readable medium, 29 having thereon computer program code means, said 30 program when loaded performing the method as defined 31 by the computer program described herein.
1 For the avoidance of doubt, the program as described 2 herein may be either loaded independently from a 3 suitable spreadsheet program or may perform the 4 operations of the program as part of a suitable 5 spreadsheet program. Said program, if a separate 6 program, then integrates with the spreadsheet 7 program such that it may be accessed directly when 8 running the spreadsheet program by way of, for 9 example, an icon on the toolbar.
11 The present invention will now be described by way 12 of example only with reference to the following 13 drawing in which: 15 Fig 1 illustrates a basic spreadsheet containing 16 alphanumeric information.
18 Fig 2 illustrates an operational model of one 19 embodiment of a data processing method in accordance 20 with the present invention.
22 Referring now to Fig 1, each cell within the 23 spreadsheet has a value 10; this value may be 24 either: a value 12 which is input by the user or a 25 value which is the result of one or more 26 mathematical or other calculations 14,or it may be a 27 combination thereof. A simple calculated cell may 28 be the result of, for example, a multiplication 16 29 or an addition 18. Cell G8, 18, is calculated as As, 30 14, plus B5, 16. Cell A3, 14, is calculated as 31 A1*A2, and cell B5,16 is calculated as C1*D6. If the 32 value of a particular cell B5, is zero, 16, then
1 this cell does not contribute to the value of G8, 2 and thus constitutes redundant data for this 3 calculation tree. Each cell's calculation rule is 4 parsed for the purpose of determining the 5 calculation tree, that is, broken down into discrete 6 elements. If the element is a reference to a cell or 7 a block of cells, then the program analyses each 8 cell in that block. If the value of the cell is not 9 blank or zero then it is added to the list of direct 10 precedents for the cell of interest.
12 Referring now to Fig 2, if the element, when parsed 13 is a function, rather than a simple mathematical 14 calculation, then it has zero or more arguments. If 15 the element is the IF function 20, then it has three 16 arguments: a condition, a TRUE part and a FALSE 17 part. The program determines if the condition is 18 true or false 22, and then analyses the cell or 19 cells that the true or false part respectively 20 refers to 24. Cells with a value that is not blank 21 or zero are added to the list of direct precedents.
22 The cells referred to by the condition and the other 23 argument are not added to the list of direct 24 precedents.
26 If the element is the HLOOKUP or VLOOKUP function 27 26, then the program determines the range of cells 28 that are contained in the lookup table 28. The 29 column number 30 and the row number 32 are 30 determined, and the single relevant cell is 31 displayed 34. This cell is then added to the list of
1 direct precedents, unless its value is blank or zero 2 36. 4 If the element is the INDIRECT function 38, then the 5 program will determine a second cell reference from 6 a first cell 40 (that reference is the value of the 7 first cell) and from the cell or block of cells 8 referred to by the second cell reference, determine 9 the value 42. Cells with a value that is blank or 10 zero are not added to the list of direct precedents.
12 In use, cells contain either a value which has been 13 input by a user or a value which has been calculated 14 in some manner. The user chooses a cell of 15 interest. If the cell contains a calculated value, 16 the calculation rule for the cell of interest is 17 parsed into elements. Each element is then analysed 18 and its nature determined. If the element is a 19 reference to a particular cell or block of cells, 20 then each cell with relevant information is added to 21 a list of direct precedents for the cell of 22 interest. Any cells with a value that is blank or 23 has a value of zero is not added to the list of 24 precedents. The program then moves on to the next 25 element of the calculation, until such time as all 26 elements in the calculation have been analyzed.
28 If the element is a function, rather than a simple 29 mathematical calculation, then each separate 30 function involves a different series of steps, in 31 order to determine the list of direct precedents for 32 the cell of interest.
1 Such functions may include the IF function, the 2 VLOOKUP function, the HLOOKUP function, and the 3 INDIRECT function.
5 If the element is the IF function then it has three 6 arguments: a condition, a TRUE part and a FALSE 7 part. For example, the function could be "IF (A1=3, 8 B1, C1) n which means "if the value of Al is 3 then 9 this function returns the value in B1, otherwise it 10 returns the value in C1". The program determines 11 whether the condition is true or false, and then 12 takes the appropriate argument and analyses the cell 13 or cells that it refers to. Cells with a relevant 14 value are added to the list of direct precedents, 15 and cells with blank or zero values are ignored.
17 If the element is the HLOOKUP or VLOOKUP function, 18 then it has four arguments: a value to lookup in the 19 first row or column of a table, a reference to the 20 table, the column or row to use and possibly a value 21 saying whether to find an exact match when doing the 22 lookup. For example, the function could be "HLOOKUP 23 ("John", A1:C5, D1, FALSE). This will look for the 24 text "John" in the top row of the table of cells 25 A1:C5. If a match is found, this will give the 26 number of the column to use. The function then 27 evaluates D1 to give the row number to use, and 28 picks the single element out of A1:C5 that is 29 specified by the row and column number it has just 30 worked out. The final argument, FALSE, is to specify 31 that the function should look for an exact match in 32 the top row of the table. If this argument is TRUE,
1 then the function will find the nearest match (in 2 alphabetical or numerical order) and use that 3 column. VLOOKUP works in the same way except that 4 "row" and "column" are reversed in the above 5 explanation. The present invention determines the 6 row and column that the function will use, and then 7 adds the relevant cell from the table to the list of 8 direct precedents. The other cells in the table, and 9 any cells referred to by the other arguments, are 10 not added.
12 If the element is the INDIRECT function, then it has 13 two arguments. This function is unusual in that it 14 does not return a value that is specified in one of 15 its arguments. Instead, what it does is look in the 16 cell specified in the first argument and get the 17 value of that cell. It then uses that value as a 18 reference to a second cell or block of cells, and it 19 returns the value in that cell or block of cells.
20 For example, if Al contains the text "C5" and cell 21 C5 contains the value 100, then INDIRECT (Al) gives 22 the value 100. The second argument (which is 23 optional) specifies what type of address is 24 contained in the cell mentioned in the first 25 argument. The present invention evaluates the first 26 argument and work out what cell it refers to. It 27 then looks in that cell and uses its value to 28 determine what the cell or block of cells is that is 29 really being referred to. It then analyses that 30 block of cells ignoring cells with values of blanks 31 or zeros.Once it has finished analysing the cell or 32 block of cells, or the specialist function and its
1 arguments, the invention moves on to the next 2 element. If there is no next element then it 3 displays the list of direct precedents that it has 4 gathered.
6 The invention offers significant advantages in the 7 ease of navigating complex spreadsheets and avoids 8 redundant data display. The history of calculations 9 and equations calculated in a spreadsheet is 10 accessible with speed and accuracy.
12 It will be appreciated that improvements and 13 modifications may be incorporated without departing 14 from the scope of the invention as defined herein.

Claims (6)

1 Claims
3 1. A computer-implemented method of data processing 4 involving the steps of: 5 (i) a user selecting a cell to analyse; 6 (ii) parsing the cell's calculation rule into a 7 plurality of separate elements; 8 (iii) analysing each element and determining 9 whether the element is a reference, a 10 mathematical calculation or a function; 11 (iv) determining a precedent cell or precedent 12 cells that are referenced, directly or 13 indirectly, by each element determined in 14 step (ii); 15 (v) determining a precedent cell or precedent 16 cells that are a result of an element which 17 is a function; 18 (vi) displaying the precedent cell or cells from 19 steps (iv) and (v), except those which do 20 not directly contribute to the value of the 21 cell chosen by the user, including those 22 which have a blank or zero value.
24
2. A method as claimed in claim 1 wherein the step 25 of displaying the precedent cell or cells further 26 comprises organizing the precedent cell or cells 27 in a tree structure to enable a hierarchical 28 display of precedent cells.
30
3. A computer based system for implementing the 31 method of claim 1, comprising data storage means, 32 visual display means, data processing means,
1 including computer software and computer 2 hardware, and a user interface.
4
4.A computer programmed to implement the method of 5 claim 1.
7
5.A computer program product comprising a computer 8 readable medium, having thereon computer program 9 code means, said program when loaded performing 10 the method as claimed in claim 1.
12
6. A computer-implemented method of data processing 13 substantially as herein described with reference 14 to Figure 1 and 2.
GB0323612A 2002-10-18 2003-10-09 Display of precedent cells in a spreadsheet Withdrawn GB2394333A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GBGB0224272.5A GB0224272D0 (en) 2002-10-18 2002-10-18 Systems and method for improved data processing

Publications (2)

Publication Number Publication Date
GB0323612D0 GB0323612D0 (en) 2003-11-12
GB2394333A true GB2394333A (en) 2004-04-21

Family

ID=9946145

Family Applications (2)

Application Number Title Priority Date Filing Date
GBGB0224272.5A Ceased GB0224272D0 (en) 2002-10-18 2002-10-18 Systems and method for improved data processing
GB0323612A Withdrawn GB2394333A (en) 2002-10-18 2003-10-09 Display of precedent cells in a spreadsheet

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GBGB0224272.5A Ceased GB0224272D0 (en) 2002-10-18 2002-10-18 Systems and method for improved data processing

Country Status (2)

Country Link
GB (2) GB0224272D0 (en)
WO (1) WO2004036453A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032821B2 (en) * 2006-05-08 2011-10-04 Microsoft Corporation Multi-thread spreadsheet processing with dependency levels
US11886916B2 (en) 2020-06-30 2024-01-30 Microsoft Technology Licensing, Llc System for adaptive multithreaded recalculation operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
JP2000029451A (en) * 1998-06-17 2000-01-28 Xerox Corp Display method of table calculating sheet
US6460059B1 (en) * 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Microsoft Excel 2000 Proficient" Shared Computing Services, undated, See "Trace Precedents" *
"Spreadsheet xlNavigator 2002" http://www.windowspc.com/start.pl?page=/system/SpDated 29th October 2001.02.htm. Downloaded 20th January 2004. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032821B2 (en) * 2006-05-08 2011-10-04 Microsoft Corporation Multi-thread spreadsheet processing with dependency levels
US11886916B2 (en) 2020-06-30 2024-01-30 Microsoft Technology Licensing, Llc System for adaptive multithreaded recalculation operations

Also Published As

Publication number Publication date
GB0224272D0 (en) 2002-11-27
WO2004036453A3 (en) 2004-12-29
WO2004036453A2 (en) 2004-04-29
GB0323612D0 (en) 2003-11-12

Similar Documents

Publication Publication Date Title
EP2396736B1 (en) Displaying multiple row and column header areas in a summary table
US7287234B2 (en) Methods, systems and computer program products for use of color saturation to highlight items in a tree map visualization
SG172839A1 (en) Multi-condition filtering of an interactive summary table
EP0657830B1 (en) Method and apparatus for data management
US20060218483A1 (en) System, method and program product for tabular data with dynamic visual cells
CN103488475B (en) Multidimensional data analysis system and multidimensional data analysis method
US20090112787A1 (en) Automated natural language formula translator and data evaluator
US7810032B2 (en) System and method for performing over time statistics in an electronic spreadsheet environment
US20040227759A1 (en) Plotting numerical data
EP1204048A1 (en) Method and apparatus for handling scenarios in spreadsheet documents
EP1606726A1 (en) Graphically defining a formula for use within a spreadsheet program
US10402838B2 (en) Multivariable regression analysis
GB2394333A (en) Display of precedent cells in a spreadsheet
CN115408499A (en) Automatic analysis and interpretation method and system for government affair data analysis report chart
CN115658617A (en) Signal visualization analysis processing method and system based on MATLAB/App Designer development
EP0481814A2 (en) Data processing system
Case Interval arithmetic and analysis
Pace Getting R and Getting Started
Zhang et al. SRD: a universal software tool for DNA/protein sequence relationship visualization based on undirected graphs
Sahay et al. Statistics Packages: A Review of SOLO, EQS and NQuery Advisor
CA2280595A1 (en) A graphical user interface for analysing data from a multiplicity of sources
Qeli et al. Visualization of sensitivity matrices generated during simulations of metabolic network models
Leung A Brief MATLAB Tutorial
EP0541345A1 (en) Displaying dynamic control blocks
AU2004214906A1 (en) Graphically defining a formula for use within a spreadsheet program

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)