Parameter classification of all built-in functions and operators. - Value: function expects a single value as argument. - In normal formula: If an area reference is given, a position dependent single cell reference is generated. - In array/matrix formula: If an area reference is given, it is converted to an array parameter first, containing cell values of the range specified. For array parameters the function is called for each element of the array and the results are stored in a result array. - Array: same as Value, with the additional capability that if an array/matrix is passed, the function is able to handle it directly, without having to be called multiple times. - Reference: function directly handles an area reference as argument, no position dependent single cell reference is generated in normal formulas, and in array/matrix formulas the reference is not converted to an array before calling the function. Function is able to handle an array as argument if it is meaningful in the function's context. Of course single values are handled too. - ForceArray: for this parameter function behaves as if entered in an array/matrix formula. All functions and operators involved in its argument's calculation are treated as array/matrix calculations. Other functions or operators of the formula are not affected. AddIn functions are treated according to their parameter specification encountered during runtime. Types Integer, Double, String are classified as Value, others as type Reference. If the function takes a variable count of optional parameters no type information can be obtained and those parameters are classified as Value. All StarBASIC macro parameters are treated as Reference. References are passed as as arrays anyways, and no other type information is available. # Conditional jumps: IF( Array, Reference, Reference ) CHOOSE( Array, Reference, ... ) # Unary operators: %( Value ) -( Value ) # Binary operators: +( Array, Array ) -( Array, Array ) *( Array, Array ) /( Array, Array ) &( Array, Array ) ^( Array, Array ) =( Array, Array ) <>( Array, Array ) <( Array, Array ) >( Array, Array ) <=( Array, Array ) >=( Array, Array ) !( Reference, Reference ) # Function without parameters: PI() RAND() TRUE() FALSE() TODAY() NOW() NA() CURRENT() # All other functions alphabetically: ABS( Value ) ACOS( Value ) ACOSH( Value ) ACOT( Value ) ACOTH( Value ) ADDRESS( Value, Value, Value, Value ) AND( Reference, ... ) ARABIC( Value ) AREAS( Reference ) ASIN( Value ) ASINH( Value ) ATAN( Value ) ATAN2( Value, Value ) ATANH( Value ) AVEDEV( Reference, ... ) AVERAGE( Reference, ... ) AVERAGEA( Reference, ... ) B( Value, Value, Value, Value ) BASE( Value, Value, Value ) BETADIST( Value, Value, Value, Value, Value ) BETAINV( Value, Value, Value, Value, Value ) BINOMDIST( Value, Value, Value, Value ) CEILING( Value, Value, Value ) CELL( Value, Value ) CHAR( Value ) CHIDIST( Value, Value ) CHIINV( Value, Value ) CHITEST( Value, Value ) CLEAN( Value ) CODE( Value ) COLUMN( Reference ) COLUMNS( Reference, ... ) COMBIN( Value, Value ) COMBINA( Value, Value ) CONCATENATE( Value, ... ) CONFIDENCE( Value, Value, Value ) CONVERT( Value, Value, Value ) CORREL( ForceArray, ForceArray ) COS( Value ) COSH( Value ) COT( Value ) COTH( Value ) COUNT( Reference, ... ) COUNTA( Reference, ... ) COUNTBLANK( Reference ) COUNTIF( Reference, Value ) COVAR( ForceArray, ForceArray ) CRITBINOM( Value, Value, Value ) CUMIPMT( Value, Value, Value, Value, Value, Value ) CUMPRINC( Value, Value, Value, Value, Value, Value ) DATE( Value, Value, Value ) DATEVALUE( Value ) DAVERAGE( Reference, Reference, Reference ) DAY( Value ) DAYS( Value, Value ) DAYS360( Value, Value, Value ) DB( Value, Value, Value, Value, Value ) DCOUNT( Reference, Reference, Reference ) DCOUNTA( Reference, Reference, Reference ) DDB( Value, Value, Value, Value, Value ) DDE( Value, Value, Value, Value ) DECIMAL( Value, Value ) DEGREES( Value ) DEVSQ( Reference, ... ) DGET( Reference, Reference, Reference ) DMAX( Reference, Reference, Reference ) DMIN( Reference, Reference, Reference ) DOLLAR( Value, Value ) DPRODUCT( Reference, Reference, Reference ) DSTDEV( Reference, Reference, Reference ) DSTDEVP( Reference, Reference, Reference ) DSUM( Reference, Reference, Reference ) DURATION( Value, Value, Value ) DVAR( Reference, Reference, Reference ) DVARP( Reference, Reference, Reference ) EASTERSUNDAY( Value ) EFFECTIVE( Value, Value ) ERRORTYPE( Value ) EVEN( Value ) EXACT( Value, Value ) EXP( Value ) EXPONDIST( Value, Value, Value ) FACT( Value ) FDIST( Value, Value, Value ) FIND( Value, Value, Value ) FINV( Value, Value, Value ) FISHER( Value ) FISHERINV( Value ) FIXED( Value, Value, Value ) FLOOR( Value, Value, Value ) FORECAST( Value, ForceArray, ForceArray ) FORMULA( Value ) FREQUENCY( Reference, Reference ) FTEST( ForceArray, ForceArray ) FV( Value, Value, Value, Value, Value ) GAMMADIST( Value, Value, Value, Value ) GAMMAINV( Value, Value, Value ) GAMMALN( Value ) GAUSS( Value ) GCD( Reference, ... ) GEOMEAN( Reference, ... ) GOALSEEK( Value, Value, Value ) // goal seek via menu Tools.GoalSeek, not a real function GROWTH( Reference, Reference, Reference, Value ) HARMEAN( Reference, ... ) HLOOKUP( Value, Reference, Value, Value ) HOUR( Value ) HYPGEOMDIST( Value, Value, Value, Value ) INDEX( Reference, Value, Value, Value ) INDIRECT( Value ) INT( Value ) INTERCEPT( ForceArray, ForceArray ) IPMT( Value, Value, Value, Value, Value, Value ) IRR( Reference, Value ) ISBLANK( Value ) ISERR( Value ) ISERROR( Value ) ISEVEN( Value ) ISFORMULA( Value ) ISLOGICAL( Value ) ISNA( Value ) ISNONTEXT( Value ) ISNUMBER( Value ) ISODD( Value ) ISPMT( Value, Value, Value, Value ) ISREF( Reference ) ISTEXT( Value ) KURT( Reference, ... ) LARGE( Reference, Value ) LCM( Reference, ... ) LEFT( Value, Value ) LEN( Value ) LINEST( Reference, Reference, Value, Value ) LN( Value ) LOG( Value, Value ) LOG10( Value ) LOGEST( Reference, Reference, Value, Value ) LOGINV( Value, Value, Value ) LOGNORMDIST( Value, Value, Value ) LOOKUP( Value, Reference, Reference ) LOWER( Value ) MATCH( Value, Reference, Reference ) MAX( Reference, ... ) MAXA( Reference, ... ) MDETERM( ForceArray ) MEDIAN( Reference, ... ) MID( Value, Value, Value ) MIN( Reference, ... ) MINA( Reference, ... ) MINUTE( Value ) MINVERSE( ForceArray ) MIRR( Reference, Value, Value ) MMULT( ForceArray, ForceArray ) MOD( Value, Value ) MODE( ForceArray, ... ) MONTH( Value ) MULTIPLE.OPERATIONS( Value, Value, Value, Value, Value ) // via menu Data.MultipleOperations MUNIT( Value ) MVALUE( Reference, Value, Value ) N( Reference ) NEG( Array ) NEGBINOMDIST( Value, Value, Value ) NOMINAL( Value, Value ) NORMDIST( Value, Value, Value, Value ) NORMINV( Value, Value, Value ) NORMSDIST( Value ) NORMSINV( Value ) NOT( Array ) NPER( Value, Value, Value, Value, Value ) NPV( Value, Reference, ... ) ODD( Value ) OFFSET( Reference, Value, Value, Value, Value ) OR( Reference, ... ) PEARSON( ForceArray, ForceArray ) PERCENTILE( Reference, Value ) PERCENTRANK( Reference, Value ) PERMUT( Value, Value ) PERMUTATIONA( Value, Value ) PHI( Value ) PMT( Value, Value, Value, Value, Value ) POISSON( Value, Value, Value ) POWER( Array, Array ) PPMT( Value, Value, Value, Value, Value, Value ) PROB( ForceArray, ForceArray, Value, Value ) PRODUCT( Reference, ... ) PROPER( Value ) PV( Value, Value, Value, Value, Value ) QUARTILE( Reference, Value ) RADIANS( Value ) RANK( Value, Reference, Value ) RATE( Value, Value, Value, Value, Value, Value ) REPLACE( Value, Value, Value, Value ) REPT( Value, Value ) RIGHT( Value, Value ) ROMAN( Value, Value ) ROUND( Value, Value ) ROUNDDOWN( Value, Value ) ROUNDUP( Value, Value ) ROW( Reference ) ROWS( Reference, ... ) RRI( Value, Value, Value ) RSQ( ForceArray, ForceArray ) SEARCH( Value, Value, Value ) SECOND( Value ) SHEET( Reference ) SHEETS( Reference, ... ) SIGN( Value ) SIN( Value ) SINH( Value ) SKEW( Reference, ... ) SLN( Value, Value, Value ) SLOPE( ForceArray, ForceArray ) SMALL( Reference, Value ) SQRT( Value ) STANDARDIZE( Value, Value, Value ) STDEV( Reference, ... ) STDEVA( Reference, ... ) STDEVP( Reference, ... ) STDEVPA( Reference, ... ) STEYX( ForceArray, ForceArray ) STYLE( Value, Value, Value ) SUBSTITUTE( Value, Value, Value, Value ) SUBTOTAL( Value, Reference, ... ) SUM( Reference, ... ) SUMIF( Reference, Value, Reference ) SUMPRODUCT( ForceArray, ... ) SUMSQ( Reference, ... ) SUMX2MY2( ForceArray, ForceArray ) SUMX2PY2( ForceArray, ForceArray ) SUMXMY2( ForceArray, ForceArray ) SYD( Value, Value, Value, Value ) T( Value ) TAN( Value ) TANH( Value ) TDIST( Value, Value, Value ) TEXT( Value, Value ) TIME( Value, Value, Value ) TIMEVALUE( Value ) TINV( Value, Value ) TRANSPOSE( Array ) TREND( Reference, Reference, Reference, Value ) TRIM( Value ) TRIMMEAN( Reference, Value ) TRUNC( Value, Value ) TTEST( ForceArray, ForceArray, Value, Value ) TYPE( Value ) UPPER( Value ) VALUE( Value ) VAR( Reference, ... ) VARA( Reference, ... ) VARP( Reference, ... ) VARPA( Reference, ... ) VDB( Value, Value, Value, Value, Value, Value, Value ) VLOOKUP( Value, Reference, Value, Value ) WEEKDAY( Value, Value ) WEEKNUM( Value, Value ) WEIBULL( Value, Value, Value, Value ) YEAR( Value ) ZTEST( Reference, Value, Value )