# AFC Function Reference

This is the function reference for the Abacus Formula Compiler (AFC). You might also want to have a look at the Tutorial and the API Reference, and in particular the Limitations.

## Microsoft Excel Support

Since AFC only supports Microsoft Excel spreadsheet semantics at the moment, this reference uses Excel as a baseline for expected behaviour of the supported functions.

- Cells, Values, Names
- Strings, numbers, dates, booleans; blank cells; cell names; ranges; numeric precision
- Numeric Operators
`%`

,`*`

,`+`

,`-`

,`/`

,`<`

,`<=`

,`<>`

,`=`

,`>`

,`>=`

,`^`

- Numeric Functions
`ABS`

,`ACOS`

,`ACOSH`

,`ASIN`

,`ASINH`

,`ATAN`

,`ATAN2`

,`ATANH`

,`CEILING`

,`COMBIN`

,`COS`

,`COSH`

,`DEGREES`

,`EVEN`

,`EXP`

,`FACT`

,`FLOOR`

,`GEOMEAN`

,`HARMEAN`

,`INT`

,`LN`

,`LOG`

,`LOG10`

,`MOD`

,`ODD`

,`PERMUT`

,`PI`

,`POWER`

,`RADIANS`

,`RAND`

,`ROUND`

,`ROUNDDOWN`

,`ROUNDUP`

,`SIGN`

,`SIN`

,`SINH`

,`SQRT`

,`TAN`

,`TANH`

,`TRUNC`

- Financial Functions
`DB`

,`DDB`

,`FV`

,`IRR`

,`MIRR`

,`NPER`

,`NPV`

,`PMT`

,`PV`

,`RATE`

,`SLN`

,`SYD`

,`VDB`

- Statistical Functions
`AVEDEV`

,`BETADIST`

,`BETAINV`

,`BINOMDIST`

,`CHIDIST`

,`CHIINV`

,`CHITEST`

,`CONFIDENCE`

,`CORREL`

,`CRITBINOM`

,`DEVSQ`

,`EXPONDIST`

,`FDIST`

,`FINV`

,`FISHER`

,`FISHERINV`

,`FORECAST`

,`FTEST`

,`GAMMADIST`

,`GAMMAINV`

,`GAMMALN`

,`HYPGEOMDIST`

,`INTERCEPT`

,`KURT`

,`LARGE`

,`LOGINV`

,`LOGNORMDIST`

,`MEDIAN`

,`MODE`

,`NEGBINOMDIST`

,`NORMDIST`

,`NORMINV`

,`NORMSDIST`

,`NORMSINV`

,`PEARSON`

,`PERCENTILE`

,`PERCENTRANK`

,`POISSON`

,`PROB`

,`QUARTILE`

,`RANK`

,`RSQ`

,`SKEW`

,`SLOPE`

,`SMALL`

,`STANDARDIZE`

,`STDEV`

,`STDEVP`

,`STDEVPA`

,`STEYX`

,`SUMX2MY2`

,`SUMX2PY2`

,`SUMXMY2`

,`TDIST`

,`TINV`

,`TRIMMEAN`

,`TTEST`

,`VAR`

,`VARA`

,`VARP`

,`WEIBULL`

,`ZTEST`

- String Support
`&`

,`<`

,`<=`

,`<>`

,`=`

,`>`

,`>=`

,`CLEAN`

,`CONCATENATE`

,`EXACT`

,`FIND`

,`LEFT`

,`LEN`

,`LOWER`

,`MATCH`

,`MID`

,`PROPER`

,`REPLACE`

,`REPT`

,`RIGHT`

,`SEARCH`

,`SUBSTITUTE`

,`TRIM`

,`UPPER`

- Boolean Functions And IF
`AND`

,`IF`

,`NOT`

,`OR`

,`true`

- Date Functions
`DATE`

,`DAY`

,`DAYS360`

,`HOUR`

,`MINUTE`

,`MONTH`

,`NOW`

,`SECOND`

,`TIME`

,`TODAY`

,`WEEKDAY`

,`YEAR`

- Conversion Functions
`CHAR`

,`CODE`

,`DATEVALUE`

,`DOLLAR`

,`FIXED`

,`N`

,`ROMAN`

,`T`

,`TEXT`

,`TIMEVALUE`

,`VALUE`

- Type Functions
`ISNONTEXT`

,`ISNUMBER`

,`ISTEXT`

- Matrix Functions
`MDETERM`

- Aggregators
`AVEDEV`

,`AVERAGE`

,`COUNT`

,`COUNTA`

,`COVAR`

,`DEVSQ`

,`KURT`

,`MAX`

,`MIN`

,`PRODUCT`

,`SKEW`

,`STDEV`

,`STDEVP`

,`SUM`

,`SUMIF`

,`SUMSQ`

,`VAR`

,`VARP`

- Database Table Aggregators
`COUNTIF`

,`DAVERAGE`

,`DCOUNT`

,`DCOUNTA`

,`DGET`

,`DMAX`

,`DMIN`

,`DPRODUCT`

,`DSTDEV`

,`DSTDEVP`

,`DSUM`

,`DVAR`

,`DVARP`

,`SUMIF`

- Lookup Functions
`CHOOSE`

,`HLOOKUP`

,`INDEX`

,`LOOKUP`

,`MATCH`

,`VLOOKUP`

- Limitations
- Things that are known to not work quite as expected yet.

## Note On The Sample Expressions

To ensure its correctness, all the example expressions and their results have been cited from automated tests that are run with every release build.