IP Library Granted Patent US 10,372,808
Granted Patent B1
US 10,372,808 · App. 13/711,819 · Granted Aug 6, 2019

Passing functional spreadsheet data by reference

Inventors: Joseph J. Kaptur (New York, NY); Zachary E. Lloyd (Brooklyn, NY)
Assignee: GOOGLE LLC
G06F17/246
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,372,808
App. No.
13/711,819
Granted
Aug 6, 2019
Kind
B1
Abstract

A method and apparatus for passing functional spreadsheet data by reference is provided. Passing functional spreadsheet data by reference may include identifying information associated with a first cell of a first sheet of an electronic spreadsheet, the information associated with the first cell including a formula, the formula including a function call, the function call including an argument, the argument indicating a cell identifier associated with a second cell of the electronic spreadsheet; identifying information associated with the second cell, the information associated with the second cell including a function identifier; determining, by a processor in response to instructions stored on a tangible non-transitory computer readable medium, a result of the formula based on the function identifier; and transmitting information including the result of the formula for display in the first cell.

Claims (30)

1. A method of passing functional spreadsheet data by reference in an electronic spreadsheet, the method comprising:

identifying information associated with a first cell of a first sheet of the electronic spreadsheet, the information associated with the first cell including a formula, the formula including a first function call, the first function call including an argument comprising a plurality of formula elements, the plurality of formula elements comprising a cell identifier associated with a second cell, wherein the second cell is one of a plurality of cells in the first sheet or the second cell is one of a plurality of cells in a second sheet of the electronic spreadsheet;

identifying a value of the second cell, the value of the second cell being a text string corresponding to a function name, the function name corresponding to a name of a second function call for use in the argument of the first function call;

determining, by a processor in response to instructions stored on a tangible non-transitory computer readable medium, a result of the formula by steps comprising:

performing the first function call to convert the text string into the second function call that includes at least some of the plurality of formula elements, wherein performing the first function call to convert the text string into the second function call comprises:

modifying a dynamic calculation graph of the formula to include a new edge and a new subtree; and

evaluating the new edge and the new subtree; and

performing the second function call; and

transmitting, to a user device, information including the result of the formula for display in the first cell.

2. The method of claim 1 , wherein the first function call is an EVAL function and the argument includes both the cell identifier and a string.

3. The method of claim 1 , wherein the plurality of formula elements includes the cell identifier and a string.

4. The method of claim 3 , wherein determining the result of the formula includes generating a part of the formula by concatenating the function name and the string.

5. The method of claim 3 , wherein the plurality of formula elements includes a second cell identifier associated with a third cell that includes a part of a third cell identifier, and wherein determining the result of the formula includes identifying the third cell based on the part of the third cell identifier and the string.

6. The method of claim 3 , wherein the plurality of formula elements includes a second cell identifier associated with a range of cells, and wherein determining the result of the formula includes calculating a result of calling the second function call indicated by the function name for each cell in the range of cells using a value of the respective cell as an argument to the second function call indicated by the function name.

7. An apparatus for use in processing data represented as an electronic spreadsheet, the apparatus comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

identify information associated with a first cell of a first sheet of the electronic spreadsheet, the information associated with the first cell including a formula, the formula including a first function call, the first function call including an argument comprising a plurality of formula elements, the plurality of formula elements comprising a cell identifier associated with a second cell;

identify a value of the second cell, the value of the second cell being a text string corresponding to a function name, the function name corresponding to a name of a second function call for use in the argument of the first function call, wherein the text string is a discrete value or a result of a formula that evaluates to a string;

determine a result of the formula by executing instructions to:

perform the first function call to convert the text string into the second function call that includes at least some of the plurality of formula elements, wherein to perform the first function call to convert the text string into the second function call comprises to:

modify a dynamic calculation graph of the formula to include a new edge and a new subtree; and

evaluate the new edge and the new subtree; and

perform the second function call; and

transmit information including the result of the formula for display in the first cell.

8. The apparatus of claim 7 , wherein the first function call is an EVAL function and the argument includes both the cell identifier and a string.

9. The apparatus of claim 7 , wherein the processor is configured to execute instructions stored in the memory to determine the result of the formula by generating a part of the formula by concatenating the function name and the string.

10. The apparatus of claim 7 , wherein the plurality of formula elements includes a second cell identifier associated with a third cell that includes a part of a third cell identifier, and wherein the processor is configured to execute instructions stored in the memory to determine the result of the formula by identifying the third cell based on the part of the third cell identifier and the string.

11. The apparatus of claim 7 , wherein the plurality of formula elements includes a second cell identifier associated with a range of cells, and wherein the processor is configured to execute instructions stored in the memory to determine the result of the formula by calculating a result of calling the second function call indicated by the function name for each cell in the range of cells using a value of the respective cell as an argument to the second function call indicated by the function name.

12. The apparatus of claim 7 , wherein the processor is configured to execute instructions stored in the memory to transmit the information including the result of the formula for display in the first cell to a user device.

Assignments (2)
CHANGE OF NAME Recorded Apr 29, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 049027/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: KAPTUR, JOSEPH J.; LLOYD, ZACHARY E.
To: GOOGLE INC.
Reel/Frame 029459/0731 →