Documentation

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

$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

$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.

$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

_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
deprecated
1.30.0

use translateFormulaToEnglish() instead

codeCoverageIgnore
Return values
string

_translateFormulaToLocale()

public _translateFormulaToLocale(string $formula) : string
Parameters
$formula : string
Tags
deprecated
1.30.0

use translateFormulaToLocale() instead

codeCoverageIgnore
Return values
string

calculate()

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
bool

getDebugLog()

Get the Logger for this calculation engine instance.

public getDebugLog() : Logger
Return values
Logger

getExcelConstants()

public static getExcelConstants(string $key) : bool|null
Parameters
$key : string
Return values
bool|null

getFALSE()

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
self

getLocale()

Get the currently defined locale code.

public getLocale() : string
Return values
string

getLocaleBoolean()

public static getLocaleBoolean(string $index) : string
Parameters
$index : string
Return values
string

getMatrixDimensions()

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
bool

getTRUE()

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
bool

isImplemented()

Is a specific function implemented?

public isImplemented(string $function) : bool
Parameters
$function : string

Function Name

Return values
bool

keyInExcelConstants()

public static keyInExcelConstants(string $key) : bool
Parameters
$key : string
Return values
bool

localeFunc()

public static localeFunc(string $function) : string
Parameters
$function : string
Return values
string

parseFormula()

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>|bool

renameCalculationCacheForWorksheet()

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
bool

setSuppressFormulaErrors()

public setSuppressFormulaErrors(bool $suppressFormulaErrors) : void
Parameters
$suppressFormulaErrors : bool

translateFormulaToEnglish()

public translateFormulaToEnglish(string $formula) : string
Parameters
$formula : string
Return values
string

translateFormulaToLocale()

public translateFormulaToLocale(string $formula) : string
Parameters
$formula : string
Return values
string

translateSeparator()

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
string

unwrapResult()

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
false

addCellReference()

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>

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>|bool

executeNumericBinaryOperation()

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
string

internalParseFormula()

private internalParseFormula(string $formula[, Cell|null $cell = null ]) : array<int, mixed>|false
Parameters
$formula : string
$cell : Cell|null = null
Return values
array<int, mixed>|false

isNumericOrBool()

private static isNumericOrBool(mixed $operand) : bool
Parameters
$operand : mixed
Return values
bool

makeError()

private static makeError([mixed $operand = '' ]) : string
Parameters
$operand : mixed = ''
Return values
string

processTokenStack()

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>|false

resizeMatricesExtend()

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|null

showValue()

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
string

translateFormulaBlock()

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
string

validateBinaryOperand()

private validateBinaryOperand(mixed &$operand, mixed &$stack) : bool
Parameters
$operand : mixed
$stack : mixed
Return values
bool

        
On this page

Search results