Calculation
in package
Table of Contents
Constants
- CALCULATION_REGEXP_CELLREF = '((([^\s,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?\$?\b([a-z]{1,3})\$?(\d{1,7})(?![\w.])'
- CALCULATION_REGEXP_CELLREF_RELATIVE = '((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?(\$?\b[a-z]{1,3})(\$?\d{1,7})(?![\w.])'
- CALCULATION_REGEXP_COLUMN_RANGE = '(((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\".(?:[^\"]|\"[^!])?\"))!)?(\$?[a-z]{1,3})):(?![.*])'
- CALCULATION_REGEXP_COLUMNRANGE_RELATIVE = '(\$?[a-z]{1,3}):(\$?[a-z]{1,3})'
- CALCULATION_REGEXP_DEFINEDNAME = '((([^\s,!&%^\/\*\+<>=-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?([_\p{L}][_\p{L}\p{N}\.]*)'
- CALCULATION_REGEXP_ERROR = '\#[A-Z][A-Z0_\/]*[!\?]?'
- CALCULATION_REGEXP_FUNCTION = '@?(?:_xlfn\.)?(?:_xlws\.)?([\p{L}][\p{L}\p{N}\.]*)[\s]*\('
- CALCULATION_REGEXP_NUMBER = '[-+]?\d*\.?\d+(e[-+]?\d+)?'
- Regular Expressions
- CALCULATION_REGEXP_OPENBRACE = '\('
- CALCULATION_REGEXP_ROW_RANGE = '(((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?(\$?[1-9][0-9]{0,6})):(?![.*])'
- CALCULATION_REGEXP_ROWRANGE_RELATIVE = '(\$?\d{1,7}):(\$?\d{1,7})'
- CALCULATION_REGEXP_STRING = '"(?:[^"]|"")*"'
- CALCULATION_REGEXP_STRIP_XLFN_XLWS = '/(_xlfn[.])?(_xlws[.])?(?=[\p{L}][\p{L}\p{N}\.]*[\s]*[(])/'
- CALCULATION_REGEXP_STRUCTURED_REFERENCE = '([\p{L}_\\\\][\p{L}\p{N}\._]+)?(\[(?:[^\d\]+-])?)'
- FORMULA_CLOSE_FUNCTION_BRACE = ')'
- FORMULA_CLOSE_MATRIX_BRACE = '}'
- FORMULA_OPEN_FUNCTION_BRACE = '('
- FORMULA_OPEN_MATRIX_BRACE = '{'
- FORMULA_STRING_QUOTE = '"'
- RETURN_ARRAY_AS_ARRAY = 'array'
- RETURN_ARRAY_AS_ERROR = 'error'
- constants
- RETURN_ARRAY_AS_VALUE = 'value'
- BINARY_OPERATORS = ['+' => true, '-' => true, '*' => true, '/' => true, '^' => true, '&' => true, '>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true, '∩' => true, '∪' => true, ':' => true]
- List of binary operators (those that expect two operands).
- CALCULATION_OPERATORS = ['+' => true, '-' => true, '*' => true, '/' => true, '^' => true, '&' => true, '%' => false, '~' => false, '>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true, '∩' => true, '∪' => true, ':' => true]
- List of operators that can be used within formulae The true/false value indicates whether it is a binary operator or a unary operator.
Properties
- $cyclicFormulaCount : int
- Number of iterations for cyclic formulae.
- $formulaError : string|null
- Error message for any error that was raised/thrown by the calculation engine.
- $branchPruner : BranchPruner
- $branchPruningEnabled : bool
- $calculationCache : array<string|int, mixed>
- Calculation cache.
- $calculationCacheEnabled : bool
- Calculation cache enabled.
- $cellStack : array<string|int, mixed>
- $comparisonOperators : array<string|int, mixed>
- Comparison (Boolean) Operators.
- $controlFunctions : array<string|int, mixed>
- Internal functions used for special control purposes.
- $cyclicFormulaCell : string
- $cyclicFormulaCounter : int
- Current iteration counter for cyclic formulae If the value is 0 (or less) then cyclic formulae will throw an exception, otherwise they will iterate to the limit defined here before returning a result.
- $cyclicReferenceStack : CyclicReferenceStack
- An array of the nested cell references accessed by the calculation engine, used for the debug log.
- $debugLog : Logger
- The debug log generated by the calculation engine.
- $excelConstants : array<string, null|bool>
- Excel constant string translations to their PHP equivalents Constant conversion from text name/value to actual (datatyped) value.
- $functionReplaceFromExcel : array<string|int, mixed>|null
- $functionReplaceFromLocale : array<string|int, mixed>|null
- $functionReplaceToExcel : array<string|int, mixed>|null
- $functionReplaceToLocale : array<string|int, mixed>|null
- $instance : Calculation|null
- Instance of this class.
- $localeArgumentSeparator : string
- Locale-specific argument separator for function arguments.
- $localeBoolean : array<string, string>
- Locale-specific translations for Excel constants (True, False and Null).
- $localeFunctions : array<string|int, mixed>
- $localeLanguage : string
- The current locale setting.
- $operatorAssociativity : array<string|int, mixed>
- Binary Operators.
- $operatorPrecedence : array<string|int, mixed>
- Operator Precedence.
- $phpSpreadsheetFunctions : array<string|int, mixed>
- Array of functions usable on Spreadsheet.
- $referenceHelper : ReferenceHelper
- Reference Helper.
- $returnArrayAsType : string
- $spreadsheet : Spreadsheet|null
- Instance of the spreadsheet this Calculation Engine is using.
- $suppressFormulaErrors : bool
- $validLocaleLanguages : array<string|int, string>
- List of available locale settings Note that this is read for the locale subdirectory only when requested.
Methods
- __clone() : mixed
- __clone implementation. Cloning should not be allowed in a Singleton!
- __construct() : mixed
- _calculateFormulaValue() : mixed
- Parse a cell formula and calculate its value.
- _translateFormulaToEnglish() : string
- _translateFormulaToLocale() : string
- calculate() : mixed
- Calculate cell value (using formula from a cell ID) Retained for backward compatibility.
- calculateCellValue() : mixed
- Calculate the value of a cell formula.
- calculateFormula() : mixed
- Calculate the value of a formula.
- clearCalculationCache() : void
- Clear calculation cache.
- clearCalculationCacheForWorksheet() : void
- Clear calculation cache for a specified worksheet.
- disableBranchPruning() : void
- disableCalculationCache() : void
- Disable calculation cache.
- enableBranchPruning() : void
- enableCalculationCache() : void
- Enable calculation cache.
- extractCellRange() : array<string|int, mixed>
- Extract range values.
- extractNamedRange() : array<string|int, mixed>|string
- Extract range values.
- flushInstance() : void
- Flush the calculation cache for any existing instance of this class but only if a Calculation instance exists.
- getArrayReturnType() : string
- Return the Array Return Type (Array or Value of first element in the array).
- getCalculationCacheEnabled() : bool
- Is calculation caching enabled?
- getDebugLog() : Logger
- Get the Logger for this calculation engine instance.
- getExcelConstants() : bool|null
- getFALSE() : string
- Return the locale-specific translation of FALSE.
- getFunctions() : array<string|int, mixed>
- Get a list of all implemented functions as an array of function objects.
- getImplementedFunctionNames() : array<string|int, mixed>
- Get a list of implemented Excel function names.
- getInstance() : self
- Get an instance of this class.
- getLocale() : string
- Get the currently defined locale code.
- getLocaleBoolean() : string
- getMatrixDimensions() : array<string|int, int>
- Read the dimensions of a matrix, and re-index it with straight numeric keys starting from row 0, column 0.
- getSuppressFormulaErrors() : bool
- getTRUE() : string
- Return the locale-specific translation of TRUE.
- getValueFromCache() : bool
- isImplemented() : bool
- Is a specific function implemented?
- keyInExcelConstants() : bool
- localeFunc() : string
- parseFormula() : array<string|int, mixed>|bool
- Validate and parse a formula string.
- renameCalculationCacheForWorksheet() : void
- Rename calculation cache for a specified worksheet.
- saveValueToCache() : void
- setArrayReturnType() : bool
- Set the Array Return Type (Array or Value of first element in the array).
- setBranchPruningEnabled() : void
- Enable/disable calculation cache.
- setCalculationCacheEnabled() : void
- Enable/disable calculation cache.
- setLocale() : bool
- Set the locale code.
- setSuppressFormulaErrors() : void
- translateFormulaToEnglish() : string
- translateFormulaToLocale() : string
- translateSeparator() : string
- unwrapResult() : mixed
- Remove quotes used as a wrapper to identify string values.
- wrapResult() : mixed
- Wrap string values in quotes.
- raiseFormulaError() : false
- Trigger an error, but nicely, if need be.
- addCellReference() : array<string|int, mixed>
- Add cell reference if needed while making sure that it is the last argument.
- addDefaultArgumentValues() : array<string|int, mixed>
- boolToString() : mixed
- checkMatrixOperands() : array<string|int, mixed>
- Ensure that paired matrix operands are both matrices and of the same size.
- convertMatrixReferences() : false|string
- dataTestReference() : mixed
- evaluateDefinedName() : mixed
- executeArrayComparison() : array<string|int, mixed>
- executeBinaryComparisonOperation() : array<string|int, mixed>|bool
- executeNumericBinaryOperation() : mixed
- getArgumentDefaultValue() : mixed
- getLocaleFile() : string
- internalParseFormula() : array<int, mixed>|false
- isNumericOrBool() : bool
- loadLocales() : void
- makeError() : string
- processTokenStack() : array<int, mixed>|false
- resizeMatricesExtend() : void
- Ensure that paired matrix operands are both matrices of the same size.
- resizeMatricesShrink() : void
- Ensure that paired matrix operands are both matrices of the same size.
- showTypeDetails() : string|null
- Format type and details of an operand for display in the log (based on operand type).
- showValue() : mixed
- Format details of an operand for display in the log (based on operand type).
- translateFormula() : string
- translateFormulaBlock() : string
- validateBinaryOperand() : bool
Constants
CALCULATION_REGEXP_CELLREF
public
mixed
CALCULATION_REGEXP_CELLREF
= '((([^\s,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?\$?\b([a-z]{1,3})\$?(\d{1,7})(?![\w.])'
CALCULATION_REGEXP_CELLREF_RELATIVE
public
mixed
CALCULATION_REGEXP_CELLREF_RELATIVE
= '((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?(\$?\b[a-z]{1,3})(\$?\d{1,7})(?![\w.])'
CALCULATION_REGEXP_COLUMN_RANGE
public
mixed
CALCULATION_REGEXP_COLUMN_RANGE
= '(((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\".(?:[^\"]|\"[^!])?\"))!)?(\$?[a-z]{1,3})):(?![.*])'
CALCULATION_REGEXP_COLUMNRANGE_RELATIVE
public
mixed
CALCULATION_REGEXP_COLUMNRANGE_RELATIVE
= '(\$?[a-z]{1,3}):(\$?[a-z]{1,3})'
CALCULATION_REGEXP_DEFINEDNAME
public
mixed
CALCULATION_REGEXP_DEFINEDNAME
= '((([^\s,!&%^\/\*\+<>=-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?([_\p{L}][_\p{L}\p{N}\.]*)'
CALCULATION_REGEXP_ERROR
public
mixed
CALCULATION_REGEXP_ERROR
= '\#[A-Z][A-Z0_\/]*[!\?]?'
CALCULATION_REGEXP_FUNCTION
public
mixed
CALCULATION_REGEXP_FUNCTION
= '@?(?:_xlfn\.)?(?:_xlws\.)?([\p{L}][\p{L}\p{N}\.]*)[\s]*\('
CALCULATION_REGEXP_NUMBER
Regular Expressions
public
mixed
CALCULATION_REGEXP_NUMBER
= '[-+]?\d*\.?\d+(e[-+]?\d+)?'
CALCULATION_REGEXP_OPENBRACE
public
mixed
CALCULATION_REGEXP_OPENBRACE
= '\('
CALCULATION_REGEXP_ROW_RANGE
public
mixed
CALCULATION_REGEXP_ROW_RANGE
= '(((([^\s\(,!&%^\/\*\+<>=:`-]*)|(\'(?:[^\']|\'[^!])+?\')|(\"(?:[^\"]|\"[^!])+?\"))!)?(\$?[1-9][0-9]{0,6})):(?![.*])'
CALCULATION_REGEXP_ROWRANGE_RELATIVE
public
mixed
CALCULATION_REGEXP_ROWRANGE_RELATIVE
= '(\$?\d{1,7}):(\$?\d{1,7})'
CALCULATION_REGEXP_STRING
public
mixed
CALCULATION_REGEXP_STRING
= '"(?:[^"]|"")*"'
CALCULATION_REGEXP_STRIP_XLFN_XLWS
public
mixed
CALCULATION_REGEXP_STRIP_XLFN_XLWS
= '/(_xlfn[.])?(_xlws[.])?(?=[\p{L}][\p{L}\p{N}\.]*[\s]*[(])/'
CALCULATION_REGEXP_STRUCTURED_REFERENCE
public
mixed
CALCULATION_REGEXP_STRUCTURED_REFERENCE
= '([\p{L}_\\\\][\p{L}\p{N}\._]+)?(\[(?:[^\d\]+-])?)'
FORMULA_CLOSE_FUNCTION_BRACE
public
mixed
FORMULA_CLOSE_FUNCTION_BRACE
= ')'
FORMULA_CLOSE_MATRIX_BRACE
public
mixed
FORMULA_CLOSE_MATRIX_BRACE
= '}'
FORMULA_OPEN_FUNCTION_BRACE
public
mixed
FORMULA_OPEN_FUNCTION_BRACE
= '('
FORMULA_OPEN_MATRIX_BRACE
public
mixed
FORMULA_OPEN_MATRIX_BRACE
= '{'
FORMULA_STRING_QUOTE
public
mixed
FORMULA_STRING_QUOTE
= '"'
RETURN_ARRAY_AS_ARRAY
public
mixed
RETURN_ARRAY_AS_ARRAY
= 'array'
RETURN_ARRAY_AS_ERROR
constants
public
mixed
RETURN_ARRAY_AS_ERROR
= 'error'
RETURN_ARRAY_AS_VALUE
public
mixed
RETURN_ARRAY_AS_VALUE
= 'value'
BINARY_OPERATORS
List of binary operators (those that expect two operands).
private
mixed
BINARY_OPERATORS
= ['+' => true, '-' => true, '*' => true, '/' => true, '^' => true, '&' => true, '>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true, '∩' => true, '∪' => true, ':' => true]
CALCULATION_OPERATORS
List of operators that can be used within formulae The true/false value indicates whether it is a binary operator or a unary operator.
private
mixed
CALCULATION_OPERATORS
= ['+' => true, '-' => true, '*' => true, '/' => true, '^' => true, '&' => true, '%' => false, '~' => false, '>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true, '∩' => true, '∪' => true, ':' => true]
Properties
$cyclicFormulaCount
Number of iterations for cyclic formulae.
public
int
$cyclicFormulaCount
= 1
$formulaError
Error message for any error that was raised/thrown by the calculation engine.
public
string|null
$formulaError
= null
$branchPruner
private
BranchPruner
$branchPruner
$branchPruningEnabled
private
bool
$branchPruningEnabled
= true
$calculationCache
Calculation cache.
private
array<string|int, mixed>
$calculationCache
= []
$calculationCacheEnabled
Calculation cache enabled.
private
bool
$calculationCacheEnabled
= true
$cellStack
private
array<string|int, mixed>
$cellStack
= []
$comparisonOperators
Comparison (Boolean) Operators.
private
static array<string|int, mixed>
$comparisonOperators
= ['>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true]
These operators work on two values, but always return a boolean result.
$controlFunctions
Internal functions used for special control purposes.
private
static array<string|int, mixed>
$controlFunctions
= ['MKMATRIX' => ['argumentCount' => '*', 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Internal\MakeMatrix::class, 'make']], 'NAME.ERROR' => ['argumentCount' => '*', 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError::class, 'NAME']], 'WILDCARDMATCH' => ['argumentCount' => '2', 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Internal\WildcardMatch::class, 'compare']]]
$cyclicFormulaCell
private
string
$cyclicFormulaCell
= ''
$cyclicFormulaCounter
Current iteration counter for cyclic formulae If the value is 0 (or less) then cyclic formulae will throw an exception, otherwise they will iterate to the limit defined here before returning a result.
private
int
$cyclicFormulaCounter
= 1
$cyclicReferenceStack
An array of the nested cell references accessed by the calculation engine, used for the debug log.
private
CyclicReferenceStack
$cyclicReferenceStack
$debugLog
The debug log generated by the calculation engine.
private
Logger
$debugLog
$excelConstants
Excel constant string translations to their PHP equivalents Constant conversion from text name/value to actual (datatyped) value.
private
static array<string, null|bool>
$excelConstants
= ['TRUE' => true, 'FALSE' => false, 'NULL' => null]
$functionReplaceFromExcel
private
static array<string|int, mixed>|null
$functionReplaceFromExcel
$functionReplaceFromLocale
private
static array<string|int, mixed>|null
$functionReplaceFromLocale
$functionReplaceToExcel
private
static array<string|int, mixed>|null
$functionReplaceToExcel
$functionReplaceToLocale
private
static array<string|int, mixed>|null
$functionReplaceToLocale
$instance
Instance of this class.
private
static Calculation|null
$instance
= null
$localeArgumentSeparator
Locale-specific argument separator for function arguments.
private
static string
$localeArgumentSeparator
= ','
$localeBoolean
Locale-specific translations for Excel constants (True, False and Null).
private
static array<string, string>
$localeBoolean
= ['TRUE' => 'TRUE', 'FALSE' => 'FALSE', 'NULL' => 'NULL']
$localeFunctions
private
static array<string|int, mixed>
$localeFunctions
= []
$localeLanguage
The current locale setting.
private
static string
$localeLanguage
= 'en_us'
$operatorAssociativity
Binary Operators.
private
static array<string|int, mixed>
$operatorAssociativity
= [
'^' => 0,
// Exponentiation
'*' => 0,
'/' => 0,
// Multiplication and Division
'+' => 0,
'-' => 0,
// Addition and Subtraction
'&' => 0,
// Concatenation
'∪' => 0,
'∩' => 0,
':' => 0,
// Union, Intersect and Range
'>' => 0,
'<' => 0,
'=' => 0,
'>=' => 0,
'<=' => 0,
'<>' => 0,
]
These operators always work on two values. Array key is the operator, the value indicates whether this is a left or right associative operator.
$operatorPrecedence
Operator Precedence.
private
static array<string|int, mixed>
$operatorPrecedence
= [
':' => 9,
// Range
'∩' => 8,
// Intersect
'∪' => 7,
// Union
'~' => 6,
// Negation
'%' => 5,
// Percentage
'^' => 4,
// Exponentiation
'*' => 3,
'/' => 3,
// Multiplication and Division
'+' => 2,
'-' => 2,
// Addition and Subtraction
'&' => 1,
// Concatenation
'>' => 0,
'<' => 0,
'=' => 0,
'>=' => 0,
'<=' => 0,
'<>' => 0,
]
This list includes all valid operators, whether binary (including boolean) or unary (such as %). Array key is the operator, the value is its precedence.
$phpSpreadsheetFunctions
Array of functions usable on Spreadsheet.
private
static array<string|int, mixed>
$phpSpreadsheetFunctions
= ['ABS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Absolute::class, 'evaluate'], 'argumentCount' => '1'], 'ACCRINT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::class, 'periodic'], 'argumentCount' => '4-8'], 'ACCRINTM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\AccruedInterest::class, 'atMaturity'], 'argumentCount' => '3-5'], 'ACOS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::class, 'acos'], 'argumentCount' => '1'], 'ACOSH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::class, 'acosh'], 'argumentCount' => '1'], 'ACOT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::class, 'acot'], 'argumentCount' => '1'], 'ACOTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::class, 'acoth'], 'argumentCount' => '1'], 'ADDRESS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Address::class, 'cell'], 'argumentCount' => '2-5'], 'AGGREGATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3+'], 'AMORDEGRC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::class, 'AMORDEGRC'], 'argumentCount' => '6,7'], 'AMORLINC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::class, 'AMORLINC'], 'argumentCount' => '6,7'], 'ANCHORARRAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_UNCATEGORISED, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'AND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::class, 'logicalAnd'], 'argumentCount' => '1+'], 'ARABIC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Arabic::class, 'evaluate'], 'argumentCount' => '1'], 'AREAS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'ARRAYTOTEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'fromArray'], 'argumentCount' => '1,2'], 'ASC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'ASIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::class, 'asin'], 'argumentCount' => '1'], 'ASINH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::class, 'asinh'], 'argumentCount' => '1'], 'ATAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::class, 'atan'], 'argumentCount' => '1'], 'ATAN2' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::class, 'atan2'], 'argumentCount' => '2'], 'ATANH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::class, 'atanh'], 'argumentCount' => '1'], 'AVEDEV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'averageDeviations'], 'argumentCount' => '1+'], 'AVERAGE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'average'], 'argumentCount' => '1+'], 'AVERAGEA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'averageA'], 'argumentCount' => '1+'], 'AVERAGEIF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'AVERAGEIF'], 'argumentCount' => '2,3'], 'AVERAGEIFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'AVERAGEIFS'], 'argumentCount' => '3+'], 'BAHTTEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'BASE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Base::class, 'evaluate'], 'argumentCount' => '2,3'], 'BESSELI' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselI::class, 'BESSELI'], 'argumentCount' => '2'], 'BESSELJ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselJ::class, 'BESSELJ'], 'argumentCount' => '2'], 'BESSELK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselK::class, 'BESSELK'], 'argumentCount' => '2'], 'BESSELY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BesselY::class, 'BESSELY'], 'argumentCount' => '2'], 'BETADIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::class, 'distribution'], 'argumentCount' => '3-5'], 'BETA.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '4-6'], 'BETAINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::class, 'inverse'], 'argumentCount' => '3-5'], 'BETA.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Beta::class, 'inverse'], 'argumentCount' => '3-5'], 'BIN2DEC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::class, 'toDecimal'], 'argumentCount' => '1'], 'BIN2HEX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::class, 'toHex'], 'argumentCount' => '1,2'], 'BIN2OCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertBinary::class, 'toOctal'], 'argumentCount' => '1,2'], 'BINOMDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'distribution'], 'argumentCount' => '4'], 'BINOM.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'distribution'], 'argumentCount' => '4'], 'BINOM.DIST.RANGE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'range'], 'argumentCount' => '3,4'], 'BINOM.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'inverse'], 'argumentCount' => '3'], 'BITAND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::class, 'BITAND'], 'argumentCount' => '2'], 'BITOR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::class, 'BITOR'], 'argumentCount' => '2'], 'BITXOR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::class, 'BITXOR'], 'argumentCount' => '2'], 'BITLSHIFT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::class, 'BITLSHIFT'], 'argumentCount' => '2'], 'BITRSHIFT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::class, 'BITRSHIFT'], 'argumentCount' => '2'], 'BYCOL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'BYROW' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'CEILING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::class, 'ceiling'], 'argumentCount' => '1-2'], 'CEILING.MATH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::class, 'math'], 'argumentCount' => '1-3'], 'CEILING.PRECISE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::class, 'precise'], 'argumentCount' => '1,2'], 'CELL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1,2'], 'CHAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::class, 'character'], 'argumentCount' => '1'], 'CHIDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'distributionRightTail'], 'argumentCount' => '2'], 'CHISQ.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'distributionLeftTail'], 'argumentCount' => '3'], 'CHISQ.DIST.RT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'distributionRightTail'], 'argumentCount' => '2'], 'CHIINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'inverseRightTail'], 'argumentCount' => '2'], 'CHISQ.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'inverseLeftTail'], 'argumentCount' => '2'], 'CHISQ.INV.RT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'inverseRightTail'], 'argumentCount' => '2'], 'CHITEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'test'], 'argumentCount' => '2'], 'CHISQ.TEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\ChiSquared::class, 'test'], 'argumentCount' => '2'], 'CHOOSE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Selection::class, 'CHOOSE'], 'argumentCount' => '2+'], 'CHOOSECOLS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2+'], 'CHOOSEROWS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2+'], 'CLEAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::class, 'nonPrintable'], 'argumentCount' => '1'], 'CODE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::class, 'code'], 'argumentCount' => '1'], 'COLUMN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::class, 'COLUMN'], 'argumentCount' => '-1', 'passCellReference' => true, 'passByReference' => [true]], 'COLUMNS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::class, 'COLUMNS'], 'argumentCount' => '1'], 'COMBIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::class, 'withoutRepetition'], 'argumentCount' => '2'], 'COMBINA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::class, 'withRepetition'], 'argumentCount' => '2'], 'COMPLEX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::class, 'COMPLEX'], 'argumentCount' => '2,3'], 'CONCAT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::class, 'CONCATENATE'], 'argumentCount' => '1+'], 'CONCATENATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::class, 'CONCATENATE'], 'argumentCount' => '1+'], 'CONFIDENCE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::class, 'CONFIDENCE'], 'argumentCount' => '3'], 'CONFIDENCE.NORM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Confidence::class, 'CONFIDENCE'], 'argumentCount' => '3'], 'CONFIDENCE.T' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'CONVERT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertUOM::class, 'CONVERT'], 'argumentCount' => '3'], 'CORREL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'CORREL'], 'argumentCount' => '2'], 'COS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::class, 'cos'], 'argumentCount' => '1'], 'COSH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::class, 'cosh'], 'argumentCount' => '1'], 'COT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::class, 'cot'], 'argumentCount' => '1'], 'COTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cotangent::class, 'coth'], 'argumentCount' => '1'], 'COUNT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::class, 'COUNT'], 'argumentCount' => '1+'], 'COUNTA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::class, 'COUNTA'], 'argumentCount' => '1+'], 'COUNTBLANK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Counts::class, 'COUNTBLANK'], 'argumentCount' => '1'], 'COUNTIF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'COUNTIF'], 'argumentCount' => '2'], 'COUNTIFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'COUNTIFS'], 'argumentCount' => '2+'], 'COUPDAYBS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPDAYBS'], 'argumentCount' => '3,4'], 'COUPDAYS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPDAYS'], 'argumentCount' => '3,4'], 'COUPDAYSNC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPDAYSNC'], 'argumentCount' => '3,4'], 'COUPNCD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPNCD'], 'argumentCount' => '3,4'], 'COUPNUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPNUM'], 'argumentCount' => '3,4'], 'COUPPCD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Coupons::class, 'COUPPCD'], 'argumentCount' => '3,4'], 'COVAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'COVAR'], 'argumentCount' => '2'], 'COVARIANCE.P' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'COVAR'], 'argumentCount' => '2'], 'COVARIANCE.S' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'CRITBINOM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'inverse'], 'argumentCount' => '3'], 'CSC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::class, 'csc'], 'argumentCount' => '1'], 'CSCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::class, 'csch'], 'argumentCount' => '1'], 'CUBEKPIMEMBER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBEMEMBER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBEMEMBERPROPERTY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBERANKEDMEMBER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBESET' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBESETCOUNT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUBEVALUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_CUBE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'CUMIPMT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::class, 'interest'], 'argumentCount' => '6'], 'CUMPRINC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Cumulative::class, 'principal'], 'argumentCount' => '6'], 'DATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Date::class, 'fromYMD'], 'argumentCount' => '3'], 'DATEDIF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Difference::class, 'interval'], 'argumentCount' => '2,3'], 'DATESTRING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'DATEVALUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateValue::class, 'fromString'], 'argumentCount' => '1'], 'DAVERAGE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DAverage::class, 'evaluate'], 'argumentCount' => '3'], 'DAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::class, 'day'], 'argumentCount' => '1'], 'DAYS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days::class, 'between'], 'argumentCount' => '2'], 'DAYS360' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days360::class, 'between'], 'argumentCount' => '2,3'], 'DB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::class, 'DB'], 'argumentCount' => '4,5'], 'DBCS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'DCOUNT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DCount::class, 'evaluate'], 'argumentCount' => '3'], 'DCOUNTA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DCountA::class, 'evaluate'], 'argumentCount' => '3'], 'DDB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::class, 'DDB'], 'argumentCount' => '4,5'], 'DEC2BIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::class, 'toBinary'], 'argumentCount' => '1,2'], 'DEC2HEX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::class, 'toHex'], 'argumentCount' => '1,2'], 'DEC2OCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertDecimal::class, 'toOctal'], 'argumentCount' => '1,2'], 'DECIMAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'DEGREES' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::class, 'toDegrees'], 'argumentCount' => '1'], 'DELTA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::class, 'DELTA'], 'argumentCount' => '1,2'], 'DEVSQ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::class, 'sumSquares'], 'argumentCount' => '1+'], 'DGET' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DGet::class, 'evaluate'], 'argumentCount' => '3'], 'DISC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::class, 'discount'], 'argumentCount' => '4,5'], 'DMAX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DMax::class, 'evaluate'], 'argumentCount' => '3'], 'DMIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DMin::class, 'evaluate'], 'argumentCount' => '3'], 'DOLLAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'DOLLAR'], 'argumentCount' => '1,2'], 'DOLLARDE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::class, 'decimal'], 'argumentCount' => '2'], 'DOLLARFR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::class, 'fractional'], 'argumentCount' => '2'], 'DPRODUCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DProduct::class, 'evaluate'], 'argumentCount' => '3'], 'DROP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-3'], 'DSTDEV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DStDev::class, 'evaluate'], 'argumentCount' => '3'], 'DSTDEVP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DStDevP::class, 'evaluate'], 'argumentCount' => '3'], 'DSUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DSum::class, 'evaluate'], 'argumentCount' => '3'], 'DURATION' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '5,6'], 'DVAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DVar::class, 'evaluate'], 'argumentCount' => '3'], 'DVARP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATABASE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Database\DVarP::class, 'evaluate'], 'argumentCount' => '3'], 'ECMA.CEILING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1,2'], 'EDATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::class, 'adjust'], 'argumentCount' => '2'], 'EFFECT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::class, 'effective'], 'argumentCount' => '2'], 'ENCODEURL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_WEB, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Web\Service::class, 'urlEncode'], 'argumentCount' => '1'], 'EOMONTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Month::class, 'lastDay'], 'argumentCount' => '2'], 'ERF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::class, 'ERF'], 'argumentCount' => '1,2'], 'ERF.PRECISE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Erf::class, 'ERFPRECISE'], 'argumentCount' => '1'], 'ERFC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::class, 'ERFC'], 'argumentCount' => '1'], 'ERFC.PRECISE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ErfC::class, 'ERFC'], 'argumentCount' => '1'], 'ERROR.TYPE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError::class, 'type'], 'argumentCount' => '1'], 'EVEN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'even'], 'argumentCount' => '1'], 'EXACT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'exact'], 'argumentCount' => '2'], 'EXP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Exp::class, 'evaluate'], 'argumentCount' => '1'], 'EXPAND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-4'], 'EXPONDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::class, 'distribution'], 'argumentCount' => '3'], 'EXPON.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Exponential::class, 'distribution'], 'argumentCount' => '3'], 'FACT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::class, 'fact'], 'argumentCount' => '1'], 'FACTDOUBLE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::class, 'factDouble'], 'argumentCount' => '1'], 'FALSE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::class, 'FALSE'], 'argumentCount' => '0'], 'FDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'F.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\F::class, 'distribution'], 'argumentCount' => '4'], 'F.DIST.RT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'FILTER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Filter::class, 'filter'], 'argumentCount' => '2-3'], 'FILTERXML' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_WEB, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'FIND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::class, 'sensitive'], 'argumentCount' => '2,3'], 'FINDB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::class, 'sensitive'], 'argumentCount' => '2,3'], 'FINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'F.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'F.INV.RT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'FISHER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::class, 'distribution'], 'argumentCount' => '1'], 'FISHERINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Fisher::class, 'inverse'], 'argumentCount' => '1'], 'FIXED' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'FIXEDFORMAT'], 'argumentCount' => '1-3'], 'FLOOR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::class, 'floor'], 'argumentCount' => '1-2'], 'FLOOR.MATH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::class, 'math'], 'argumentCount' => '1-3'], 'FLOOR.PRECISE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::class, 'precise'], 'argumentCount' => '1-2'], 'FORECAST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'FORECAST'], 'argumentCount' => '3'], 'FORECAST.ETS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3-6'], 'FORECAST.ETS.CONFINT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3-6'], 'FORECAST.ETS.SEASONALITY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-4'], 'FORECAST.ETS.STAT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3-6'], 'FORECAST.LINEAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'FORECAST'], 'argumentCount' => '3'], 'FORMULATEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Formula::class, 'text'], 'argumentCount' => '1', 'passCellReference' => true, 'passByReference' => [true]], 'FREQUENCY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'FTEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'F.TEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'FV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::class, 'futureValue'], 'argumentCount' => '3-5'], 'FVSCHEDULE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::class, 'futureValue'], 'argumentCount' => '2'], 'GAMMA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'gamma'], 'argumentCount' => '1'], 'GAMMADIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'distribution'], 'argumentCount' => '4'], 'GAMMA.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'distribution'], 'argumentCount' => '4'], 'GAMMAINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'inverse'], 'argumentCount' => '3'], 'GAMMA.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'inverse'], 'argumentCount' => '3'], 'GAMMALN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'ln'], 'argumentCount' => '1'], 'GAMMALN.PRECISE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Gamma::class, 'ln'], 'argumentCount' => '1'], 'GAUSS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'gauss'], 'argumentCount' => '1'], 'GCD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Gcd::class, 'evaluate'], 'argumentCount' => '1+'], 'GEOMEAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::class, 'geometric'], 'argumentCount' => '1+'], 'GESTEP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Compare::class, 'GESTEP'], 'argumentCount' => '1,2'], 'GETPIVOTDATA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2+'], 'GROWTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'GROWTH'], 'argumentCount' => '1-4'], 'HARMEAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::class, 'harmonic'], 'argumentCount' => '1+'], 'HEX2BIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::class, 'toBinary'], 'argumentCount' => '1,2'], 'HEX2DEC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::class, 'toDecimal'], 'argumentCount' => '1'], 'HEX2OCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertHex::class, 'toOctal'], 'argumentCount' => '1,2'], 'HLOOKUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\HLookup::class, 'lookup'], 'argumentCount' => '3,4'], 'HOUR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::class, 'hour'], 'argumentCount' => '1'], 'HSTACK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1+'], 'HYPERLINK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Hyperlink::class, 'set'], 'argumentCount' => '1,2', 'passCellReference' => true], 'HYPGEOMDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\HyperGeometric::class, 'distribution'], 'argumentCount' => '4'], 'HYPGEOM.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '5'], 'IF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::class, 'statementIf'], 'argumentCount' => '2-3'], 'IFERROR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::class, 'IFERROR'], 'argumentCount' => '2'], 'IFNA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::class, 'IFNA'], 'argumentCount' => '2'], 'IFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::class, 'IFS'], 'argumentCount' => '2+'], 'IMABS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMABS'], 'argumentCount' => '1'], 'IMAGINARY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::class, 'IMAGINARY'], 'argumentCount' => '1'], 'IMARGUMENT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMARGUMENT'], 'argumentCount' => '1'], 'IMCONJUGATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCONJUGATE'], 'argumentCount' => '1'], 'IMCOS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCOS'], 'argumentCount' => '1'], 'IMCOSH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCOSH'], 'argumentCount' => '1'], 'IMCOT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCOT'], 'argumentCount' => '1'], 'IMCSC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCSC'], 'argumentCount' => '1'], 'IMCSCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMCSCH'], 'argumentCount' => '1'], 'IMDIV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::class, 'IMDIV'], 'argumentCount' => '2'], 'IMEXP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMEXP'], 'argumentCount' => '1'], 'IMLN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMLN'], 'argumentCount' => '1'], 'IMLOG10' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMLOG10'], 'argumentCount' => '1'], 'IMLOG2' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMLOG2'], 'argumentCount' => '1'], 'IMPOWER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMPOWER'], 'argumentCount' => '2'], 'IMPRODUCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::class, 'IMPRODUCT'], 'argumentCount' => '1+'], 'IMREAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\Complex::class, 'IMREAL'], 'argumentCount' => '1'], 'IMSEC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMSEC'], 'argumentCount' => '1'], 'IMSECH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMSECH'], 'argumentCount' => '1'], 'IMSIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMSIN'], 'argumentCount' => '1'], 'IMSINH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMSINH'], 'argumentCount' => '1'], 'IMSQRT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMSQRT'], 'argumentCount' => '1'], 'IMSUB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::class, 'IMSUB'], 'argumentCount' => '2'], 'IMSUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexOperations::class, 'IMSUM'], 'argumentCount' => '1+'], 'IMTAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ComplexFunctions::class, 'IMTAN'], 'argumentCount' => '1'], 'INDEX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::class, 'index'], 'argumentCount' => '2-4'], 'INDIRECT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Indirect::class, 'INDIRECT'], 'argumentCount' => '1,2', 'passCellReference' => true], 'INFO' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'INT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\IntClass::class, 'evaluate'], 'argumentCount' => '1'], 'INTERCEPT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'INTERCEPT'], 'argumentCount' => '2'], 'INTRATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Rates::class, 'interest'], 'argumentCount' => '4,5'], 'IPMT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::class, 'payment'], 'argumentCount' => '4-6'], 'IRR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::class, 'rate'], 'argumentCount' => '1,2'], 'ISBLANK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isBlank'], 'argumentCount' => '1'], 'ISERR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::class, 'isErr'], 'argumentCount' => '1'], 'ISERROR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::class, 'isError'], 'argumentCount' => '1'], 'ISEVEN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isEven'], 'argumentCount' => '1'], 'ISFORMULA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isFormula'], 'argumentCount' => '1', 'passCellReference' => true, 'passByReference' => [true]], 'ISLOGICAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isLogical'], 'argumentCount' => '1'], 'ISNA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::class, 'isNa'], 'argumentCount' => '1'], 'ISNONTEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isNonText'], 'argumentCount' => '1'], 'ISNUMBER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isNumber'], 'argumentCount' => '1'], 'ISO.CEILING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1,2'], 'ISODD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isOdd'], 'argumentCount' => '1'], 'ISOMITTED' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'ISOWEEKNUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::class, 'isoWeekNumber'], 'argumentCount' => '1'], 'ISPMT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::class, 'schedulePayment'], 'argumentCount' => '4'], 'ISREF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isRef'], 'argumentCount' => '1', 'passCellReference' => true, 'passByReference' => [true]], 'ISTEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'isText'], 'argumentCount' => '1'], 'ISTHAIDIGIT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'JIS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'KURT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::class, 'kurtosis'], 'argumentCount' => '1+'], 'LAMBDA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'LARGE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::class, 'large'], 'argumentCount' => '2'], 'LCM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Lcm::class, 'evaluate'], 'argumentCount' => '1+'], 'LEFT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'left'], 'argumentCount' => '1,2'], 'LEFTB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'left'], 'argumentCount' => '1,2'], 'LEN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'length'], 'argumentCount' => '1'], 'LENB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'length'], 'argumentCount' => '1'], 'LET' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'LINEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'LINEST'], 'argumentCount' => '1-4'], 'LN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::class, 'natural'], 'argumentCount' => '1'], 'LOG' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::class, 'withBase'], 'argumentCount' => '1,2'], 'LOG10' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::class, 'base10'], 'argumentCount' => '1'], 'LOGEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'LOGEST'], 'argumentCount' => '1-4'], 'LOGINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::class, 'inverse'], 'argumentCount' => '3'], 'LOGNORMDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::class, 'cumulative'], 'argumentCount' => '3'], 'LOGNORM.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::class, 'distribution'], 'argumentCount' => '4'], 'LOGNORM.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\LogNormal::class, 'inverse'], 'argumentCount' => '3'], 'LOOKUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Lookup::class, 'lookup'], 'argumentCount' => '2,3'], 'LOWER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::class, 'lower'], 'argumentCount' => '1'], 'MAKEARRAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'MAP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'MATCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\ExcelMatch::class, 'MATCH'], 'argumentCount' => '2,3'], 'MAX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::class, 'max'], 'argumentCount' => '1+'], 'MAXA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::class, 'maxA'], 'argumentCount' => '1+'], 'MAXIFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'MAXIFS'], 'argumentCount' => '3+'], 'MDETERM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::class, 'determinant'], 'argumentCount' => '1'], 'MDURATION' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '5,6'], 'MEDIAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'median'], 'argumentCount' => '1+'], 'MEDIANIF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2+'], 'MID' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'mid'], 'argumentCount' => '3'], 'MIDB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'mid'], 'argumentCount' => '3'], 'MIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::class, 'min'], 'argumentCount' => '1+'], 'MINA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Minimum::class, 'minA'], 'argumentCount' => '1+'], 'MINIFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'MINIFS'], 'argumentCount' => '3+'], 'MINUTE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::class, 'minute'], 'argumentCount' => '1'], 'MINVERSE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::class, 'inverse'], 'argumentCount' => '1'], 'MIRR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::class, 'modifiedRate'], 'argumentCount' => '3'], 'MMULT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::class, 'multiply'], 'argumentCount' => '2'], 'MOD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::class, 'mod'], 'argumentCount' => '2'], 'MODE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'mode'], 'argumentCount' => '1+'], 'MODE.MULT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1+'], 'MODE.SNGL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages::class, 'mode'], 'argumentCount' => '1+'], 'MONTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::class, 'month'], 'argumentCount' => '1'], 'MROUND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'multiple'], 'argumentCount' => '2'], 'MULTINOMIAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::class, 'multinomial'], 'argumentCount' => '1+'], 'MUNIT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::class, 'identity'], 'argumentCount' => '1'], 'N' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'asNumber'], 'argumentCount' => '1'], 'NA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError::class, 'NA'], 'argumentCount' => '0'], 'NEGBINOMDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Binomial::class, 'negative'], 'argumentCount' => '3'], 'NEGBINOM.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '4'], 'NETWORKDAYS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\NetworkDays::class, 'count'], 'argumentCount' => '2-3'], 'NETWORKDAYS.INTL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-4'], 'NOMINAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\InterestRate::class, 'nominal'], 'argumentCount' => '2'], 'NORMDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::class, 'distribution'], 'argumentCount' => '4'], 'NORM.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::class, 'distribution'], 'argumentCount' => '4'], 'NORMINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::class, 'inverse'], 'argumentCount' => '3'], 'NORM.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Normal::class, 'inverse'], 'argumentCount' => '3'], 'NORMSDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'cumulative'], 'argumentCount' => '1'], 'NORM.S.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'distribution'], 'argumentCount' => '1,2'], 'NORMSINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'inverse'], 'argumentCount' => '1'], 'NORM.S.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'inverse'], 'argumentCount' => '1'], 'NOT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::class, 'NOT'], 'argumentCount' => '1'], 'NOW' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::class, 'now'], 'argumentCount' => '0'], 'NPER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::class, 'periods'], 'argumentCount' => '3-5'], 'NPV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\Periodic::class, 'presentValue'], 'argumentCount' => '2+'], 'NUMBERSTRING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'NUMBERVALUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'NUMBERVALUE'], 'argumentCount' => '1+'], 'OCT2BIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::class, 'toBinary'], 'argumentCount' => '1,2'], 'OCT2DEC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::class, 'toDecimal'], 'argumentCount' => '1'], 'OCT2HEX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_ENGINEERING, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Engineering\ConvertOctal::class, 'toHex'], 'argumentCount' => '1,2'], 'ODD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'odd'], 'argumentCount' => '1'], 'ODDFPRICE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '8,9'], 'ODDFYIELD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '8,9'], 'ODDLPRICE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '7,8'], 'ODDLYIELD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '7,8'], 'OFFSET' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Offset::class, 'OFFSET'], 'argumentCount' => '3-5', 'passCellReference' => true, 'passByReference' => [true]], 'OR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::class, 'logicalOr'], 'argumentCount' => '1+'], 'PDURATION' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::class, 'periods'], 'argumentCount' => '3'], 'PEARSON' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'CORREL'], 'argumentCount' => '2'], 'PERCENTILE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'PERCENTILE'], 'argumentCount' => '2'], 'PERCENTILE.EXC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'PERCENTILE.INC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'PERCENTILE'], 'argumentCount' => '2'], 'PERCENTRANK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'PERCENTRANK'], 'argumentCount' => '2,3'], 'PERCENTRANK.EXC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2,3'], 'PERCENTRANK.INC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'PERCENTRANK'], 'argumentCount' => '2,3'], 'PERMUT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::class, 'PERMUT'], 'argumentCount' => '2'], 'PERMUTATIONA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Permutations::class, 'PERMUTATIONA'], 'argumentCount' => '2'], 'PHONETIC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'PHI' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1'], 'PI' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => 'pi', 'argumentCount' => '0'], 'PMT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::class, 'annuity'], 'argumentCount' => '3-5'], 'POISSON' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::class, 'distribution'], 'argumentCount' => '3'], 'POISSON.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Poisson::class, 'distribution'], 'argumentCount' => '3'], 'POWER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::class, 'power'], 'argumentCount' => '2'], 'PPMT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Payments::class, 'interestPayment'], 'argumentCount' => '4-6'], 'PRICE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::class, 'price'], 'argumentCount' => '6,7'], 'PRICEDISC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::class, 'priceDiscounted'], 'argumentCount' => '4,5'], 'PRICEMAT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::class, 'priceAtMaturity'], 'argumentCount' => '5,6'], 'PROB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3,4'], 'PRODUCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::class, 'product'], 'argumentCount' => '1+'], 'PROPER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::class, 'proper'], 'argumentCount' => '1'], 'PV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic::class, 'presentValue'], 'argumentCount' => '3-5'], 'QUARTILE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'QUARTILE'], 'argumentCount' => '2'], 'QUARTILE.EXC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'QUARTILE.INC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'QUARTILE'], 'argumentCount' => '2'], 'QUOTIENT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::class, 'quotient'], 'argumentCount' => '2'], 'RADIANS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::class, 'toRadians'], 'argumentCount' => '1'], 'RAND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::class, 'rand'], 'argumentCount' => '0'], 'RANDARRAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::class, 'randArray'], 'argumentCount' => '0-5'], 'RANDBETWEEN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::class, 'randBetween'], 'argumentCount' => '2'], 'RANK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'RANK'], 'argumentCount' => '2,3'], 'RANK.AVG' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2,3'], 'RANK.EQ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::class, 'RANK'], 'argumentCount' => '2,3'], 'RATE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::class, 'rate'], 'argumentCount' => '3-6'], 'RECEIVED' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::class, 'received'], 'argumentCount' => '4-5'], 'REDUCE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'REPLACE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::class, 'replace'], 'argumentCount' => '4'], 'REPLACEB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::class, 'replace'], 'argumentCount' => '4'], 'REPT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::class, 'builtinREPT'], 'argumentCount' => '2'], 'RIGHT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'right'], 'argumentCount' => '1,2'], 'RIGHTB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'right'], 'argumentCount' => '1,2'], 'ROMAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Roman::class, 'evaluate'], 'argumentCount' => '1,2'], 'ROUND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'round'], 'argumentCount' => '2'], 'ROUNDBAHTDOWN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'ROUNDBAHTUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'ROUNDDOWN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'down'], 'argumentCount' => '2'], 'ROUNDUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::class, 'up'], 'argumentCount' => '2'], 'ROW' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::class, 'ROW'], 'argumentCount' => '-1', 'passCellReference' => true, 'passByReference' => [true]], 'ROWS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::class, 'ROWS'], 'argumentCount' => '1'], 'RRI' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Single::class, 'interestRate'], 'argumentCount' => '3'], 'RSQ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'RSQ'], 'argumentCount' => '2'], 'RTD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1+'], 'SEARCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::class, 'insensitive'], 'argumentCount' => '2,3'], 'SCAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'SEARCHB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::class, 'insensitive'], 'argumentCount' => '2,3'], 'SEC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::class, 'sec'], 'argumentCount' => '1'], 'SECH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::class, 'sech'], 'argumentCount' => '1'], 'SECOND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::class, 'second'], 'argumentCount' => '1'], 'SEQUENCE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::class, 'sequence'], 'argumentCount' => '1-4'], 'SERIESSUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SeriesSum::class, 'evaluate'], 'argumentCount' => '4'], 'SHEET' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '0,1'], 'SHEETS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '0,1'], 'SIGN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sign::class, 'evaluate'], 'argumentCount' => '1'], 'SIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::class, 'sin'], 'argumentCount' => '1'], 'SINGLE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_UNCATEGORISED, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '*'], 'SINH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::class, 'sinh'], 'argumentCount' => '1'], 'SKEW' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::class, 'skew'], 'argumentCount' => '1+'], 'SKEW.P' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1+'], 'SLN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::class, 'SLN'], 'argumentCount' => '3'], 'SLOPE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'SLOPE'], 'argumentCount' => '2'], 'SMALL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::class, 'small'], 'argumentCount' => '2'], 'SORT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Sort::class, 'sort'], 'argumentCount' => '1-4'], 'SORTBY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Sort::class, 'sortBy'], 'argumentCount' => '2+'], 'SQRT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::class, 'sqrt'], 'argumentCount' => '1'], 'SQRTPI' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sqrt::class, 'pi'], 'argumentCount' => '1'], 'STANDARDIZE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Standardize::class, 'execute'], 'argumentCount' => '3'], 'STDEV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEV'], 'argumentCount' => '1+'], 'STDEV.S' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEV'], 'argumentCount' => '1+'], 'STDEV.P' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEVP'], 'argumentCount' => '1+'], 'STDEVA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEVA'], 'argumentCount' => '1+'], 'STDEVP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEVP'], 'argumentCount' => '1+'], 'STDEVPA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\StandardDeviations::class, 'STDEVPA'], 'argumentCount' => '1+'], 'STEYX' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'STEYX'], 'argumentCount' => '2'], 'SUBSTITUTE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::class, 'substitute'], 'argumentCount' => '3,4'], 'SUBTOTAL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Subtotal::class, 'evaluate'], 'argumentCount' => '2+', 'passCellReference' => true], 'SUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::class, 'sumErroringStrings'], 'argumentCount' => '1+'], 'SUMIF' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'SUMIF'], 'argumentCount' => '2,3'], 'SUMIFS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Conditional::class, 'SUMIFS'], 'argumentCount' => '3+'], 'SUMPRODUCT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sum::class, 'product'], 'argumentCount' => '1+'], 'SUMSQ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::class, 'sumSquare'], 'argumentCount' => '1+'], 'SUMX2MY2' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::class, 'sumXSquaredMinusYSquared'], 'argumentCount' => '2'], 'SUMX2PY2' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::class, 'sumXSquaredPlusYSquared'], 'argumentCount' => '2'], 'SUMXMY2' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::class, 'sumXMinusYSquared'], 'argumentCount' => '2'], 'SWITCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::class, 'statementSwitch'], 'argumentCount' => '3+'], 'SYD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Depreciation::class, 'SYD'], 'argumentCount' => '4'], 'T' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'test'], 'argumentCount' => '1'], 'TAKE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-3'], 'TAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::class, 'tan'], 'argumentCount' => '1'], 'TANH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::class, 'tanh'], 'argumentCount' => '1'], 'TBILLEQ' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::class, 'bondEquivalentYield'], 'argumentCount' => '3'], 'TBILLPRICE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::class, 'price'], 'argumentCount' => '3'], 'TBILLYIELD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::class, 'yield'], 'argumentCount' => '3'], 'TDIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::class, 'distribution'], 'argumentCount' => '3'], 'T.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3'], 'T.DIST.2T' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'T.DIST.RT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'TEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'TEXTFORMAT'], 'argumentCount' => '2'], 'TEXTAFTER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'after'], 'argumentCount' => '2-6'], 'TEXTBEFORE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::class, 'before'], 'argumentCount' => '2-6'], 'TEXTJOIN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::class, 'TEXTJOIN'], 'argumentCount' => '3+'], 'TEXTSPLIT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::class, 'split'], 'argumentCount' => '2-6'], 'THAIDAYOFWEEK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAIDIGIT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAIMONTHOFYEAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAINUMSOUND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAINUMSTRING' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAISTRINGLENGTH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'THAIYEAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '?'], 'TIME' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Time::class, 'fromHMS'], 'argumentCount' => '3'], 'TIMEVALUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeValue::class, 'fromString'], 'argumentCount' => '1'], 'TINV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::class, 'inverse'], 'argumentCount' => '2'], 'T.INV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::class, 'inverse'], 'argumentCount' => '2'], 'T.INV.2T' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2'], 'TODAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::class, 'today'], 'argumentCount' => '0'], 'TOCOL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1-3'], 'TOROW' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1-3'], 'TRANSPOSE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::class, 'transpose'], 'argumentCount' => '1'], 'TREND' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::class, 'TREND'], 'argumentCount' => '1-4'], 'TRIM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::class, 'spaces'], 'argumentCount' => '1'], 'TRIMMEAN' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Averages\Mean::class, 'trim'], 'argumentCount' => '2'], 'TRUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::class, 'TRUE'], 'argumentCount' => '0'], 'TRUNC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trunc::class, 'evaluate'], 'argumentCount' => '1,2'], 'TTEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '4'], 'T.TEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '4'], 'TYPE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_INFORMATION, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Information\Value::class, 'type'], 'argumentCount' => '1'], 'UNICHAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::class, 'character'], 'argumentCount' => '1'], 'UNICODE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::class, 'code'], 'argumentCount' => '1'], 'UNIQUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Unique::class, 'unique'], 'argumentCount' => '1+'], 'UPPER' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::class, 'upper'], 'argumentCount' => '1'], 'USDOLLAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Dollar::class, 'format'], 'argumentCount' => '2'], 'VALUE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'VALUE'], 'argumentCount' => '1'], 'VALUETOTEXT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_TEXT_AND_DATA, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::class, 'valueToText'], 'argumentCount' => '1,2'], 'VAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VAR'], 'argumentCount' => '1+'], 'VAR.P' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VARP'], 'argumentCount' => '1+'], 'VAR.S' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VAR'], 'argumentCount' => '1+'], 'VARA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VARA'], 'argumentCount' => '1+'], 'VARP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VARP'], 'argumentCount' => '1+'], 'VARPA' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::class, 'VARPA'], 'argumentCount' => '1+'], 'VDB' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '5-7'], 'VLOOKUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\LookupRef\VLookup::class, 'lookup'], 'argumentCount' => '3,4'], 'VSTACK' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '1+'], 'WEBSERVICE' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_WEB, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Web\Service::class, 'webService'], 'argumentCount' => '1'], 'WEEKDAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::class, 'day'], 'argumentCount' => '1,2'], 'WEEKNUM' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::class, 'number'], 'argumentCount' => '1,2'], 'WEIBULL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::class, 'distribution'], 'argumentCount' => '4'], 'WEIBULL.DIST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\Weibull::class, 'distribution'], 'argumentCount' => '4'], 'WORKDAY' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\WorkDay::class, 'date'], 'argumentCount' => '2-3'], 'WORKDAY.INTL' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-4'], 'WRAPCOLS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-3'], 'WRAPROWS' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_MATH_AND_TRIG, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2-3'], 'XIRR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::class, 'rate'], 'argumentCount' => '2,3'], 'XLOOKUP' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '3-6'], 'XNPV' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Variable\NonPeriodic::class, 'presentValue'], 'argumentCount' => '3'], 'XMATCH' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOOKUP_AND_REFERENCE, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '2,3'], 'XOR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_LOGICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::class, 'logicalXor'], 'argumentCount' => '1+'], 'YEAR' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::class, 'year'], 'argumentCount' => '1'], 'YEARFRAC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_DATE_AND_TIME, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\YearFrac::class, 'fraction'], 'argumentCount' => '2,3'], 'YIELD' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Functions::class, 'DUMMY'], 'argumentCount' => '6,7'], 'YIELDDISC' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::class, 'yieldDiscounted'], 'argumentCount' => '4,5'], 'YIELDMAT' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_FINANCIAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Yields::class, 'yieldAtMaturity'], 'argumentCount' => '5,6'], 'ZTEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'zTest'], 'argumentCount' => '2-3'], 'Z.TEST' => ['category' => \PhpOffice\PhpSpreadsheet\Calculation\Category::CATEGORY_STATISTICAL, 'functionCall' => [\PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StandardNormal::class, 'zTest'], 'argumentCount' => '2-3']]
In theory, this could be const rather than static; however, Phpstan breaks trying to analyze it when attempted.
$referenceHelper
Reference Helper.
private
static ReferenceHelper
$referenceHelper
$returnArrayAsType
private
static string
$returnArrayAsType
= self::RETURN_ARRAY_AS_VALUE
$spreadsheet
Instance of the spreadsheet this Calculation Engine is using.
private
Spreadsheet|null
$spreadsheet
$suppressFormulaErrors
private
bool
$suppressFormulaErrors
= false
$validLocaleLanguages
List of available locale settings Note that this is read for the locale subdirectory only when requested.
private
static array<string|int, string>
$validLocaleLanguages
= ['en']
Methods
__clone()
__clone implementation. Cloning should not be allowed in a Singleton!
public
final __clone() : mixed
__construct()
public
__construct([Spreadsheet|null $spreadsheet = null ]) : mixed
Parameters
- $spreadsheet : Spreadsheet|null = null
_calculateFormulaValue()
Parse a cell formula and calculate its value.
public
_calculateFormulaValue(string $formula[, string|null $cellID = null ][, Cell|null $cell = null ][, bool $ignoreQuotePrefix = false ]) : mixed
Parameters
- $formula : string
-
The formula to parse and calculate
- $cellID : string|null = null
-
The ID (e.g. A3) of the cell that we are calculating
- $cell : Cell|null = null
-
Cell to calculate
- $ignoreQuotePrefix : bool = false
-
If set to true, evaluate the formyla even if the referenced cell is quote prefixed
_translateFormulaToEnglish()
public
_translateFormulaToEnglish(string $formula) : string
Parameters
- $formula : string
Tags
Return values
string_translateFormulaToLocale()
public
_translateFormulaToLocale(string $formula) : string
Parameters
- $formula : string
Tags
Return values
stringcalculate()
Calculate cell value (using formula from a cell ID) Retained for backward compatibility.
public
calculate([Cell|null $cell = null ]) : mixed
Parameters
- $cell : Cell|null = null
-
Cell to calculate
calculateCellValue()
Calculate the value of a cell formula.
public
calculateCellValue([Cell|null $cell = null ][, bool $resetLog = true ]) : mixed
Parameters
- $cell : Cell|null = null
-
Cell to calculate
- $resetLog : bool = true
-
Flag indicating whether the debug log should be reset or not
calculateFormula()
Calculate the value of a formula.
public
calculateFormula(string $formula[, string|null $cellID = null ][, Cell|null $cell = null ]) : mixed
Parameters
- $formula : string
-
Formula to parse
- $cellID : string|null = null
-
Address of the cell to calculate
- $cell : Cell|null = null
-
Cell to calculate
clearCalculationCache()
Clear calculation cache.
public
clearCalculationCache() : void
clearCalculationCacheForWorksheet()
Clear calculation cache for a specified worksheet.
public
clearCalculationCacheForWorksheet(string $worksheetName) : void
Parameters
- $worksheetName : string
disableBranchPruning()
public
disableBranchPruning() : void
disableCalculationCache()
Disable calculation cache.
public
disableCalculationCache() : void
enableBranchPruning()
public
enableBranchPruning() : void
enableCalculationCache()
Enable calculation cache.
public
enableCalculationCache() : void
extractCellRange()
Extract range values.
public
extractCellRange([string &$range = 'A1' ][, Worksheet|null $worksheet = null ][, bool $resetLog = true ]) : array<string|int, mixed>
Parameters
- $range : string = 'A1'
-
String based range representation
- $worksheet : Worksheet|null = null
-
Worksheet
- $resetLog : bool = true
-
Flag indicating whether calculation log should be reset or not
Return values
array<string|int, mixed> —Array of values in range if range contains more than one element. Otherwise, a single value is returned.
extractNamedRange()
Extract range values.
public
extractNamedRange([string &$range = 'A1' ][, null|Worksheet $worksheet = null ][, bool $resetLog = true ]) : array<string|int, mixed>|string
Parameters
- $range : string = 'A1'
-
String based range representation
- $worksheet : null|Worksheet = null
-
Worksheet
- $resetLog : bool = true
-
Flag indicating whether calculation log should be reset or not
Return values
array<string|int, mixed>|string —Array of values in range if range contains more than one element. Otherwise, a single value is returned.
flushInstance()
Flush the calculation cache for any existing instance of this class but only if a Calculation instance exists.
public
flushInstance() : void
getArrayReturnType()
Return the Array Return Type (Array or Value of first element in the array).
public
static getArrayReturnType() : string
Return values
string —$returnType Array return type
getCalculationCacheEnabled()
Is calculation caching enabled?
public
getCalculationCacheEnabled() : bool
Return values
boolgetDebugLog()
Get the Logger for this calculation engine instance.
public
getDebugLog() : Logger
Return values
LoggergetExcelConstants()
public
static getExcelConstants(string $key) : bool|null
Parameters
- $key : string
Return values
bool|nullgetFALSE()
Return the locale-specific translation of FALSE.
public
static getFALSE() : string
Return values
string —locale-specific translation of FALSE
getFunctions()
Get a list of all implemented functions as an array of function objects.
public
static getFunctions() : array<string|int, mixed>
Return values
array<string|int, mixed>getImplementedFunctionNames()
Get a list of implemented Excel function names.
public
getImplementedFunctionNames() : array<string|int, mixed>
Return values
array<string|int, mixed>getInstance()
Get an instance of this class.
public
static getInstance([Spreadsheet|null $spreadsheet = null ]) : self
Parameters
- $spreadsheet : Spreadsheet|null = null
-
Injected spreadsheet for working with a PhpSpreadsheet Spreadsheet object, or NULL to create a standalone calculation engine
Return values
selfgetLocale()
Get the currently defined locale code.
public
getLocale() : string
Return values
stringgetLocaleBoolean()
public
static getLocaleBoolean(string $index) : string
Parameters
- $index : string
Return values
stringgetMatrixDimensions()
Read the dimensions of a matrix, and re-index it with straight numeric keys starting from row 0, column 0.
public
static getMatrixDimensions(array<string|int, mixed> &$matrix) : array<string|int, int>
Parameters
- $matrix : array<string|int, mixed>
-
matrix operand
Return values
array<string|int, int> —An array comprising the number of rows, and number of columns
getSuppressFormulaErrors()
public
getSuppressFormulaErrors() : bool
Return values
boolgetTRUE()
Return the locale-specific translation of TRUE.
public
static getTRUE() : string
Return values
string —locale-specific translation of TRUE
getValueFromCache()
public
getValueFromCache(string $cellReference, mixed &$cellValue) : bool
Parameters
- $cellReference : string
- $cellValue : mixed
Return values
boolisImplemented()
Is a specific function implemented?
public
isImplemented(string $function) : bool
Parameters
- $function : string
-
Function Name
Return values
boolkeyInExcelConstants()
public
static keyInExcelConstants(string $key) : bool
Parameters
- $key : string
Return values
boollocaleFunc()
public
static localeFunc(string $function) : string
Parameters
- $function : string
Return values
stringparseFormula()
Validate and parse a formula string.
public
parseFormula(string $formula) : array<string|int, mixed>|bool
Parameters
- $formula : string
-
Formula to parse
Return values
array<string|int, mixed>|boolrenameCalculationCacheForWorksheet()
Rename calculation cache for a specified worksheet.
public
renameCalculationCacheForWorksheet(string $fromWorksheetName, string $toWorksheetName) : void
Parameters
- $fromWorksheetName : string
- $toWorksheetName : string
saveValueToCache()
public
saveValueToCache(string $cellReference, mixed $cellValue) : void
Parameters
- $cellReference : string
- $cellValue : mixed
setArrayReturnType()
Set the Array Return Type (Array or Value of first element in the array).
public
static setArrayReturnType(string $returnType) : bool
Parameters
- $returnType : string
-
Array return type
Return values
bool —Success or failure
setBranchPruningEnabled()
Enable/disable calculation cache.
public
setBranchPruningEnabled(mixed $enabled) : void
Parameters
- $enabled : mixed
setCalculationCacheEnabled()
Enable/disable calculation cache.
public
setCalculationCacheEnabled(bool $calculationCacheEnabled) : void
Parameters
- $calculationCacheEnabled : bool
setLocale()
Set the locale code.
public
setLocale(string $locale) : bool
Parameters
- $locale : string
-
The locale to use for formula translation, eg: 'en_us'
Return values
boolsetSuppressFormulaErrors()
public
setSuppressFormulaErrors(bool $suppressFormulaErrors) : void
Parameters
- $suppressFormulaErrors : bool
translateFormulaToEnglish()
public
translateFormulaToEnglish(string $formula) : string
Parameters
- $formula : string
Return values
stringtranslateFormulaToLocale()
public
translateFormulaToLocale(string $formula) : string
Parameters
- $formula : string
Return values
stringtranslateSeparator()
public
static translateSeparator(string $fromSeparator, string $toSeparator, string $formula, int &$inBracesLevel[, string $openBrace = self::FORMULA_OPEN_FUNCTION_BRACE ][, string $closeBrace = self::FORMULA_CLOSE_FUNCTION_BRACE ]) : string
Parameters
- $fromSeparator : string
- $toSeparator : string
- $formula : string
- $inBracesLevel : int
- $openBrace : string = self::FORMULA_OPEN_FUNCTION_BRACE
- $closeBrace : string = self::FORMULA_CLOSE_FUNCTION_BRACE
Return values
stringunwrapResult()
Remove quotes used as a wrapper to identify string values.
public
static unwrapResult(mixed $value) : mixed
Parameters
- $value : mixed
wrapResult()
Wrap string values in quotes.
public
static wrapResult(mixed $value) : mixed
Parameters
- $value : mixed
raiseFormulaError()
Trigger an error, but nicely, if need be.
protected
raiseFormulaError(string $errorMessage[, int $code = 0 ][, Throwable|null $exception = null ]) : false
Parameters
- $errorMessage : string
- $code : int = 0
- $exception : Throwable|null = null
Return values
falseaddCellReference()
Add cell reference if needed while making sure that it is the last argument.
private
addCellReference(array<string|int, mixed> $args, bool $passCellReference, array<string|int, mixed>|string $functionCall[, Cell|null $cell = null ]) : array<string|int, mixed>
Parameters
- $args : array<string|int, mixed>
- $passCellReference : bool
- $functionCall : array<string|int, mixed>|string
- $cell : Cell|null = null
Return values
array<string|int, mixed>addDefaultArgumentValues()
private
addDefaultArgumentValues(array<string|int, mixed> $functionCall, array<string|int, mixed> $args, array<string|int, mixed> $emptyArguments) : array<string|int, mixed>
Parameters
- $functionCall : array<string|int, mixed>
- $args : array<string|int, mixed>
- $emptyArguments : array<string|int, mixed>
Return values
array<string|int, mixed>boolToString()
private
static boolToString(mixed $operand1) : mixed
Parameters
- $operand1 : mixed
checkMatrixOperands()
Ensure that paired matrix operands are both matrices and of the same size.
private
static checkMatrixOperands(mixed &$operand1, mixed &$operand2[, int $resize = 1 ]) : array<string|int, mixed>
Parameters
- $operand1 : mixed
-
First matrix operand
- $operand2 : mixed
-
Second matrix operand
- $resize : int = 1
-
Flag indicating whether the matrices should be resized to match and (if so), whether the smaller dimension should grow or the larger should shrink. 0 = no resize 1 = shrink to fit 2 = extend to fit
Return values
array<string|int, mixed>convertMatrixReferences()
private
convertMatrixReferences(string $formula) : false|string
Parameters
- $formula : string
Return values
false|string —False indicates an error
dataTestReference()
private
static dataTestReference(array<string|int, mixed> &$operandData) : mixed
Parameters
- $operandData : array<string|int, mixed>
evaluateDefinedName()
private
evaluateDefinedName(Cell $cell, DefinedName $namedRange, Worksheet $cellWorksheet, Stack $stack[, bool $ignoreScope = false ]) : mixed
Parameters
- $cell : Cell
- $namedRange : DefinedName
- $cellWorksheet : Worksheet
- $stack : Stack
- $ignoreScope : bool = false
executeArrayComparison()
private
executeArrayComparison(mixed $operand1, mixed $operand2, string $operation, Stack &$stack, bool $recursingArrays) : array<string|int, mixed>
Parameters
- $operand1 : mixed
- $operand2 : mixed
- $operation : string
- $stack : Stack
- $recursingArrays : bool
Return values
array<string|int, mixed>executeBinaryComparisonOperation()
private
executeBinaryComparisonOperation(mixed $operand1, mixed $operand2, string $operation, Stack &$stack[, bool $recursingArrays = false ]) : array<string|int, mixed>|bool
Parameters
- $operand1 : mixed
- $operand2 : mixed
- $operation : string
- $stack : Stack
- $recursingArrays : bool = false
Return values
array<string|int, mixed>|boolexecuteNumericBinaryOperation()
private
executeNumericBinaryOperation(mixed $operand1, mixed $operand2, string $operation, Stack &$stack) : mixed
Parameters
- $operand1 : mixed
- $operand2 : mixed
- $operation : string
- $stack : Stack
getArgumentDefaultValue()
private
getArgumentDefaultValue(ReflectionParameter $methodArgument) : mixed
Parameters
- $methodArgument : ReflectionParameter
getLocaleFile()
private
getLocaleFile(string $localeDir, string $locale, string $language, string $file) : string
Parameters
- $localeDir : string
- $locale : string
- $language : string
- $file : string
Return values
stringinternalParseFormula()
private
internalParseFormula(string $formula[, Cell|null $cell = null ]) : array<int, mixed>|false
Parameters
- $formula : string
- $cell : Cell|null = null
Return values
array<int, mixed>|falseisNumericOrBool()
private
static isNumericOrBool(mixed $operand) : bool
Parameters
- $operand : mixed
Return values
boolloadLocales()
private
static loadLocales() : void
makeError()
private
static makeError([mixed $operand = '' ]) : string
Parameters
- $operand : mixed = ''
Return values
stringprocessTokenStack()
private
processTokenStack(mixed $tokens[, string|null $cellID = null ][, Cell|null $cell = null ]) : array<int, mixed>|false
Parameters
- $tokens : mixed
- $cellID : string|null = null
- $cell : Cell|null = null
Return values
array<int, mixed>|falseresizeMatricesExtend()
Ensure that paired matrix operands are both matrices of the same size.
private
static resizeMatricesExtend(array<string|int, mixed> &$matrix1, array<string|int, mixed> &$matrix2, int $matrix1Rows, int $matrix1Columns, int $matrix2Rows, int $matrix2Columns) : void
Parameters
- $matrix1 : array<string|int, mixed>
-
First matrix operand
- $matrix2 : array<string|int, mixed>
-
Second matrix operand
- $matrix1Rows : int
-
Row size of first matrix operand
- $matrix1Columns : int
-
Column size of first matrix operand
- $matrix2Rows : int
-
Row size of second matrix operand
- $matrix2Columns : int
-
Column size of second matrix operand
resizeMatricesShrink()
Ensure that paired matrix operands are both matrices of the same size.
private
static resizeMatricesShrink(array<string|int, mixed> &$matrix1, array<string|int, mixed> &$matrix2, int $matrix1Rows, int $matrix1Columns, int $matrix2Rows, int $matrix2Columns) : void
Parameters
- $matrix1 : array<string|int, mixed>
-
First matrix operand
- $matrix2 : array<string|int, mixed>
-
Second matrix operand
- $matrix1Rows : int
-
Row size of first matrix operand
- $matrix1Columns : int
-
Column size of first matrix operand
- $matrix2Rows : int
-
Row size of second matrix operand
- $matrix2Columns : int
-
Column size of second matrix operand
showTypeDetails()
Format type and details of an operand for display in the log (based on operand type).
private
showTypeDetails(mixed $value) : string|null
Parameters
- $value : mixed
-
First matrix operand
Return values
string|nullshowValue()
Format details of an operand for display in the log (based on operand type).
private
showValue(mixed $value) : mixed
Parameters
- $value : mixed
-
First matrix operand
translateFormula()
private
static translateFormula(array<string|int, mixed> $from, array<string|int, mixed> $to, string $formula, string $fromSeparator, string $toSeparator) : string
Parameters
- $from : array<string|int, mixed>
- $to : array<string|int, mixed>
- $formula : string
- $fromSeparator : string
- $toSeparator : string
Return values
stringtranslateFormulaBlock()
private
static translateFormulaBlock(array<string|int, mixed> $from, array<string|int, mixed> $to, string $formula, int &$inFunctionBracesLevel, int &$inMatrixBracesLevel, string $fromSeparator, string $toSeparator) : string
Parameters
- $from : array<string|int, mixed>
- $to : array<string|int, mixed>
- $formula : string
- $inFunctionBracesLevel : int
- $inMatrixBracesLevel : int
- $fromSeparator : string
- $toSeparator : string
Return values
stringvalidateBinaryOperand()
private
validateBinaryOperand(mixed &$operand, mixed &$stack) : bool
Parameters
- $operand : mixed
- $stack : mixed