User defined spreadsheet functions
First Claim
1. A computer program product encoding a computer program for executing on a computer system a computer process for creating a user-defined function in a spreadsheet application, the user-defined function being callable by a calling label in the spreadsheet application, the computer process comprising:
- receiving a formula in the spreadsheet application;
defining an interface identifying the calling label, an input parameter and a result parameter of the user-defined function;
transferring the formula to a function sheet of the spreadsheet application to define at least a portion of a function body, wherein the function body operates on an argument corresponding to the input parameter and generates a result corresponding to the result parameter; and
storing the interface in association with the function body to create the user-defined function.
2 Assignments
0 Petitions
Accused Products
Abstract
User-defined function capabilities in a spreadsheet application allow users to create new named functions that are defined using the spreadsheet formula paradigm. A user may define spreadsheet functions from formulae entered in a worksheet or function sheet of a spreadsheet application. The formula interface is well known to spreadsheet users; therefore, expanding the formula feature to provide encapsulated functions that can be imported, exported, customized, and compiled supplies new power and flexibility to users who do not wish to learn a programming language. Furthermore, the user-defined functions in spreadsheets represent vectors and matrices as “first class” values, similar to Boolean values, numbers, and strings.
112 Citations
20 Claims
-
1. A computer program product encoding a computer program for executing on a computer system a computer process for creating a user-defined function in a spreadsheet application, the user-defined function being callable by a calling label in the spreadsheet application, the computer process comprising:
-
receiving a formula in the spreadsheet application;
defining an interface identifying the calling label, an input parameter and a result parameter of the user-defined function;
transferring the formula to a function sheet of the spreadsheet application to define at least a portion of a function body, wherein the function body operates on an argument corresponding to the input parameter and generates a result corresponding to the result parameter; and
storing the interface in association with the function body to create the user-defined function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of creating a user-defined function in a spreadsheet application, the user-defined function being callable by a calling label in the spreadsheet application, the method comprising:
-
receiving a formula in the spreadsheet application;
defining an interface identifying the calling label, an input parameter and a result parameter of the user-defined function;
transferring the formula to a function sheet of the spreadsheet application to define at least a portion of a function body, wherein the function body operates on an argument corresponding to the input parameter and generates a result corresponding to the result parameter; and
storing the interface in association with the function body to create the user-defined function. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for creating a user-defined function in a spreadsheet application that is callable by a calling label in the spreadsheet application, the system comprising:
-
an interface definition module defining an interface identifying the calling label, an input parameter and a result parameter of the user-defined function;
a function sheet generator receiving a formula in the spreadsheet application and transferring the formula to a function sheet of the spreadsheet application to define at least a portion of a function body, wherein the function body operates on an input argument corresponding to the input parameter and generates a result corresponding to the result parameter; and
an encapsulation module storing the interface in association with the function body to create the user-defined function.
-
Specification