11. The method of claim 1 , wherein the nodes of the expression hierarchy represent individual operators and operands of the formulas, and the edges connecting the nodes representing the evaluation order thereof.
1. A method for creating a representational model of one or more formulas, the formulas residing in a software based spreadsheet system, the method comprising: (a) identifying a collection of one or more sources, the sources being one or more cells located in one or more spreadsheet files or spreadsheet data residing in computer memory; (b) identifying the formulas contained within said sources; (c) creating a separate expression hierarchy for each formula identified in step b, the expression hierarchy comprising: a dependency graph of the formula wherein formulas are represented by nodes connected by edges, the edges forming a directed hierarchal structure representing the evaluation order of each successive reference within the dependency graph, the references being any type of spreadsheet reference including cell reference, area reference, named range, or a function with a reference type argument; (d) creating node groups, the node groups being a set of two or more nodes grouped together as a collection, the conditions used to determine the inclusion of nodes within a node group comprising both the similarities of the operators and operands contained within the formulas being represented by the candidate nodes and the position of the candidate nodes within the expression hierarchies, the operands being considered similar when they share the same numeric or text values, the operators being considered similar when they are equal mathematical operators, equal logical operators, cell references to a cell or an equally sized range of cells, or the same function with similar operands as arguments, the position of similar candidate nodes within the expression hierarchies being compared to determine if they share a common evaluation order within their containing expression hierarchies, the node groups providing a means for two or more nodes to function as a single entity within the system; (e) providing an interface allowing user input to perform edits of nodes and node groups, the edits including changing operator or operand types or values and removing or adding nodes from an expression hierarchy; (f) propagating said edits across all nodes belonging to a node group when said edits are directed to a node belonging to a node group; and (g) updating the contents of the cells containing the formulas represented by the nodes in response to an edit of the nodes and edges in the expression hierarchies, and updating the nodes and edges of the expression hierarchies in response to edits of the formulas being represented by the nodes in the expression hierarchies, such that both the formulas and expression hierarchies remain functionally equivalent after edits.