You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spill operator now works both as trailing `#` and ARRAYANCHOR function. `#` is converted to ARRAYANCHOR when writing. I do not think it is important to convert the other way when reading.
Documentation updates have started, but are a work in progress.
SINGLE function is implemented. I believe it works correctly when referring to a cell, but not when referring to a cell range. No attempt is yet made to convert leading `@` to and from SINGLE; I haven't figured out how to do so without interfering with `@` in structured references.
ISREF has problems. At least one of its tests was wrong, and many of those that were right were so accidentally. The code is changed, quite kludgily, so that almost all the tests are now deliberately correct. One very complicated test is incorrect; for now, I will skip it, and will open an issue when this PR is merged.
When writing a formula to a cell, formulae should always be set as they would appear in an English version of Microsoft Office Excel, and PhpSpreadsheet handles all formulae internally in this format. This means that the following rules hold:
27
+
Calling `getCalculatedValue()` on a cell that doesn't contain a formula will simply return the value of that cell; but if the cell does contain a formula, then PhpSpreadsheet will evaluate that formula to calculate the result.
28
+
29
+
There are a few useful mehods to help identify whether a cell contains a formula or a simple value; and if a formula, to provide further information about it:
will return a boolean true/false, telling you whether that cell contains a formula or not, so you can determine if a call to `getCalculatedVaue()` will need to perform an evaluation.
35
+
36
+
For more details on working with array formulas, see the [the recipes documentationn](./recipes.md/#array-formulas).
37
+
38
+
When writing a formula to a cell, formulas should always be set as they would appear in an English version of Microsoft Office Excel, and PhpSpreadsheet handles all formulas internally in this format. This means that the following rules hold:
26
39
27
40
- Decimal separator is `.` (period)
28
41
- Function argument separator is `,` (comma)
@@ -91,6 +104,11 @@ formula calculation is subject to PHP's language characteristics.
91
104
Not all functions are supported, for a comprehensive list, read the
92
105
[function list by name](../references/function-list-by-name.md).
93
106
107
+
#### Array arguments for Function Calls in Formulas
108
+
109
+
While most of the Excel function implementations now support array arguments, there are a few that should accept arrays as arguments but don't do so.
110
+
In these cases, the result may be a single value rather than an array; or it may be a `#VALUE!` error.
111
+
94
112
#### Operator precedence
95
113
96
114
In Excel `+` wins over `&`, just like `*` wins over `+` in ordinary
@@ -161,7 +179,7 @@ number of seconds from the PHP/Unix base date. The PHP/Unix base date
161
179
(0) is 00:00 UST on 1st January 1970. This value can be positive or
162
180
negative: so a value of -3600 would be 23:00 hrs on 31st December 1969;
163
181
while a value of +3600 would be 01:00 hrs on 1st January 1970. This
164
-
gives PHP a date range of between 14th December 1901 and 19th January
182
+
gives 32-bit PHP a date range of between 14th December 1901 and 19th January
0 commit comments