mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-26 15:48:36 +00:00
057572ee90
* Change Additional Statistical Tests to Use Spreadsheet Context With an earlier change, I made all but 18 Statistical tests run in spreadsheet context. This PR changes 12 of those 18. The remaining 6 usually return array results, so it is a tougher task to handle them. I will continue to think on it. AVERAGEIF, AVERAGEIFS, and COUNTBLANK are changed to throw an Exception when a range is specified as a literal. They previously accepted array (enclosed in braces) literals, and bumbled along till they threw an error for non-array literals. Throwing an exception appears to be analogous to how Excel operates, rather than something more friendly like a VALUE error. There may be other functions which require similar treatment. There also remains a TODO for COUNTIFS, and possibly other functions. It appears that PhpSpreadsheet counts booleans for both integer and string compares and probably shouldn't. Again, this is a problem for another day. * Scrutinizer Fix one problem. * Scrutinizer Ignores Its Own Suggested Remedy Try another approach.
35 lines
867 B
PHP
35 lines
867 B
PHP
<?php
|
|
|
|
return [
|
|
'passing range count bool but not null nor text numbers' => [
|
|
5,
|
|
[
|
|
// The index simulates a cell value
|
|
// Numbers and Booleans are both counted
|
|
'0.1.A' => 'A',
|
|
'0.2.A' => 1,
|
|
'0.3.A' => true,
|
|
'0.4.A' => 2.9,
|
|
'0.5.A' => false,
|
|
'0.6.A' => '3',
|
|
'0.7.A' => '',
|
|
'0.8.A' => null,
|
|
'0.9.A' => 9,
|
|
],
|
|
],
|
|
'passing values directly counts bool, null, and text numbers' => [
|
|
7,
|
|
// No index indicates arguments passed as literals rather than cell values
|
|
// In this case, booleans are counted as well as numbers, as are numeric-value string literals
|
|
'A',
|
|
1,
|
|
true,
|
|
2.9,
|
|
false,
|
|
'3',
|
|
'',
|
|
null,
|
|
9,
|
|
],
|
|
];
|