Functions

ClosedXML can evaluate formula functions.

Note

Excel has a a list of functions that are defined in ECMA-376 and a newer ones that are added in some subsequent version (future functions). The future functions generally have a prefix _xlfn. The prefix is hidden in the GUI, but is present in the file (e.g. _xlfn.CONCAT(A1:A2) is displayed as a =CONCAT(A1:B1) in the Excel).

The cell formula that uses a future functions that were added in later version of Excel must use a correct name of a function, including the prefix.

ws.Cell(1,1).FormulaA1 = "_xlfn.CONCAT(A1:A2)";

Excel won’t recognize future functions without a prefix! It will try to match the function, but won’t find anything and it will display a #NAME? error.

See the list of future functions

Note

ClosedXML doesn’t calculate and save values of a formula cells by default. The saved cell contains only formula and when the file is opened in the Excel, it recalculates values of formulas.

You can save values by setting SaveOptions.EvaluateFormulasBeforeSaving to true and passing the options to the XLWorkbook.SaveAs or XLWorkbook.Save method.

Workbook without formula values can exhibit slighly odd behavior in some cases:

  • IXLCell.Style.Alignment.WrapText doesn’t correctly auto-size cell height when opened in Excel (#1833).

Standard functions

Standard function implementation status

Category

Function

Implemented

Cube

CUBEKPIMEMBER

No

CUBEMEMBER

No

CUBEMEMBERPROPERTY

No

CUBERANKEDMEMBER

No

CUBESET

No

CUBESETCOUNT

No

CUBEVALUE

No

Database

DAVERAGE

No

DCOUNT

No

DCOUNTA

No

DGET

No

DMAX

No

DMIN

No

DPRODUCT

No

DSTDEV

No

DSTDEVP

No

DSUM

No

DVAR

No

DVARP

No

Date and Time

DATE

Yes

DATEDIF

Yes

DATEVALUE

Yes

DAY

Yes

DAYS360

Yes

EDATE

Yes

EOMONTH

Yes

HOUR

Yes

MINUTE

Yes

MONTH

Yes

NETWORKDAYS

Yes

NETWORKDAYS.INTL

No

NOW

Yes

SECOND

Yes

TIME

Yes

TIMEVALUE

Yes

TODAY

Yes

WEEKDAY

Yes

WEEKNUM

Yes

WORKDAY

Yes

WORKDAY.INTL

No

YEAR

Yes

YEARFRAC

Yes

Engineering

BESSELI

No

BESSELJ

No

BESSELK

No

BESSELY

No

BIN2DEC

No

BIN2HEX

No

BIN2OCT

No

COMPLEX

No

CONVERT

No

DEC2BIN

No

DEC2HEX

No

DEC2OCT

No

DELTA

No

ERF

No

ERFC

No

GESTEP

No

HEX2BIN

No

HEX2DEC

No

HEX2OCT

No

IMABS

No

IMAGINARY

No

IMARGUMENT

No

IMCONJUGATE

No

IMCOS

No

IMDIV

No

IMEXP

No

IMLN

No

IMLOG10

No

IMLOG2

No

IMPOWER

No

IMPRODUCT

No

IMREAL

No

IMSIN

No

IMSQRT

No

IMSUB

No

IMSUM

No

OCT2BIN

No

OCT2DEC

No

OCT2HEX

No

Financial

ACCRINT

No

ACCRINTM

No

AMORDEGRC

No

AMORLINC

No

COUPDAYBS

No

COUPDAYS

No

COUPDAYSNC

No

COUPNCD

No

COUPNUM

No

COUPPCD

No

CUMIPMT

No

CUMPRINC

No

DB

No

DDB

No

DISC

No

DOLLARDE

No

DOLLARFR

No

DURATION

No

EFFECT

No

FV

No

FVSCHEDULE

No

INTRATE

No

IPMT

No

IRR

No

ISPMT

No

MDURATION

No

MIRR

No

NOMINAL

No

NPER

No

NPV

No

ODDFPRICE

No

ODDFYIELD

No

ODDLPRICE

No

ODDLYIELD

No

PMT

Yes

PPMT

No

PRICE

No

PRICEDISC

No

PRICEMAT

No

PV

No

RATE

No

RECEIVED

No

SLN

No

SYD

No

TBILLEQ

No

TBILLPRICE

No

TBILLYIELD

No

VDB

No

XIRR

No

XNPV

No

YIELD

No

YIELDDISC

No

YIELDMAT

No

Information

CELL

No

ERROR.TYPE

YES

INFO

No

ISBLANK

YES

ISERR

YES

ISERROR

YES

ISEVEN

YES

ISLOGICAL

YES

ISNA

YES

ISNONTEXT

YES

ISNUMBER

YES

ISODD

YES

ISREF

YES

ISTEXT

YES

N

YES

NA

YES

TYPE

YES

Logical

AND

YES

FALSE

YES

IF

YES

IFERROR

YES

NOT

YES

OR

YES

TRUE

YES

Lookup and Reference

ADDRESS

No

AREAS

No

CHOOSE

No

COLUMN

YES

COLUMNS

No

GETPIVOTDATA

No

HLOOKUP

YES

HYPERLINK

YES

INDEX

YES

INDIRECT

No

LOOKUP

No

MATCH

YES

OFFSET

No

ROW

YES

ROWS

No

RTD

No

TRANSPOSE

No

VLOOKUP

YES

Math and Trig

ABS

YES

ACOS

YES

ACOSH

YES

ASIN

YES

ASINH

YES

ATAN

YES

ATAN2

YES

ATANH

YES

CEILING

YES

COMBIN

YES

COS

YES

COSH

YES

DEGREES

YES

ECMA.CEILING

No

EVEN

YES

EXP

YES

FACT

YES

FACTDOUBLE

YES

FLOOR

YES

GCD

YES

INT

YES

ISO.CEILING

No

LCM

YES

LN

YES

LOG

YES

LOG10

YES

MDETERM

YES

MINVERSE

YES

MMULT

YES

MOD

YES

MROUND

YES

MULTINOMIAL

YES

ODD

YES

PI

YES

POWER

YES

PRODUCT

YES

QUOTIENT

YES

RADIANS

YES

RAND

YES

RANDBETWEEN

YES

ROMAN

YES

ROUND

YES

ROUNDDOWN

YES

ROUNDUP

YES

SERIESSUM

YES

SIGN

YES

SIN

YES

SINH

YES

SQRT

YES

SQRTPI

YES

SUBTOTAL

YES

SUM

YES

SUMIF

YES

SUMIFS

YES

SUMPRODUCT

YES

SUMSQ

YES

SUMX2MY2

No

SUMX2PY2

No

SUMXMY2

No

TAN

YES

TANH

YES

TRUNC

YES

Statistical

AVEDEV

No

AVERAGE

YES

AVERAGEA

YES

AVERAGEIF

No

AVERAGEIFS

No

BETADIST

No

BETAINV

No

BINOMDIST

No

CHIDIST

No

CHIINV

No

CHITEST

No

CONFIDENCE

No

CORREL

No

COUNT

YES

COUNTA

YES

COUNTBLANK

YES

COUNTIF

YES

COUNTIFS

YES

COVAR

No

CRITBINOM

No

DEVSQ

YES

EXPONDIST

No

FDIST

No

FINV

No

FISHER

YES

FISHERINV

No

FORECAST

No

FREQUENCY

No

FTEST

No

GAMMADIST

No

GAMMAINV

No

GAMMALN

No

GEOMEAN

YES

GROWTH

No

HARMEAN

No

HYPGEOMDIST

No

INTERCEPT

No

KURT

No

LARGE

No

LINEST

No

LOGEST

No

LOGINV

No

LOGNORMDIST

No

MAX

YES

MAXA

YES

MEDIAN

YES

MIN

YES

MINA

YES

MODE

No

NEGBINOMDIST

No

NORMDIST

No

NORMINV

No

NORMSDIST

No

NORMSINV

No

PEARSON

No

PERCENTILE

No

PERCENTRANK

No

PERMUT

No

POISSON

No

PROB

No

QUARTILE

No

RANK

No

RSQ

No

SKEW

No

SLOPE

No

SMALL

No

STANDARDIZE

No

STDEV

YES

STDEVA

YES

STDEVP

YES

STDEVPA

YES

STEYX

No

TDIST

No

TINV

No

TREND

No

TRIMMEAN

No

TTEST

No

VAR

YES

VARA

YES

VARP

YES

VARPA

YES

WEIBULL

No

ZTEST

No

Text and Data

ASC

YES

BAHTTEXT

No

CHAR

YES

CLEAN

YES

CODE

YES

CONCATENATE

YES

DOLLAR

YES

EXACT

YES

FIND

YES

FINDB

No

FIXED

YES

JIS

No

LEFT

YES

LEFTB

No

LEN

YES

LENB

No

LOWER

YES

MID

YES

MIDB

No

PHONETIC

No

PROPER

YES

REPLACE

YES

REPLACEB

No

REPT

YES

RIGHT

YES

RIGHTB

No

SEARCH

YES

SEARCHB

No

SUBSTITUTE

YES

T

YES

TEXT

YES

TRIM

YES

UPPER

YES

VALUE

YES

Future functions

Future functions

Category

Function

Implemented

Date and Time

_xlfn.ISOWEEKNUM

Yes

Math and Trig

_xlfn.ACOT

Yes

_xlfn.ACOTH

Yes

_xlfn.ARABIC

Yes

_xlfn.BASE

Yes

_xlfn.CEILING.MATH

Yes

_xlfn.COMBINA

Yes

_xlfn.COT

Yes

_xlfn.COTH

Yes

_xlfn.CSC

Yes

_xlfn.CSCH

Yes

_xlfn.DECIMAL

Yes

_xlfn.FLOOR.MATH

Yes

_xlfn.SEC

Yes

_xlfn.SECH

Yes

Statistical

_xlfn.STDEV.S

Yes

_xlfn.STDEV.P

Yes

Text and Data

_xlfn.CONCAT

Yes

_xlfn.NUMBERVALUE

Yes

_xlfn.TEXTJOIN

Yes