It is common for a user of a spreadsheet application to want to apply a function on the values included in a range of cells. In a typical spreadsheet application, when a user selects a range of cells while in a formula editing mode, the range of the selected cells (e.g., “=A3:A5”) is automatically inserted into the cell into which the formula is being entered. However, typically the user must manually specify a function (e.g., “=SUM(A3:A5)”) in a syntax acceptable by the spreadsheet application, for example by entering text and/or operators conforming to that syntax and/or selecting the function from a toolbar, menu, or other interface, either before or after selecting the range of cells to which the function is desired to be applied. It would be useful if a user did not have to manually specify a function.
Thus, there is a need for an improved manner for providing functions.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
a) illustrates an embodiment of entering a formula editing mode in a host cell.
b) illustrates an embodiment of selecting a cell and the corresponding automatic insertion of a reference to the cell in a host cell.
c) illustrates an embodiment of selecting a range of cells and the corresponding automatic insertion of a default function with the selected range of cells as its arguments in a host cell.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. A component such as a processor or a memory described as being configured to perform a task includes both a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Automatically inserting a default function into a host cell is disclosed. In some embodiments, in response to receiving an indication of a selection and/or a specification of a set of one or more cells while in a formula editing mode, a default function is automatically inserted into a host cell into which a formula is being entered with the set of one or more cells as its arguments.
As used herein, the term “cell” refers to a cell associated with at least standard spreadsheet functionality. The term “at least standard spreadsheet functionality” in the context of a cell includes the ability to define the content of one cell in such a way that the content of the one cell is determined based at least in part on the content of one or more other cells, and the content of the one cell is updated automatically without further human action if the content of one or more of the one or more other cells is changed. As used herein, the term “host cell” refers to a cell in a formula editing mode, i.e., a cell into which a formula is being entered. In some embodiments, cells in a spreadsheet application are organized into one or more individual tables or table objects, each of which includes a desired number of rows and columns of cells. In such cases, a sheet of a spreadsheet document may include a desired number of table objects. Although in many of the examples described herein the cells of a spreadsheet application are organized into such table objects, the techniques described herein may be similarly employed with respect to other cell configurations or organizations, such as the (seemingly) infinite single grid or table of cells in each sheet of some typical spreadsheet applications that includes an unlimited (or very large) number of rows and columns of cells. Although many of the examples provided herein are with respect to a spreadsheet application, the techniques described herein may be similarly employed with respect to any application, spreadsheet or otherwise.
In some embodiments, when one or more cells are selected and/or specified while in a formula editing mode, a default function is automatically inserted into a host cell into which a formula is being entered with the selected and/or specified cells as its arguments. In some embodiments, the default function comprises a “SUM” function, i.e. a function that sums or adds the values included in and/or specified by its arguments. In some embodiments, a user has an option to specify the default function. In various embodiments, a user may specify a pre-defined function (e.g., “SUM”, “PRODUCT”, “SQRT”, etc.) and/or may define a custom function or formula to be the default function. In some embodiments, a user may enable and/or disable an option to automatically insert a default function. In such cases, for example, when enabled, the default function (e.g., SUM( )) is automatically inserted into a host cell when one or more cells (e.g., A3:A5) are selected and/or specified with the selected and/or specified cells as the arguments of the default function (e.g., SUM(A3:A5)), and when disabled, only references of the selected and/or specified cells (e.g., A3:A5) are inserted into the host cell. In some embodiments, the default function is inserted if a non-contiguous or not fully contiguous set of cells is selected and/or specified, using an appropriate syntax for a non-contiguous set of cells as arguments. For example, if non-contiguous cells A3, B6, and G10 are selected while in a formula editing mode with respect to a host cell, in some embodiments, the default function “SUM” is entered automatically and the selected cells included as arguments in a syntax appropriate for a discontinuous set of cells, e.g., “SUM(A3, B6, G10)”. In some embodiments, a default function is automatically inserted into a host cell when two or more cells are selected and/or specified, e.g., if the default function is configured to operate on two or more values.
a)-(c) illustrate an embodiment of the automatic insertion of a “SUM” function into a host cell.
As described herein, automatically inserting a default function into a host cell in response to the selection and/or specification of a set of one or more cells may save a user the steps associated with manually entering such a function. If the default function automatically inserted into a host cell is not desired by a user, the user can manually change, delete, or otherwise “undo” the automatic insertion of the function. In some embodiments, a user has an option to disable the automatic insertion of a default function. However, in the cases in which a user frequently uses a particular function, it is useful to automatically insert the function in response to an indication that the function may be desired (e.g., if the user selects and/or specifies one or more cells when in a formula editing mode) so that the user does not have to manually enter the function and be troubled about providing the correct syntax of the function.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.