Program, information processing method, and information processing system
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-10
- Publication Date
- 2026-03-10
AI Technical Summary
Existing spreadsheet software requires users to memorize specific functions and does not allow for flexible input of calculation formulas, making it difficult to express calculations in a user-friendly format.
A spreadsheet device and method that allows input of calculation formulas in a flexible format using a combination of cell references and mathematical natural display, converting formulas into LaTeX notation for processing and display.
Enables users to input and display calculation formulas in a more flexible and understandable format, allowing for easier and more intuitive use of spreadsheet software.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to a spreadsheet device, a spreadsheet method, and a program. [Background technology]
[0002] 2. Description of the Related Art Conventionally, spreadsheet application software (hereinafter abbreviated as spreadsheet software) executed by a computer has been widely used for various business operations.
[0003] In recent years, the introduction of ICT (Information and Communication Technology) devices into school education has progressed, particularly in Europe and the United States, and this has led to an increase in the use of electronic teaching materials in school classes and regular examinations (see, for example, Patent Document 1). Spreadsheet software is naturally used as one of these electronic teaching materials.
[0004] In spreadsheet software, the user can input a formula that uses the values entered in the cells of the spreadsheet as the calculation elements (calculation parameters) to perform calculations. In this case, the cells in which the values to be used as calculation elements are entered are specified by cell coordinates (range). For example, if you enter a formula that specifies a range of cell coordinates as an argument for the function (SUM) that calculates the sum, such as "=SUM(B1:B5)," you can calculate the sum of the values entered in multiple cells from cell coordinate (B1) to cell coordinate (B5). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent Publication No. 2021-157292 Summary of the Invention [Problem to be solved by the invention]
[0006] However, in spreadsheet software, it is necessary to use functions specialized for that spreadsheet software, and for example, when integrating (definite integral) a specified range of values, it is necessary to write "SUM(...)" instead of using natural mathematical notation, which is a general mathematical notation for integrals. Therefore, users need to memorize functions specialized for that spreadsheet software, and it is difficult to express calculation formulas flexibly.
[0007] The problem that the present invention aims to solve is to provide a spreadsheet device, a spreadsheet method, and a program that make it possible to input formulas in a more flexible description format when performing calculations on calculation elements (such as numerical values and formulas) that have been input in tabular format. [Means for solving the problem]
[0008] The spreadsheet device according to the present invention comprises: A formula for performing calculations using calculation elements input in a table format is accepted as a first formula in a first format including a first part corresponding to a description format for referencing cells in the table and a second part corresponding to a description format for natural mathematical display; A calculation process is performed to calculate the first formula using the value of a cell referenced by the first part, or a display process is performed to display the first formula in the mathematical natural display format indicated by the second part. Effect of the Invention
[0009] According to the present invention, it is possible to provide a spreadsheet device, a spreadsheet method, and a program that enable calculation formulas to be input in a more flexible description format when performing calculations on calculation elements input in tabular format. [Brief description of the drawings]
[0010] [Figure 1] 1 is a diagram showing an overall configuration of a spreadsheet system according to an embodiment of a spreadsheet device, a spreadsheet method, and a program of the present invention. [Diagram 2] FIG. 1 is a diagram showing an example of a spreadsheet created by a spreadsheet software. [Diagram 3] FIG. 13 is a diagram showing an example of the contents stored in an input value memory of a terminal included in the spreadsheet system. [Figure 4A] FIG. 13 is a diagram showing an example of the contents of a standard table in a cell value memory of a terminal. [Figure 4B] 11 is a diagram showing an example of the contents stored in a decimal table in a cell value memory of a terminal. FIG. [Diagram 5] FIG. 1 is a diagram showing an example of a formula including a spreadsheet function and a natural mathematical expression, which is entered into a spreadsheet. [Figure 6] 6 is a diagram showing an example of the contents stored in an input value memory of a terminal corresponding to the example in FIG. 5; FIG. [Figure 7] 11 is a flowchart showing a spreadsheet process of a processor of the terminal according to the spreadsheet software. [Figure 8] 8 is a flowchart showing an example of the spreadsheet software function conversion process of FIG. 7 in the case of a formula including a spreadsheet software function in the "SUM(...)" format. [Figure 9A] FIG. 13 illustrates an example of the contents of a standard table when calculation results are stored. [Figure 9B] FIG. 13 is a diagram showing an example of the contents stored in a decimal table when calculation results are saved. [Figure 10] FIG. 13 shows an example of a spreadsheet including a display of calculation results. [Figure 11] FIG. 1 is a diagram for explaining a specific example of a calculation formula including a spreadsheet software function and a natural mathematical expression. [Figure 12] FIG. 11 is a diagram for explaining another specific example of a formula including a spreadsheet software function and a natural mathematical expression. [Figure 13] FIG. 11 is a diagram for explaining yet another specific example of a formula including a spreadsheet software function and a natural mathematical expression. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012] (Configuration of the embodiment) Fig. 1 is a diagram showing the overall configuration of a spreadsheet system 1 according to an embodiment of a spreadsheet device, a spreadsheet method, and a program of the present invention. The spreadsheet system 1 includes a calculation server 10 and a terminal 20. The calculation server 10 and the terminal 20 are communicatively connected via a network 30. The network 30 is, for example, the Internet. Note that, although only one terminal 20 is shown in Fig. 1, the number of terminals 20 that can be connected to the calculation server 10 via the network 30 is not limited to this. One or more terminals 20 can be connected.
[0013] The spreadsheet system 1 executes a calculation based on a formula input by a user. Specifically, in the spreadsheet system 1, calculation data based on a formula input in a cell of a spreadsheet displayed on the terminal 20 and a value input in a reference cell is transmitted from the terminal 20 to the calculation server 10. The calculation server 10 executes a calculation according to the calculation data and transmits the calculation result to the terminal 20. The terminal 20 receives the calculation result and sets it as the data value of the cell in which the calculation formula was input.
[0014] The calculation server 10 includes a processor 11, a ROM 12, a RAM 13, a storage 14, and a communication device 15. Each of these is connected to each other via a system bus 16.
[0015] The processor 11 may be an integrated circuit such as a CPU (Central Processing Unit). The ROM 12 records information used in the operation of the processor 11. The RAM 13 functions as a main storage device of the processor 11. The storage 14 may be a non-volatile memory that can be written and read at any time, such as a HDD (Hard Disk Drive) or an SSD (Solid State Drive). The storage 14 stores various programs, such as a server control program used by the processor 11, a calculation program for executing various calculations, and parameters. The programs include a calculation program 141 that causes the calculation server 10 to function as a part of the spreadsheet device according to the embodiment. The processor 11 controls the operation of the calculation server 10 according to the program stored in the storage 14. As the processor 11, a processor other than a CPU, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), may be used. The communication device 15 is capable of communicating with an external communication network such as the network 30.
[0016] The terminal 20 has a processor 21, a ROM 22, a RAM 23, a storage 24, an input device 25, a display device 26, and a communication device 27. Each of these is connected to each other via a system bus 28. The terminal 20 may be an electronic device such as a personal computer (PC), a tablet terminal, or a smartphone.
[0017] The processor 21 is an integrated circuit such as a CPU that controls various operations of the terminal 20. Other integrated circuits such as ASIC and FPGA may be used as the processor 21. The ROM 22 records a startup program and the like. The RAM 23 functions as a main storage device of the processor 21. The storage 24 may be a non-volatile memory such as an HDD or SSD that can be written and read at any time. The storage 24 stores various programs such as a terminal control program used by the processor 21, parameters, and the like. The processor 21 controls the operation of the terminal 20 by executing various programs in response to an input signal from the input device 25 or a signal received by the communication device 27. The various programs may be downloaded to the storage 24 from a web server (not shown) via the network 30 and the communication device 27. The communication device 27 is capable of communicating with an external communication network such as the network 30.
[0018] The input device 25 includes external input devices such as a keyboard and a mouse, or an input board displayed on a display device 26 of the terminal 20. By operating the input device 25, an input signal is input from an input interface (I / F) to the processor 21 via a system bus 28.
[0019] The display device 26 includes an external display device such as a liquid crystal display, or a display unit such as a liquid crystal display of the terminal 20. An output signal is transmitted to the display device 26 from the processor 21 via the system bus 28 and an output interface (I / F).
[0020] In this embodiment, a spreadsheet software 241 is installed in the storage 24. The spreadsheet software 241 is a spreadsheet program that is executed by the processor 21 to cause the terminal 20 to function as a part of the spreadsheet device according to the embodiment. The processor 21 controls the operation of each circuit part according to the instructions written in the spreadsheet software 241, and the software and hardware work together to realize various functions as described in the operation description below. At that time, the processor 21 secures an input value memory 231 and a cell value memory 232 in the RAM 23, and temporarily stores various data generated during operation in the work memory 233. The input value memory 231 stores data input by a user to a cell in a spreadsheet, and the cell value memory 232 is used to store data input to a cell in the spreadsheet or a calculation result by the calculation server 10.
[0021] 2 is a diagram showing an example of a spreadsheet 100 created by spreadsheet software 241 and displayed on display device 26. This spreadsheet software 241 can display cell values in each cell of spreadsheet 100 in natural mathematical notation, such as "root 2" in cell B1.
[0022] FIG. 3 is a diagram showing an example of the contents stored in the input value memory 231. This example corresponds to the example of the spreadsheet 100 shown in FIG. 2. As shown in FIG. 3, in this embodiment, there are two types of contents to be input into the cells of the spreadsheet 100. For input of numerical values, variables, and spreadsheet software functions, which are prescribed functions specialized for the spreadsheet software 241, the input is accepted as text with the input characters as they are. On the other hand, for input for mathematical natural display, the input is accepted as text in LaTeX notation, which is a notation for typesetting processing systems, rather than as input characters as they are. For example, "root 2" is input as text in LaTeX notation, such as "¥sqrt{2}". The input value memory 231 stores the text thus input into each cell as text data in LaTeX notation (hereinafter referred to as LaTeX data).
[0023] The cell value memory 232 includes a standard table and a decimal table. Fig. 4A is a diagram showing an example of the stored contents of the standard table 232S, and Fig. 4B is a diagram showing an example of the stored contents of the decimal table 232D. The standard table 232S stores the cell values of each cell of the spreadsheet 100 as LaTeX data, similar to the input value memory 231. The decimal table 232D stores the cell values of each cell of the spreadsheet 100 as numeric data in decimal notation.
[0024] The decimal table 232D stores the calculation elements (such as numerical values and calculation formulas) stored in the input value memory 231 or the calculation results of the calculation formulas as cell values. The spreadsheet 100 displays the cell values of each cell according to the stored contents of the standard table 232S. That is, the text written in LaTeX notation is typeset and displayed by the LaTeX typesetting processing system. This makes it possible to display cell values in each cell in natural mathematical notation, as shown by "Root 2" in cell B1 of the spreadsheet 100 in FIG. 2. Even if the calculation elements stored in the input value memory 231 are formulas, there are cases where the formulas are calculated and cases where they are not calculated. Whether or not the formulas are calculated depends on whether or not "=" is entered at the beginning of the formula. Therefore, even if a formula is entered in LaTeX notation, such as "-\sqrt{2}-\sqrt{3}" in the example of input value memory 231 shown in Fig. 3, if "=" is not entered, the formula is not calculated and the formula is stored as a cell value in standard table 232S. Therefore, as shown in cell B5 in Fig. 2, the formula is displayed as a cell value in natural mathematical notation.
[0025] In contrast, the decimal table 232D stores the results of calculations of the cell values of each cell in the spreadsheet 100 as numeric data in decimal notation, regardless of whether or not there is an "=" at the beginning of the formula. For example, "root 2" is stored as "1.14142...", and "-root 2-root 3" is stored as "-3.1462...".
[0026] (Operation of the embodiment) Next, the operation of the spreadsheet system 1 according to the embodiment will be described.
[0027] Fig. 5 is a diagram showing an example of a formula including a spreadsheet software function and a natural mathematical expression input to the spreadsheet 100, and Fig. 6 is a diagram showing an example of the contents stored in the input value memory 231 corresponding to the example of Fig. 5. In this example, a formula including a spreadsheet software function and a natural mathematical expression is input to cell A1 and cell C1. Note that in this embodiment, a formula including a natural mathematical expression is not limited to a formula written in a natural mathematical expression, but also includes a case where the cell value of a referenced cell is in a natural mathematical expression even if the formula is not written in a natural mathematical expression.
[0028] FIG. 7 is a flow chart showing the spreadsheet process of the processor 21 in accordance with the spreadsheet software 241.
[0029] When text is input to any cell from the input device 25, the processor 21 stores the text data (LaTeX data) in the input value memory 231 (step S11). The input from the input device 25 can be, for example, text input in LaTeX notation from a keyboard. Since the user may not be familiar with LaTeX notation, candidates for functions in LaTeX notation may be displayed during input and the user may select them. Alternatively, a software keyboard from which functions in LaTeX notation can be selected may be displayed and the function may be selected by pressing a button on the software keyboard. A suggestion function may be used to automatically input a description example including a description method such as arguments of a function in LaTeX notation. A formula in the form of a mathematical natural expression input by hand may be recognized by image processing or the like and converted into LaTeX notation.
[0030] Then, the processor 21 judges whether the first character of the LaTeX data stored in the input value memory 231 is "=" or not (step S12). If it is judged not to be "=" (step S12 (NO)), the input text is not a formula that should be calculated immediately, and the processor 21 ends the process shown in this flowchart. When the process shown in the flowchart is ended in this way, the processor 21 stores cell values in the standard table 232S and the decimal table 232D of the cell value memory 232 based on the text data stored in the input value memory 231. Therefore, as described above, if the first character is not "=", even if it is a formula, it will not be calculated, but will be typeset by the LaTeX typesetting processing system and displayed in a cell of the spreadsheet 100.
[0031] If it is determined that the first character is "=" (step S12 (YES)), the processor 21 executes a spreadsheet software function conversion process to convert the spreadsheet software function included in the input formula into LaTeX notation (step S13). In the spreadsheet software function conversion process, the formula is converted into LaTeX notation in order, starting from the front. At this time, it is determined whether it is a spreadsheet software function by a forward match. Note that it is assumed here that there is no duplication between the spreadsheet software function name and other function names. Alternatively, when using a spreadsheet software function, a rule may be established such as adding a specified symbol such as # to the beginning. If it is determined to be a spreadsheet software function, processing is performed for each argument in the (). The content of this spreadsheet software function conversion process differs depending on the type of spreadsheet software function.
[0032] FIG. 8 is a flow chart showing an example of a spreadsheet software function conversion process in the case of a formula including a spreadsheet software function of the "SUM(...)" format such as "=SUM(B1:B5)" shown in FIG. 5 and FIG. 6. The spreadsheet software function conversion process in this case includes an R1C1 process as a pre-processing to change each part of the R1C1 reference format of the input contents to an A1 reference format, and a spreadsheet function process which is the actual processing part. In FIG. 8, the process surrounded by the dashed line is the R1C1 process, and the process surrounded by the dashed line is the spreadsheet function process. The spreadsheet function process includes a cell value reference process surrounded by a dotted line. This cell value reference process is a process to obtain the respective decimal value and standard value for each of the input contents B1, B2,.... Only in special functions (SUM, COUNT, etc.), it is determined whether the decimal value is a numerical value or not, and then the value to be substituted is determined. The standard value is substituted for functions other than the special functions.
[0033] Specifically, the processor 21 determines whether the contents of "..." in a formula including a spreadsheet software function in the "SUM(...)" format are in the "B1:B5" format (format in which multiple cells are specified by cell coordinate ranges) (step S1301). If it is determined that the format is not the "B1:B5" format (step S1301 (NO)), the processor 21 proceeds to processing in step S1303 described later.
[0034] If it is determined that the format is "B1:B5" (step S1301 (YES)), the processor 21 converts the content of "..." to "B1, B2, B3, B4, B5" format (a format in which multiple cells are specified by individual cell coordinates) (step S1302). The processor 21 temporarily stores the converted formula in the work memory 233.
[0035] Then, the processor 21 sets "0" to a pointer i (not shown) provided in the work memory 233 (step S1303).
[0036] After that, the processor 21 determines whether or not the value set in the pointer i is smaller than the number of arguments in the calculation formula temporarily stored in the work memory 233 (step S1304).
[0037] If it is determined that the number is smaller than the number of arguments (step S1304 (YES)), the processor 21 determines whether or not the i-th argument indicated by the value of the pointer i requires a cell reference (step S1305).
[0038] If it is determined that a cell reference is necessary (step S1305 (YES)), the processor 21 acquires the decimal value of the referenced cell from the decimal table 232D of the cell value memory 232 (step S1306). The processor 21 temporarily stores the acquired decimal value in the work memory 233.
[0039] After that, the processor 21 determines whether or not the decimal value is a numeric value (step S1307).
[0040] If it is determined that the value is a numeric value (step S1307 (YES), the processor 21 obtains the standard value of the referenced cell from the standard table 232S of the cell value memory 232, and replaces the obtained standard value with the decimal value temporarily stored in the work memory 233 (step S1308).
[0041] Then, the processor 21 substitutes the decimal value temporarily stored in the work memory 233 as the value of a_i in the converted calculation formula temporarily stored in the work memory 233 (step S1309).
[0042] After that, the processor 21 adds “1” to the pointer i (step S1310). Then, the processor 21 proceeds to the process of step S1304.
[0043] Also, in the above step S1307, for example, the decimal value of the referenced cell B4 is the variable "a", and is therefore determined to be not a numeric value. If it is determined to be not a numeric value in this way (step S1307 (NO)), the processor 21 replaces the decimal value temporarily stored in the work memory 233 with "0" (step S1311). Then, the processor 21 proceeds to the process of the above step S1309.
[0044] If it is determined in step S1305 that a cell reference is not necessary (step S1305 (NO)), the processor 21 acquires the value of the i-th argument indicated by the value of the pointer i (step S1312). Then, the processor 21 proceeds to the process of step S1309 and assigns the acquired value of the i-th argument as the value of a_i in the calculation formula.
[0045] The processes of steps S1304 to S1312 are repeated, and when it is determined in step S1304 that the value set in pointer i is no longer smaller than the number of arguments in the formula (step S1304 (NO)), processor 21 returns to the upper-level routine.
[0046] By the spreadsheet software function conversion process in the case of the formula "=SUM(B1:B5)" above, the converted formula is stored in the work memory 233 as follows:
[0047]
number
[0048] LaTeX data showing
[0049]
number
[0050] In other words,
[0051]
number
[0052] Note that "\" in LaTeX data is a different notation that has the same meaning as "¥".
[0053] Also, the value entered in cell C1 in the spreadsheet 100 of FIG.
[0054]
number
[0055] In this case, the converted formula is stored in the work memory 233 by the spreadsheet software function conversion process as follows:
[0056]
number
[0057] is to be stored.
[0058] Below are some examples, which are described in the order of LaTeX data stored in the input value memory 231, display on the spreadsheet 100, and the converted formula.
[0059]
number
[0060] Here, formula (4) contains a syntax error because the denominators for cells B4 to B6 are unknown.
[0061] Here is yet another example.
[0062]
number
[0063] Here, the spreadsheet software function "OFFSET" in formula (7) performs its own cell reference. In other words, the first argument is left as is, and the other arguments refer to cell values. In the example of spreadsheet 100 in Figure 5, since no cell value is set in cell C1, this formula also results in a syntax error.
[0064] Returning to the explanation of Fig. 7, the processor 21 performs calculations on the formula converted into LaTeX notation by the spreadsheet software function conversion process as described above, using the numerical data stored in the referencing cells, to generate calculation data that can be calculated by the calculation server 10 (step S14). The processor 21 temporarily stores the generated calculation data in the work memory 233. For example, in the case of the formula in cell A1 in the spreadsheet 100 of Fig. 5, the calculation data is as follows:
[0065]
number
[0066] In the case of the formula in cell C1 in the spreadsheet 100 of FIG. 5, the calculation data is as follows:
[0067]
number
[0068] In this manner, the processor 21 converts the calculation formula, which includes the spreadsheet software functions and the natural mathematical expressions received from the user via the input device 25, into a second calculation formula that can be calculated by the calculation server 10.
[0069] The processor 21 transmits the calculation data indicating the converted second calculation formula to the calculation server 10 via the network 30 using the communication device 27 (step S15).
[0070] Although no particular flow chart is shown, the processor 11 of the calculation server 10, which operates according to the calculation program 141 stored in the storage 14, receives this calculation data via the communication device 15 and temporarily stores it in the RAM 13. The processor 11 then executes the calculation of the calculation formula indicated by the calculation data temporarily stored in the RAM 13, and returns the calculation result to the terminal 20 via the communication device 15 and the network 30.
[0071] The processor 21 of the terminal 20 receives the calculation result returned from the calculation server 10 via the network 30 by the communication device 27 (step S16). The calculation result includes a standard value and a decimal value. For example, in the case of the calculation formula in cell A1 in the spreadsheet 100 of FIG. 5, the standard value is "\pi" and the decimal value is "3.1415...". In addition, in the case of the calculation formula in cell C1 in the spreadsheet 100 of FIG. 5, both the standard value and the decimal value are "6". The processor 21 temporarily stores the received calculation result in the work memory 233.
[0072] After that, the processor 21 judges whether or not additional calculation is necessary (step S17). For example, the spreadsheet software functions include functions such as "COUNT" and "OFFST" that cannot be processed by the calculation server 10. Therefore, in this step, it is judged whether or not the LaTeX data stored in the input value memory 231 includes such functions.
[0073] When it is determined that additional calculation is not necessary (step S17 (NO)), the processor 21 saves the calculation results temporarily stored in the work memory 233 as cell values in the standard table 232S and the decimal table 232D of the cell value memory 232 (step S18). Then, the processor 21 ends the process shown in this flowchart. Note that, when ending this process, it is desirable to delete the data temporarily stored in the work memory 233.
[0074] On the other hand, when it is determined that additional calculation is necessary (step S17 (YES)), the processor 21 executes the additional calculation (step S19). That is, the processor 21 executes the calculation of the function included in the calculation formula stored in the input value memory 231 for the calculation result temporarily stored in the work memory 233. Thereafter, the process proceeds to the above step S18, and the result of this additional calculation is stored as a cell value in the standard table 232S and the decimal table 232D of the cell value memory 232.
[0075] FIG. 9A is a diagram showing an example of the contents stored in the standard table 232S when the calculation result is saved, and FIG. 9B is a diagram showing an example of the contents stored in the decimal table 232D. FIG. 10 is a diagram showing an example of the spreadsheet 100 including the display of the calculation result. As shown in these diagrams, for the calculation formula inputted in cell A1 of FIG. 5, "¥pi" is stored in the standard table 232S and "3.1415..." is stored in the decimal table 232D as the calculation result, and "π" is displayed in the spreadsheet 100. For the calculation formula inputted in cell C1 of FIG. 5, "6" is stored in both the standard table 232S and the decimal table 232D as the calculation result, and "6" is also displayed in the spreadsheet 100.
[0076] (Specific examples) Below, specific examples of the processing results at each step are shown for several formulas including spreadsheet software functions and natural mathematical expressions.
[0077] 11 is a diagram for explaining a specific example of a formula including a spreadsheet function and a mathematical natural expression. In this example, the formula including a spreadsheet function and a mathematical natural expression is as follows:
[0078]
number
[0079] In this case, in step S11, the input value memory 231 stores the following:
[0080]
number
[0081] The LaTeX data is saved as follows. Then, in step S13, the spreadsheet software function conversion process is performed:
[0082]
number
[0083] Then, in step S14,
[0084]
number
[0085] The calculation data that can be calculated by the calculation server 10 is created as a calculation formula in LaTeX notation such as the following.
[0086] Then, by transmitting this calculation data to the calculation server 10, in step S16, the calculation server 10 outputs the following as a calculation result:
[0087]
number
[0088] In this case, since no additional calculation is required, it is stored in the standard table 232S and the decimal table 232D of the cell value memory 232 in step S18.
[0089] 12 is a diagram for explaining another specific example of a formula including a spreadsheet function and a natural mathematical expression. In this example, the formula including a spreadsheet function and a natural mathematical expression is as follows:
[0090]
number
[0091] In this case, in step S11, the input value memory 231 stores the following:
[0092]
number
[0093] The LaTeX data is saved as follows. Then, in step S13, the spreadsheet software function conversion process is performed:
[0094]
number
[0095] Then, in step S14,
[0096]
number
[0097] The calculation data that can be calculated by the calculation server 10 is created as a calculation formula in LaTeX notation such as the following.
[0098] Then, by transmitting this calculation data to the calculation server 10, in step S16, the calculation server 10 outputs the following as a calculation result:
[0099]
number
[0100] In this case, since no additional calculation is required, it is stored in the standard table 232S and the decimal table 232D of the cell value memory 232 in step S18.
[0101] 13 is a diagram for explaining yet another specific example of a formula including a spreadsheet function and a mathematical natural expression. In this example, the formula including a spreadsheet function and a mathematical natural expression is as follows:
[0102]
number
[0103] In this case, in step S11, the input value memory 231 stores the following:
[0104]
number
[0105] The LaTeX data is saved as follows. Then, in step S13, the spreadsheet software function conversion process is performed:
[0106]
number
[0107] Then, in step S14,
[0108]
number
[0109] The calculation data that can be calculated by the calculation server 10 is created as a calculation formula in LaTeX notation such as the following.
[0110] Then, by transmitting this calculation data to the calculation server 10, in step S16, the calculation server 10 outputs the following as a calculation result:
[0111]
number
[0112] In this case, since the calculation formula stored in the input value memory 231 includes the "COUNT" function, additional calculation is required. Therefore, in step S19, the calculation server 10 receives the following for the decimal value of the calculation result:
[0113]
number
[0114] Then, in step S18, the calculation result is
[0115]
number
[0116] are stored in both the standard table 232S and the decimal table 232D of the cell value memory 232.
[0117] As described above, if the spreadsheet software function is a SUM function (=SUM(...)), a determination is made as to whether the value obtained from the cell is a value or not, and then the cell value (standard value) is obtained and replaced with a function (SUM({...,...})) that can be processed by the calculation server 10. And, since the SUM function is calculated by the calculation server 10, no additional calculation is performed to execute the spreadsheet software function.
[0118] Also, when the spreadsheet software function is a COUNT function, it determines whether the value obtained from the cell is a value or not, and then obtains the cell value (standard value) and passes the argument to the calculation server 10. Then, after the calculation by this calculation server 10, the COUNT function is executed as an additional calculation.
[0119] Although no specific example was given here, if the spreadsheet software function is an OFFSET function, the first argument is left as is, and the other arguments are obtained as cell values (standard values) after determining whether the values obtained from the cells are values. Then, arguments other than the first argument are passed to the calculation server 10, and after the calculation in the calculation server 10, the COUNT function is executed as an additional calculation.
[0120] (Summary of the embodiment) As described above in detail, according to the spreadsheet system 1 (spreadsheet device) of the embodiment, the terminal 20 accepts a formula for performing calculations on calculation elements (such as numerical values and formulas) input in a table format as a first formula in a first format including a first part corresponding to a description format that references a cell in a table and a second part corresponding to a description format for a natural mathematical display, as shown in cell C1 in Fig. 5, and executes a calculation process for performing calculations on the first formula using the value of the cell referenced by the first part, or a display process for displaying the first formula in a display format for a natural mathematical display shown by the second part. Therefore, a formula for performing calculations on calculation elements input in a table format is accepted as a formula including a natural mathematical display, and calculations on the formula can be performed, or the formula can be displayed in a display format including a natural mathematical display. This makes it possible to input formulas in a more flexible description format.
[0121] Furthermore, the terminal 20 determines whether each calculation element included in the first calculation formula is the first part or the second part, and for the first part, converts the first calculation formula in the first format into a second calculation formula in the second format that does not refer to cells in a table by incorporating the value of the cell that the first part refers to. In this way, the calculation result of the first calculation formula can be obtained by calculating the second calculation formula without referring to cells in a table. In other words, calculation is possible without referring to a table.
[0122] Furthermore, in the spreadsheet system 1 of the embodiment, it is possible to cause a calculation of a specified formula to be executed by a calculation processing unit capable of calculating a formula in a third format that does not include either the first part or the second part, for example, the calculation server 10, and the terminal 20 converts the second formula in the second format into such a third formula in the third format, for example, in step S14, and causes the calculation processing unit to calculate this third formula in the third format. Thus, calculations can be performed quickly using a calculation processing unit that can execute a large number of calculation processes at high speed.
[0123] The first formula is a formula input into a cell of a table, and the terminal 20 determines whether to execute a calculation process or a display process for the first formula, depending on the description format of the first formula in the cell. The terminal 20 can make this determination, for example, depending on whether the first formula starts with "=". In this way, depending on the description format of the first formula, the user can select whether to calculate or display the formula.
[0124] For example, in the first formula in cell C1 of Fig. 5, the first part includes a description of a spreadsheet software function for a spreadsheet that performs a calculation that references a table cell, such as a SUM function, and a description of a cell coordinate that specifies the table cell to be referenced, such as B1. The second part includes a description of a function for natural mathematical expression that does not reference a table cell, such as an integral symbol, and a description of a parameter that is not a cell coordinate that is the subject of the calculation of the function for natural mathematical expression, such as 2x. In this way, the first formula can be described by a spreadsheet software function, cell coordinates, a function for natural mathematical expression, and its parameters.
[0125] The first formula to be accepted is a formula to be input into a cell of the spreadsheet 100, for example, as shown in cells A1 and C1 in Fig. 5, and the first part of this formula is accepted as text with the characters input as is, and the second part is accepted as text in a notation for a typesetting system. Therefore, a user who inputs a formula can easily input the formula using a notation for a typesetting system that is commonly used.
[0126] As a notation for the typesetting system, for example, LaTeX notation is used. Therefore, by adopting the widely used LaTeX notation, it is possible to make it easier to input calculation formulas.
[0127] Furthermore, in the spreadsheet system 1 of the embodiment, in addition to numerical data that is a numerical value or a variable, as shown in cells B4 and C3 in Fig. 2, as calculation elements input in a table format, LaTeX data in which numerical values are expressed in LaTeX notation, as shown in cells B1 and B3 in Fig. 2, can be accepted. This makes it possible to accept numerical values other than those in calculation formulas in a natural mathematical notation.
[0128] Numerical values entered into cells of the spreadsheet 100 are also displayed in natural mathematical notation on the display device 26. This allows the user to easily determine whether the numerical values entered in LaTeX notation have been correctly entered.
[0129] The terminal 20 stores the input LaTeX data in the standard table 232S in the cell value memory 232 of the RAM 23 as the cell value of the cell of the spreadsheet 100, and stores the numeric data obtained by converting the input LaTeX data into a numeric value in the decimal table 232D. In this way, two types of values, standard values and decimal values, can be stored as the cell values of each cell.
[0130] In the spreadsheet system 1 of the embodiment, the first part included in the first formula includes a spreadsheet software function, and the conversion from the first formula to the second formula is performed by replacing the input contents with LaTeX data in LaTeX notation based on the contents of the spreadsheet software function, and by using the LaTeX data stored in the referenced cell, the first formula in the first format is replaced with a second formula in LaTeX notation, which is a second format that can be calculated by the calculation server 10, for example. At this time, the processing method is changed according to the contents of the spreadsheet software function included in the first formula. For example, in the case of a spreadsheet software function that performs calculation using the decimal value of a reference cell such as a SUM function or a COUNT function, steps S1307 and S1311 in FIG. 8 are executed, but in the case of other spreadsheet software functions in which the arguments may be left as standard values for the time being, steps S1307 and S1311 in FIG. 8 are not executed. In this way, the first formula can be converted to the second formula according to the contents of the spreadsheet software function. In the case of a spreadsheet function such as a COUNT function or an OFFSET function that cannot be converted into a format that can be calculated by the calculation server 10, the calculation can be performed in a post-process as in step S19 in FIG.
[0131] The terminal 20 stores the LaTeX data, which is the calculation result of the third formula, in the standard table 232S in the cell value memory 232 of the RAM 23 as the cell value for the cell of the spreadsheet 100 that has received the first formula, as shown in Fig. 9A, for example, and stores the numeric data, which is the calculation result of the third formula, in the decimal table 232D, as shown in Fig. 9B, for example. In this way, two types of values, the standard value and the decimal value, can be stored as the cell value of each cell.
[0132] Then, in the cell of spreadsheet 100 that has received the first formula displayed on display device 26, the LaTeX data that is the calculation result of the third formula stored in standard table 232S is displayed in natural mathematical notation, as shown in cell A1 in Fig. 10. Therefore, the calculation result is also displayed in natural mathematical notation, making it easy for the user to understand the calculation result.
[0133] In the spreadsheet system 1 of the embodiment, the terminal 20 that has converted the second formula into the third formula transmits the third formula to the calculation server 10, which is a calculation processing unit that calculates the third formula, via the network 30, and receives the calculation result from the calculation server 10. In this way, in the spreadsheet system 1 of the embodiment, the terminal 20 and the calculation server 10 can work together to perform calculations.
[0134] Here, if the first calculation formula includes a spreadsheet software function such as a COUNT function or an OFFSET function that cannot be converted into a format that can be calculated by the calculation server 10, the terminal 20 performs calculations using the spreadsheet software function on the numerical data in the calculation result calculated by the calculation server 10. Therefore, even if there is a spreadsheet software function that cannot be calculated by the calculation server 10, it is possible to obtain the calculation result.
[0135] Moreover, according to the spreadsheet system 1 (spreadsheet device) of the embodiment, the terminal 20 judges whether each calculation element (such as a numerical value or a calculation formula) included in the accepted first calculation formula is a first part corresponding to a cell coordinate that refers to a cell in the table, or a second part corresponding to the LaTeX notation, and depending on the result of the judgment, converts the first calculation formula into a second calculation formula in a second format that can be calculated by a predetermined calculation processing unit, for example, a calculation server 10 that can communicate via a network 30. Therefore, the calculation formula when performing a calculation on the calculation elements included in the first calculation formula can be accepted as a calculation formula described in the LaTwX notation, and the calculation can be performed. Therefore, it becomes possible to input the calculation formula in a more flexible description format.
[0136] Each of the processing methods by the spreadsheet system 1 described in the above embodiment, i.e., the spreadsheet processing shown in the flowchart of Fig. 7, the spreadsheet software function conversion processing shown in the flowchart of Fig. 8, etc., can be stored in a medium of an external recording device such as a memory card (ROM card, RAM card, etc.), a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a semiconductor memory, etc., and distributed as a program of the spreadsheet software 241 that can be executed by a computer. Then, the control unit (CPU) of the information processing device (electronic device) reads the program recorded in the medium of the external recording device into the storage device, and the operation is controlled by the read program, thereby realizing the various functions described in each embodiment and executing similar processing by the above-mentioned method.
[0137] In addition, the program data for realizing each technique can be transmitted over the network 30 in the form of program code, and the program data can be imported into the terminal 20 from a computer device (program server) connected to this network 30 and stored in the storage 24 to realize the various functions described above.
[0138] In addition, in the embodiment, the terminal 20 and the calculation server 10 cooperate to execute the calculation, but the calculation of the second formula may also be performed by the terminal 20. In other words, the terminal 20 alone may constitute a spreadsheet device.
[0139] The present invention is not limited to the embodiments, and can be modified in various ways without departing from the gist of the invention. The embodiments may be combined as appropriate, and in that case, the combined effects can be obtained. Furthermore, the embodiments include various inventions, and various inventions can be extracted by combinations selected from the multiple components disclosed. For example, if the problem can be solved and the effect can be obtained even if some components are deleted from all the components shown in the embodiments, the configuration from which the components are deleted can be extracted as an invention. [Explanation of symbols]
[0140] 1. Spreadsheet system 10…Calculation server 11…Processor 12...ROM 13…RAM 14…Storage 15...Communication equipment 16…System bus 20...Terminal 21…Processor 22...ROM 23…RAM 24…Storage 25...Input device 26…Display device 27...Communication equipment 28…System bus 30…Network 100…Spreadsheet 141...Calculation program 231…Input value memory 232…Cell value memory 232D…Decimal table 232S...Standard table 233…Work memory 241…Spreadsheet software
Claims
1. A computer, a first receiving means for receiving a formula for performing calculations using calculation elements input in a table format as a first formula in a first format including a first part corresponding to a description format for referencing cells in the table and a second part corresponding to a description format for natural mathematical display; A program for functioning as a first calculation means that calculates the first formula using the value of a cell referenced by the first part, or a first display means that displays the first formula in the display format of natural mathematical display indicated by the second part.
2. The computer: a first determination means for determining whether each calculation element included in the first calculation formula is the first part or the second part; a first conversion means for converting the first formula in the first format into a second formula in a second format that does not reference table cells by incorporating values of cells referenced by the first part; To further function as The program according to claim 1.
3. The computer: a second calculation means for causing a calculation processing unit capable of calculating a calculation formula of a third format that does not include either the first part or the second part to execute a calculation of a specified calculation formula; a second conversion means for converting the second calculation formula in the second format into a third calculation formula in the third format; a third calculation means for causing the calculation processing unit to calculate the third calculation formula in the third format; To further function as The program according to claim 2.
4. the first formula is a formula to be input into a cell of a table, The program, a second determination means for determining whether to execute calculation by the first calculation means or display by the first display means for the first calculation formula according to the description format of the first calculation formula in a cell; To further function as The program according to any one of claims 1 to 3.
5. the first part includes a description of a spreadsheet function for performing a calculation that references a table cell, and a description of a cell coordinate that specifies the table cell to be referenced; The second part includes a description of a function for natural mathematical expression that does not refer to a table cell, and a description of parameters that are not cell coordinates to be calculated by the function for natural mathematical expression. The program according to any one of claims 1 to 3.
6. the first formula is a formula to be input into a cell of a table, the first part included in the first calculation formula receives input as text with the input characters as is, the second part included in the first calculation formula accepts input as text in a notation for a typesetting processing system; The program according to claim 3.
7. The notation for the typesetting processing system is LaTeX notation. The program according to claim 6.
8. The computer: The calculation elements input in the table format are: Numerical data, which is a number or a variable; LaTeX data in which numerical values are expressed in the LaTeX notation; A second receiving means for receiving the To further function as The program according to claim 7.
9. The first display means displaying, in the cells of the table, LaTeX data in which the numerical values are expressed in the LaTeX notation, in the natural mathematical notation; The program according to claim 7.
10. The computer: As the cell value of the cell in the table, The input LaTeX data; Numerical data obtained by converting the input LaTeX data into numerical values; a first storage means for storing the To further function as The program according to claim 8.
11. the first part included in the first calculation formula includes a spreadsheet function; The conversion from the first formula to the second formula includes replacing input content with LaTeX data in LaTeX notation based on the content of the spreadsheet function and using the LaTeX data stored in a referencing cell, thereby replacing the first formula in the first format with the second formula in LaTeX notation, which is the computable second format. The program according to claim 7.
12. The computer: a second storage means for storing the calculation result of the third formula as the LaTeX data and numerical data as a cell value for the cell that has received the first formula; To further function as The program according to claim 10.
13. The computer: a second display means for displaying the LaTeX data, which is a calculation result of the third formula, in the cell that has received the first formula, in the mathematical natural display format; To further function as The program according to claim 12.
14. the first part included in the first calculation formula includes a spreadsheet function; The first computer is a spreadsheet device as the computer, a fourth calculation means for, when the first calculation formula includes a spreadsheet function that cannot be processed by the second computer of the calculation server serving as the calculation processing unit, performing calculation using the spreadsheet function on numerical data in the calculation result calculated by the second computer; To further function as The program according to claim 3.
15. A computer, a third determination means for determining whether each calculation element included in the received first calculation formula is a first part corresponding to a cell coordinate referencing a cell in a table or a second part corresponding to LaTeX notation; a third conversion means for converting the first calculation formula into a second calculation formula in a second format that can be calculated by a predetermined calculation processing unit according to the result of the determination; A program to function as a
16. The computer in the spreadsheet A formula for performing calculations using calculation elements input in a table format is accepted as a first formula in a first format including a first part corresponding to a description format for referencing table cells and a second part corresponding to a description format for natural mathematical display; An information processing method that executes a calculation process that calculates the first formula using the value of a cell referenced by the first part, or a display process that displays the first formula in a mathematical natural display format indicated by the second part.
17. An information processing system comprising a server device having a first control unit, and a terminal device having a second control unit, an operation unit, and a display unit, the first control unit accepts a formula for performing calculations using calculation elements input in a table format as a first formula in a first format including a first part corresponding to a description format for referencing table cells and a second part corresponding to a description format for natural mathematical display; a process of performing a calculation of the first formula using a value of a cell referenced by the first part, generating first data for displaying the result of the calculation on the display unit, and transmitting the first data to the terminal device; Alternatively, a process of generating second data for displaying the first formula on the display unit in the mathematical natural display format indicated by the second part, and transmitting the second data to the terminal device is executed; the second control unit causes the display unit to display the result of the calculation or the first calculation formula based on the first data or the second data received from the server device. Information processing system.