Excel Support

Explo compiles Excel formulas to native code for fast, deterministic execution. Below is a comprehensive breakdown of every Excel function and feature, with current support status.

537
Total Functions
459
Supported
16
Blocked
62
Not Yet Supported
🔍

Functions by Category

Math63 shown · 63/63 supported
FunctionStatusDetails
ABSSupportedAbsolute value
ACOSSupportedArc cosine in radians
ACOSHSupportedInverse hyperbolic cosine
ACOTSupportedArc cotangent - returns radians in range (0, π)
ACOTHSupportedInverse hyperbolic cotangent - 0.5*ln((x+1)/(x-1))
ACSCHSupportedInverse hyperbolic cosecant
ASECHSupportedInverse hyperbolic secant
ASINSupportedArc sine in radians
ASINHSupportedInverse hyperbolic sine
ATANSupportedArc tangent in radians
ATAN2SupportedArc tangent of y/x in radians
ATANHSupportedInverse hyperbolic tangent
CEILINGSupportedRound up to multiple
CEILING.MATHSupportedRound up to nearest integer or multiple of significance; mode param controls negative number direction
CEILING.PRECISESupportedRound up to nearest multiple, always away from zero - equivalent to ISO.CEILING
COMBINSupportedNumber of combinations - COMBIN(n, k) = n! / (k! * (n-k)!)
COMBINASupportedNumber of combinations with repetition - COMBINA(n, k) = (n+k-1)! / (k! * (n-1)!)
CONVERTSupportedUnit conversion - CONVERT(number, from_unit, to_unit)
COSSupportedCosine of angle in radians
COSHSupportedHyperbolic cosine
COTSupportedCotangent - 1/tan(x)
COTHSupportedHyperbolic cotangent - 1/tanh(x)
CSCSupportedCosecant - 1/sin(x)
CSCHSupportedHyperbolic cosecant - 1/sinh(x)
DEGREESSupportedConverts radians to degrees
ECMA.CEILINGSupportedECMA-376 ceiling: rounds up to nearest multiple; zero significance returns 0
EVENSupportedRound up to nearest even integer
EXPSupportede raised to power
FACTSupportedFactorial - n! Returns #NUM! if n < 0 or n > 170
FACTDOUBLESupportedDouble factorial - n!! Returns #NUM! if n < -1 or n > 288
FLOORSupportedRound down to multiple
FLOOR.MATHSupportedRound down to nearest integer or multiple of significance; mode param controls negative number direction
FLOOR.PRECISESupportedRound down to nearest multiple, always toward negative infinity - equivalent to FLOOR.MATH with mode=0
GCDSupportedGreatest common divisor of integers - returns #NUM! if any argument is negative
INTSupportedRound down to integer
ISO.CEILINGSupportedRound up to nearest multiple of significance, always away from zero
LCMSupportedLeast common multiple of integers - returns #NUM! if any argument is negative
LNSupportedNatural logarithm
LOGSupportedLogarithm with custom base
LOG10SupportedBase-10 logarithm
MODSupportedModulo operation
MROUNDSupportedRound to nearest multiple
ODDSupportedRound up to nearest odd integer
PERMUTSupportedNumber of permutations - PERMUT(n, k) = n! / (n-k)!
PERMUTATIONASupportedNumber of permutations with repetition - PERMUTATIONA(n, k) = n^k
PISupportedReturns the mathematical constant pi
POWERSupportedExponentiation
QUOTIENTSupportedInteger portion of division - QUOTIENT(numerator, denominator)
RADIANSSupportedConverts degrees to radians
RANDSupportedRandom number - returns compile-time constant from baseline value for deterministic validation
RANDBETWEENSupportedRandom integer between bounds - returns compile-time constant from baseline value for deterministic validation
ROUNDSupportedRound to specified digits
ROUNDDOWNSupportedRound toward zero
ROUNDUPSupportedRound away from zero
SECSupportedSecant - 1/cos(x)
SECHSupportedHyperbolic secant - 1/cosh(x)
SIGNSupportedReturns -1, 0, or 1
SINSupportedSine of angle in radians
SINHSupportedHyperbolic sine
SQRTSupportedSquare root
TANSupportedTangent of angle in radians
TANHSupportedHyperbolic tangent
TRUNCSupportedTruncate to integer
Aggregation55 shown · 55/55 supported
FunctionStatusDetails
AGGREGATESupportedAggregate using a specified function (function_num 1-19) with options to ignore errors/hidden rows
AVEDEVSupportedAverage of absolute deviations from the mean - AVEDEV(number1, number2, ...)
AVERAGESupportedArithmetic mean
AVERAGEASupportedAverage including text (0) and booleans (TRUE=1, FALSE=0)
AVERAGEIFSupportedAverage with single condition - requires static ranges
AVERAGEIFSSupportedAverage with multiple conditions - requires static ranges
COUNTSupportedCount numeric values
COUNTASupportedCount non-empty values
COUNTBLANKSupportedCount empty values
COUNTIFSupportedCount with single condition - requires static ranges
COUNTIFSSupportedCount with multiple conditions - requires static ranges
DEVSQSupportedSum of squared deviations from the mean
GEOMEANSupportedGeometric mean - all values must be positive
HARMEANSupportedHarmonic mean - all values must be positive
KURTSupportedSample excess kurtosis - requires at least 4 values
LARGESupportedK-th largest value
MAXSupportedMaximum value
MAXASupportedMaximum value including text (as 0) and booleans
MAXIFSSupportedMax with multiple conditions - requires static ranges
MEDIANSupportedMiddle value when sorted
MINSupportedMinimum value
MINASupportedMinimum value including text (as 0) and booleans
MINIFSSupportedMin with multiple conditions - requires static ranges
MODESupportedMost frequently occurring value; returns #N/A if no value repeats
PERCENTILESupportedK-th percentile value
PERCENTRANKSupportedPercentile rank of value in dataset (0-1 inclusive), legacy alias for PERCENTRANK.INC
PERCENTRANK.INCSupportedPercentile rank of value in dataset (0-1 inclusive)
PRODUCTSupportedProduct of values
QUARTILESupportedQuartile value (0-4)
RANKSupportedRank of a number in a list (legacy alias for RANK.EQ)
RANK.EQSupportedRank of a number in a list, ties get same rank (lowest rank)
SKEWSupportedSample skewness - requires at least 3 values
SKEW.PSupportedPopulation skewness - requires at least 1 value
SMALLSupportedK-th smallest value
STDEVSupportedSample standard deviation
STDEV.PSupportedPopulation standard deviation (modern name for STDEVP)
STDEV.SSupportedSample standard deviation (modern name for STDEV)
STDEVASupportedSample standard deviation including text (as 0) and logical values
STDEVPSupportedPopulation standard deviation
STDEVPASupportedPopulation standard deviation including text (as 0) and logical values
SUBTOTALSupportedSubtotal using a specified aggregate function (function_num 1-11 or 101-111)
SUMSupportedSum of values
SUMIFSupportedSum with single condition - requires static ranges
SUMIFSSupportedSum with multiple conditions - requires static ranges
SUMSQSupportedSum of squares of values
SUMX2MY2SupportedSum of differences of squares: Σ(x²-y²)
SUMX2PY2SupportedSum of sums of squares: Σ(x²+y²)
SUMXMY2SupportedSum of squares of differences: Σ(x-y)²
TRIMMEANSupportedMean of interior data after trimming top/bottom (percent/2) values
VARSupportedSample variance
VAR.PSupportedPopulation variance (modern name for VARP)
VAR.SSupportedSample variance (modern name for VAR)
VARASupportedSample variance including text (as 0) and logical values
VARPSupportedPopulation variance
VARPASupportedPopulation variance including text (as 0) and logical values
Logic26 shown · 26/26 supported
FunctionStatusDetails
ANDSupportedLogical AND
CHOOSESupportedSelect from list by index
ERROR.TYPESupportedReturns error type number: 1=#NULL!, 2=#DIV/0!, 3=#VALUE!, 4=#REF!, 5=#NAME?, 6=#NUM!, 7=#N/A; returns #N/A for non-errors
FALSESupportedBoolean FALSE constant
IFSupportedConditional expression
IFERRORSupportedError handling
IFNASupportedHandle N/A errors
IFSSupportedMultiple conditions
ISBLANKSupportedCheck if empty
ISERRSupportedCheck if error (excluding #N/A)
ISERRORSupportedCheck if error
ISEVENSupportedCheck if number is even; truncates toward zero
ISLOGICALSupportedCheck if boolean
ISNASupportedCheck if N/A
ISNONTEXTSupportedCheck if not text
ISNUMBERSupportedCheck if number
ISODDSupportedCheck if number is odd; truncates toward zero
ISREFSupportedCheck if value is a valid cell reference; TRUE for cell refs and resolved INDIRECT, FALSE for errors/constants
ISTEXTSupportedCheck if text
NASupportedReturns the #N/A error value
NOTSupportedLogical negation
ORSupportedLogical OR
SWITCHSupportedPattern matching
TRUESupportedBoolean TRUE constant
TYPESupportedReturns value type: 1=number, 2=text, 4=boolean, 16=error, 64=array
XORSupportedLogical XOR - TRUE if odd number of arguments are TRUE
Text45 shown · 45/45 supported
FunctionStatusDetails
ARABICSupportedConverts Roman numeral text to Arabic number
ARRAYTOTEXTSupportedConvert array to text; format 0=concise (comma-separated), 1=strict (braces with quoted strings)
ASCSupportedConvert full-width (double-byte) characters to half-width (single-byte) characters
BAHTTEXTSupportedConvert number to Thai baht currency text
CHARSupportedCharacter from code
CLEANSupportedRemove non-printable characters
CODESupportedCode of first character
CONCATSupportedString concatenation (newer)
CONCATENATESupportedString concatenation
DBCSSupportedConvert half-width (single-byte) characters to full-width (double-byte) characters
DOLLARSupportedConvert number to text with dollar sign and optional decimal places
ENCODEURLSupportedPercent-encodes URL-unsafe characters in text
EXACTSupportedCase-sensitive string comparison
FINDSupportedFind position of text (case-sensitive)
FINDBSupportedFind position of text by bytes (case-sensitive, DBCS-aware)
FIXEDSupportedRound number and return as text with optional thousands separators
FORMULATEXTSupportedReturns formula as text; when called via _XLUDF. prefix returns #NAME?
HYPERLINKSupportedCreates a clickable hyperlink - returns friendly_name if provided, otherwise link_location
JISSupportedAlias for DBCS - convert half-width to full-width characters (Japanese)
LEFTSupportedExtract leftmost characters
LEFTBSupportedExtract leftmost bytes (DBCS-aware)
LENSupportedString length
LENBSupportedString byte length (DBCS-aware)
LOWERSupportedConvert to lowercase
MIDSupportedExtract substring
MIDBSupportedExtract substring by bytes (DBCS-aware)
NSupportedReturns number if argument is number, 0 otherwise
NUMBERVALUESupportedConvert text to number with locale separators; when called via _XLUDF. prefix returns #NAME?
PROPERSupportedCapitalize first letter of each word
REPLACESupportedReplace by position
REPLACEBSupportedReplace by byte position (DBCS-aware)
REPTSupportedRepeat text
RIGHTSupportedExtract rightmost characters
RIGHTBSupportedExtract rightmost bytes (DBCS-aware)
ROMANSupportedConverts Arabic number to Roman numeral text
SEARCHSupportedFind position of text (case-insensitive)
SEARCHBSupportedFind position of text by bytes (case-insensitive, DBCS-aware)
SUBSTITUTESupportedReplace text
TSupportedReturns text if argument is text, empty string otherwise
TEXTSupportedFormat value as text
TEXTJOINSupportedJoin text with delimiter
TRIMSupportedRemove whitespace
UNICHARSupportedUnicode character from code point (full Unicode range)
UPPERSupportedConvert to uppercase
VALUESupportedConvert text to number
Lookup8 shown · 8/8 supported
FunctionStatusDetails
GETPIVOTDATASupportedPivotTable lookup - returns compile-time constant from baseline value
HLOOKUPSupportedOnly works with static ranges
INDEXSupportedOnly works with static ranges
LOOKUPSupportedVector form lookup - only works with static ranges
MATCHSupportedOnly works with static ranges
VLOOKUPSupportedOnly works with static ranges
XLOOKUPSupportedSearch and return from separate arrays - supports exact/approximate match and search modes
XMATCHSupportedReturns position of value in array - supports exact/approximate match and search modes
Reference10 shown · 10/10 supported
FunctionStatusDetails
ADDRESSSupportedReturns cell address as string - supports abs_num, a1_ref_style, and sheet_name parameters
AREASSupportedArea count - compiles to constant: counts contiguous ranges in the reference
CELLSupportedCell information - supports address, row, col, contents, type
COLUMNSupportedColumn number of reference - compiles to constant for static refs
COLUMNSSupportedColumn count - compiles to constant for static ranges
INDIRECTSupportedDynamic cell reference - compile-time resolution for constants, runtime lookup otherwise
ISECTSupportedIntersection operator (space) - returns intersection of two ranges
OFFSETSupportedReturns reference offset from a starting cell - requires static (constant) arguments
ROWSupportedRow number of reference - compiles to constant for static refs
ROWSSupportedRow count - compiles to constant for static ranges
Date20 shown · 20/20 supported
FunctionStatusDetails
DATESupportedCreates date serial number from year/month/day
DATEDIFSupportedDifference between dates in specified units
DATEVALUESupportedConverts date text string to Excel serial number - supports M/D/YYYY, YYYY-MM-DD, and other common formats
DAYSupportedExtracts day from date serial number
DAYSSupportedDays between two dates
DAYS360SupportedDays between dates on 360-day year - supports US (NASD) and European methods
EDATESupportedAdd months to a date
EOMONTHSupportedEnd of month after adding months
ISOWEEKNUMSupportedISO 8601 week number - weeks start Monday, week 1 contains first Thursday
MONTHSupportedExtracts month from date serial number
NETWORKDAYSSupportedCount working days (Mon-Fri) between two dates, excluding weekends and optional holidays
NETWORKDAYS.INTLSupportedCount working days between two dates with custom weekend definition
NOWSupportedReturns current date and time - uses reference date from spreadsheet for validation
TODAYSupportedReturns current date as serial - uses reference date from spreadsheet for validation
WEEKDAYSupportedDay of week from date serial
WEEKNUMSupportedWeek number from date serial
WORKDAYSupportedReturns date N workdays from start, skipping weekends and holidays
WORKDAY.INTLSupportedReturns date N workdays from start with custom weekend definition
YEARSupportedExtracts year from date serial number
YEARFRACSupportedYear fraction between two dates - supports basis 0-4 (30/360, Actual/Actual, Actual/360, Actual/365, European 30/360)
Time5 shown · 5/5 supported
FunctionStatusDetails
HOURSupportedExtracts hour (0-23) from time portion of serial number
MINUTESupportedExtracts minute (0-59) from time portion of serial number
SECONDSupportedExtracts second (0-59) from time portion of serial number
TIMESupportedCreates time serial from hour/minute/second - values overflow properly
TIMEVALUESupportedConverts time text string to decimal fraction of day (0 to 0.999...) - ignores date portion
Financial51 shown · 51/51 supported
FunctionStatusDetails
ACCRINTSupportedAccrued interest for periodic coupon securities
ACCRINTMSupportedAccrued interest for security that pays at maturity
AMORDEGRCSupportedFrench degressive depreciation with coefficients
AMORLINCSupportedFrench linear depreciation with prorating
COUPDAYBSSupportedDays from beginning of coupon period to settlement date
COUPDAYSSupportedNumber of days in coupon period containing settlement date
COUPDAYSNCSupportedNumber of days from settlement date to next coupon date
COUPNCDSupportedNext coupon date after settlement date
COUPNUMSupportedNumber of coupons payable between settlement and maturity
COUPPCDSupportedPrevious coupon date before settlement date
CUMIPMTSupportedCumulative interest paid between periods
CUMPRINCSupportedCumulative principal paid between periods
DBSupportedDeclining balance depreciation
DDBSupportedDouble declining balance depreciation
DISCSupportedDiscount rate for a security - DISC(settlement, maturity, pr, redemption, [basis])
DOLLARDESupportedConverts fractional dollar notation to decimal
DOLLARFRSupportedConverts decimal dollar amount to fractional notation
DURATIONSupportedMacaulay duration for a bond with par value $100
EFFECTSupportedEffective annual interest rate - EFFECT(nominal_rate, npery) = (1 + nominal_rate/npery)^npery - 1
FVSupportedFuture value calculation
FVSCHEDULESupportedFuture value using variable interest rate schedule
INTRATESupportedInterest rate for a fully invested security - INTRATE(settlement, maturity, investment, redemption, [basis])
IPMTSupportedInterest payment for a period
IRRSupportedInternal rate of return using Newton-Raphson
ISPMTSupportedInterest paid during a specific period - simple interest
MDURATIONSupportedModified Macaulay duration for a bond with par value $100
MIRRSupportedModified internal rate of return
NOMINALSupportedNominal annual interest rate - NOMINAL(effect_rate, npery) = ((1 + effect_rate)^(1/npery) - 1) * npery
NPERSupportedNumber of periods calculation
NPVSupportedNet present value
ODDFPRICESupportedPrice per $100 face value of a security with an odd first coupon period - ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])
ODDFYIELDSupportedYield of a security with an odd first coupon period - ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])
ODDLPRICESupportedPrice per $100 face value of a security with an odd last coupon period - ODDLPRICE(settlement, maturity, last_interest, rate, yld, redemption, frequency, [basis])
ODDLYIELDSupportedYield of a security with an odd last coupon period - ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency, [basis])
PMTSupportedLoan payment calculation
PPMTSupportedPrincipal payment for a period
PRICESupportedPrice per $100 face value of a security that pays periodic interest - PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis])
PRICEMATSupportedPrice per $100 face value of a security that pays interest at maturity - PRICEMAT(settlement, maturity, issue, rate, yld, [basis])
PVSupportedPresent value calculation
RATESupportedInterest rate calculation using Newton-Raphson iteration
SLNSupportedStraight-line depreciation
SYDSupportedSum-of-years-digits depreciation
TBILLEQSupportedBond-equivalent yield for a Treasury bill - TBILLEQ(settlement, maturity, discount)
TBILLPRICESupportedPrice per $100 face value for a Treasury bill - TBILLPRICE(settlement, maturity, discount)
TBILLYIELDSupportedYield for a Treasury bill - TBILLYIELD(settlement, maturity, pr)
VDBSupportedVariable declining balance depreciation
XIRRSupportedInternal rate of return for irregular cash flows - XIRR(values, dates, [guess])
XNPVSupportedNet present value for irregular cash flows - XNPV(rate, values, dates)
YIELDSupportedYield on a security that pays periodic interest (inverse of PRICE via Newton-Raphson) - YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])
YIELDDISCSupportedAnnual yield for a discounted security - YIELDDISC(settlement, maturity, pr, redemption, [basis])
YIELDMATSupportedAnnual yield of a security that pays interest at maturity - YIELDMAT(settlement, maturity, issue, rate, pr, [basis])
Statistical62 shown · 62/62 supported
FunctionStatusDetails
BETA.DISTSupportedBeta distribution PDF (cumulative=FALSE) or CDF (cumulative=TRUE) on interval [A, B]
BETA.INVSupportedInverse beta distribution - returns x such that BETA.DIST(x, alpha, beta, TRUE, A, B) = probability
BETADISTSupportedBeta distribution PDF (cumulative=FALSE) or CDF (cumulative=TRUE) on interval [A, B]
BETAINVSupportedInverse beta distribution - returns x such that BETA.DIST(x, alpha, beta, TRUE, A, B) = probability
BINOM.DISTSupportedBinomial distribution PMF (C(n,k)*p^k*(1-p)^(n-k)) or CDF (P(X<=k)) - BINOM.DIST(number_s, trials, probability_s, cumulative)
BINOM.DIST.RANGESupportedProbability that number of successes falls in a range - BINOM.DIST.RANGE(trials, probability_s, number_s, [number_s2])
BINOM.INVSupportedModern name for CRITBINOM - returns smallest k such that BINOM.DIST(k, trials, probability_s, TRUE) >= alpha
BINOMDISTSupportedLegacy binomial distribution PMF (cumulative=FALSE) or CDF (cumulative=TRUE) - deprecated, use BINOM.DIST
CHIDISTSupportedChi-squared distribution right tail - returns P(X > x) = 1 - P(df/2, x/2)
CHIINVSupportedInverse chi-squared right-tail distribution - returns x such that CHIDIST(x, df) = probability
CHISQ.DISTSupportedChi-squared distribution CDF (cumulative=TRUE) or PDF (cumulative=FALSE) - CHISQ.DIST(x, deg_freedom, cumulative)
CHISQ.DIST.RTSupportedChi-squared distribution right tail - equivalent to 1 - CHISQ.DIST(x, deg_freedom, TRUE)
CHISQ.INV.RTSupportedInverse chi-squared right-tail distribution - returns x such that CHISQ.DIST.RT(x, df) = probability. Modern replacement for CHIINV.
CHISQ.TESTSupportedChi-squared test for independence (modern version of CHITEST)
CHITESTSupportedChi-squared test for independence - returns p-value comparing actual vs expected frequencies
CONFIDENCESupportedConfidence interval for population mean - NORM.S.INV(1-alpha/2) * (stdev/sqrt(size))
CONFIDENCE.NORMSupportedConfidence interval for population mean (modern name) - same as CONFIDENCE
CONFIDENCE.TSupportedConfidence interval using t-distribution - T.INV.2T(alpha, n-1) * stdev / sqrt(n)
CORRELSupportedPearson correlation coefficient between two arrays - returns #DIV/0! if variance of either array is 0 or fewer than 2 valid pairs
COVARSupportedLegacy population covariance - equivalent to COVARIANCE.P, divides by n
COVARIANCE.PSupportedPopulation covariance - divides by n
COVARIANCE.SSupportedSample covariance - divides by n-1
CRITBINOMSupportedReturns smallest k such that BINOM.DIST(k, trials, probability_s, TRUE) >= alpha - inverse binomial CDF
EXPON.DISTSupportedExponential distribution PDF (cumulative=FALSE) or CDF (cumulative=TRUE) - modern form of EXPONDIST
EXPONDISTSupportedExponential distribution PDF (cumulative=FALSE) or CDF (cumulative=TRUE)
F.DISTSupportedF-distribution CDF (cumulative=TRUE) or PDF (cumulative=FALSE) - F.DIST(x, deg_freedom1, deg_freedom2, cumulative)
F.DIST.RTSupportedF-distribution right tail probability - P(F > x) using regularized incomplete beta function
F.INVSupportedInverse of F-distribution CDF - returns x such that F.DIST(x, df1, df2, TRUE) = probability
F.INV.RTSupportedInverse of F-distribution right tail - returns x such that F.DIST.RT(x, df1, df2) = probability
F.TESTSupportedF-test for variance equality - returns two-tailed p-value testing if two samples have equal variances
FDISTSupportedLegacy F-distribution right tail probability - same as F.DIST.RT; FDIST(x, df1, df2)
FINVSupportedLegacy inverse F-distribution right tail - same as F.INV.RT; returns x such that F.DIST.RT(x, df1, df2) = probability
FISHERSupportedFisher transformation: atanh(x) for -1 < x < 1; returns #NUM! if x <= -1 or x >= 1
FISHERINVSupportedInverse Fisher transformation: tanh(y) for any real y
FORECAST.ETSSupportedAAA Exponential Smoothing forecast - returns compile-time constant baseline value from executed spreadsheet
FORECAST.ETS.CONFINTSupportedAAA Exponential Smoothing confidence interval - returns compile-time constant baseline value from executed spreadsheet
FORECAST.ETS.SEASONALITYSupportedETS seasonality detection - when invoked via _XLUDF.FORECAST.ETS.SEASONALITY returns #NAME? to match Excel behavior
FORECAST.ETS.STATSupportedETS forecast statistics; when invoked via _XLUDF. prefix (as a UDF add-in) returns #NAME? to match Excel behavior
FTESTSupportedLegacy name for F.TEST - F-test for variance equality, returns two-tailed p-value
GAMMA.DISTSupportedGamma distribution PDF or CDF - returns #NUM! if x < 0, alpha <= 0, or beta <= 0
GAMMA.INVSupportedInverse gamma distribution - returns x such that GAMMA.DIST(x, alpha, beta, TRUE) = probability
GAMMAINVSupportedInverse gamma distribution - returns x such that GAMMA.DIST(x, alpha, beta, TRUE) = probability
GAMMALNSupportedNatural logarithm of the gamma function - GAMMALN(x) = ln(Gamma(x)); returns #NUM! if x <= 0
GAUSSSupportedReturns probability between mean and z standard deviations - GAUSS(z) = NORM.S.DIST(z, TRUE) - 0.5
GROWTHSupportedExponential regression: fits y=b*m^x model to known data and returns first predicted value; returns #NUM! if any known_y <= 0
HYPGEOM.DISTSupportedHypergeometric distribution (Excel 2010+) - PMF or CDF; when invoked via _XLUDF.HYPGEOM.DIST computes normally
HYPGEOMDISTSupportedHypergeometric distribution - P(X=k) = C(K,k)*C(N-K,n-k)/C(N,n)
INTERCEPTSupportedY-intercept of linear regression line - INTERCEPT(known_y's, known_x's); returns #DIV/0! if variance of x is 0 or fewer than 2 pairs
NORM.INVSupportedInverse of normal cumulative distribution - NORM.INV(probability, mean, standard_dev); modern name for NORMINV
NORM.S.DISTSupportedStandard normal cumulative distribution (cumulative=TRUE) or PDF (cumulative=FALSE)
NORMINVSupportedInverse of normal cumulative distribution - NORMINV(probability, mean, standard_dev); legacy name for NORM.INV
NORMSDISTSupportedLegacy standard normal CDF - NORMSDIST(z) = NORM.S.DIST(z, TRUE)
PEARSONSupportedPearson correlation coefficient - identical to CORREL
POISSONSupportedLegacy Poisson distribution PMF (cumulative=FALSE) or CDF (cumulative=TRUE) - deprecated, use POISSON.DIST
POISSON.DISTSupportedPoisson distribution PMF (cumulative=FALSE: e^(-λ)*λ^x/x!) or CDF (cumulative=TRUE: sum of PMF up to x)
PROBSupportedReturns probability that values in x_range fall between lower and upper limits - PROB(x_range, prob_range, lower_limit, [upper_limit])
RSQSupportedR-squared (coefficient of determination) of linear regression - RSQ(known_y's, known_x's); returns #DIV/0! if variance of x or y is 0
SLOPESupportedSlope of linear regression line - SLOPE(known_y's, known_x's); returns #DIV/0! if variance of x is 0 or fewer than 2 pairs
STANDARDIZESupportedReturns a normalized value (z-score) - STANDARDIZE(x, mean, standard_dev) = (x - mean) / standard_dev; returns #NUM! if standard_dev <= 0
STEYXSupportedStandard error of predicted y-value in linear regression - STEYX(known_y's, known_x's); returns #DIV/0! if fewer than 3 pairs
T.INV.2TSupportedTwo-tailed inverse t-distribution - returns t such that P(|T| > t) = probability
TRENDSupportedLinear regression: fits y=mx+b model to known data and returns first predicted value for single-cell context
Engineering29 shown · 29/29 supported
FunctionStatusDetails
BASESupportedConverts number to text in given base (radix 2-36), optional min_length for padding
BESSELISupportedModified Bessel function of the first kind I_n(x)
BESSELJSupportedBessel function of the first kind J_n(x)
BESSELKSupportedModified Bessel function of the second kind K_n(x)
BESSELYSupportedBessel function of the second kind Y_n(x)
BIN2DECSupportedBinary to decimal - 10 bits max, two's complement for negatives
BIN2HEXSupportedBinary to hexadecimal - 10 bits max, optional places parameter
BIN2OCTSupportedBinary to octal - 10 bits max, optional places parameter
BITANDSupportedBitwise AND of two integers
BITLSHIFTSupportedLeft shift number by shift_amount bits
BITORSupportedBitwise OR of two integers
BITRSHIFTSupportedRight shift number by shift_amount bits
BITXORSupportedBitwise XOR of two integers
DEC2BINSupportedDecimal to binary - range -512 to 511, optional places parameter
DEC2HEXSupportedDecimal to hexadecimal - range -549755813888 to 549755813887, optional places parameter
DEC2OCTSupportedDecimal to octal - range -536870912 to 536870911, optional places parameter
DECIMALSupportedConverts text representation of number in given base (radix 2-36) to decimal - inverse of BASE
DELTASupportedTests whether two values are equal (Kronecker delta)
ERFSupportedError function integrated between limits - supports 1 or 2 arguments
ERF.PRECISESupportedError function integrated from 0 to x - equivalent to ERF(x)
ERFCSupportedComplementary error function: 1 - ERF(x)
ERFC.PRECISESupportedComplementary error function: 1 - ERF(x), same as ERFC(x)
GESTEPSupportedReturns 1 if number >= step, 0 otherwise (step defaults to 0)
HEX2BINSupportedHexadecimal to binary - limited range, optional places parameter
HEX2DECSupportedHexadecimal to decimal - 10 hex chars max, two's complement for negatives
HEX2OCTSupportedHexadecimal to octal - limited range, optional places parameter
OCT2BINSupportedOctal to binary - limited range, optional places parameter
OCT2DECSupportedOctal to decimal - 10 octal chars max, two's complement for negatives
OCT2HEXSupportedOctal to hexadecimal - 10 octal chars max, optional places parameter
Dynamic Arrays21 shown · 21/21 supported
FunctionStatusDetails
ANCHORARRAYSupportedReferences the spill range anchored at a cell - internal dynamic array operator
CHOOSECOLSSupportedSelect specific columns from an array - supports negative indices for right-to-left
CHOOSEROWSSupportedSelect specific rows from an array - supports negative indices for bottom-to-top
DROPSupportedDrop rows/cols from start or end of array - when invoked via _XLUDF.DROP returns #NAME? to match Excel behavior
EXPANDSupportedExpand an array to specified row/column dimensions, padding with a value (default #N/A)
FILTERSupportedFilter a range based on criteria
FREQUENCYSupportedCalculates frequency distribution - returns array with n+1 elements for n bins
HSTACKSupportedHorizontally stack arrays - when invoked via _XLUDF.HSTACK returns #NAME? to match Excel behavior
IMPLICITSupportedImplicit intersection operator (@) - gets single value from range
SEQUENCESupportedGenerate a sequence of numbers - supports rows, cols, start, step parameters
SORTSupportedSort a range or array
SORTBYSupportedSort a range by another range
SPILLSupportedSpill range operator (#) - references entire spill range
TAKESupportedTake rows/cols from start or end of array - when invoked via _XLUDF.TAKE returns #NAME? to match Excel behavior
TEXTSPLITSupportedSplit text by column and/or row delimiters into a spill array
TOCOLSupportedConvert array to a single column - when invoked via _XLUDF.TOCOL returns #NAME? to match Excel behavior
TOROWSupportedConvert array to a single row - when invoked via _XLUDF.TOROW returns #NAME? to match Excel behavior
UNIQUESupportedExtract unique values from a range
VSTACKSupportedVertically stack arrays - appends arrays row-by-row; anchor cell returns first element
WRAPCOLSSupportedWrap vector into columns - when invoked via _XLUDF.WRAPCOLS returns #NAME? to match Excel behavior
WRAPROWSSupportedWrap vector into rows - when invoked via _XLUDF.WRAPROWS returns #NAME? to match Excel behavior
LAMBDA Functions10 shown · 10/10 supported
FunctionStatusDetails
BYCOLSupportedApply LAMBDA to each column of array
BYROWSupportedApply LAMBDA to each row of array
ISOMITTEDSupportedReturns TRUE if a LAMBDA parameter was omitted - resolved at compile time via param substitution
LAMBDASupportedUser-defined function with parameters - translated to Rust closure
LETSupportedAssign names to calculation results for reuse within a formula - compiled to Rust let bindings
MAKEARRAYSupportedGenerate array from LAMBDA(row, col)
MAPSupportedApply LAMBDA to each element of array(s)
MESupportedSelf-reference keyword inside recursive LAMBDA - refers to the containing LAMBDA for recursion
REDUCESupportedReduce array to single value with accumulator LAMBDA
SCANSupportedLike REDUCE but returns intermediate values array
Complex26 shown · 26/26 supported
FunctionStatusDetails
COMPLEXSupportedCreates complex number string from real and imaginary parts
IMABSSupportedReturns absolute value (modulus) of complex number
IMAGINARYSupportedReturns imaginary coefficient of complex number
IMARGUMENTSupportedReturns argument (theta) of complex number in radians
IMCONJUGATESupportedReturns complex conjugate
IMCOSSupportedReturns cosine of complex number
IMCOSHSupportedReturns hyperbolic cosine of complex number
IMCOTSupportedReturns cotangent of complex number
IMCSCSupportedReturns cosecant of complex number
IMCSCHSupportedReturns hyperbolic cosecant of complex number
IMDIVSupportedReturns quotient of complex numbers
IMEXPSupportedReturns exponential of complex number using Euler's formula
IMLNSupportedReturns natural logarithm of complex number
IMLOG10SupportedReturns base-10 logarithm of complex number
IMLOG2SupportedReturns base-2 logarithm of complex number
IMPOWERSupportedReturns complex number raised to a power
IMPRODUCTSupportedReturns product of complex numbers
IMREALSupportedReturns real coefficient of complex number
IMSECSupportedReturns secant of complex number
IMSECHSupportedReturns hyperbolic secant of complex number
IMSINSupportedReturns sine of complex number
IMSINHSupportedReturns hyperbolic sine of complex number
IMSQRTSupportedReturns square root of complex number
IMSUBSupportedReturns difference of complex numbers
IMSUMSupportedReturns sum of complex numbers
IMTANSupportedReturns tangent of complex number
Matrix5 shown · 5/5 supported
FunctionStatusDetails
MDETERMSupportedMatrix determinant - returns scalar determinant of square matrix
MINVERSESupportedMatrix inverse - returns first element of inverse matrix for single-cell context
MMULTSupportedMatrix multiplication - returns first element of product matrix for single-cell context
MUNITSupportedIdentity matrix - returns 1.0 for first element (diagonal) in single-cell context
TRANSPOSESupportedMatrix transpose - returns first element of transposed matrix for single-cell context
Array1 shown · 1/1 supported
FunctionStatusDetails
SUMPRODUCTSupportedMultiply corresponding elements and sum the products - requires static ranges
Database10 shown · 10/10 supported
FunctionStatusDetails
DAVERAGESupportedAverage of database field values matching criteria - DAVERAGE(database, field, criteria)
DCOUNTSupportedCount numeric database field values matching criteria - DCOUNT(database, field, criteria)
DCOUNTASupportedCount non-empty database field values matching criteria - DCOUNTA(database, field, criteria)
DGETSupportedSingle value from database field matching criteria - DGET(database, field, criteria)
DMAXSupportedMaximum value from database field matching criteria - DMAX(database, field, criteria)
DMINSupportedMinimum value from database field matching criteria - DMIN(database, field, criteria)
DPRODUCTSupportedProduct of values from database field matching criteria - DPRODUCT(database, field, criteria)
DSTDEVSupportedSample standard deviation of database field values matching criteria - DSTDEV(database, field, criteria)
DSUMSupportedSum database field values matching criteria - DSUM(database, field, criteria)
DVARSupportedSample variance of database field values matching criteria - DVAR(database, field, criteria)
Cube7 shown · 7/7 supported
FunctionStatusDetails
CUBEKPIMEMBERSupportedOLAP cube KPI property - returns #N/A without live cube connection
CUBEMEMBERSupportedOLAP cube member or tuple - returns #N/A without live cube connection
CUBEMEMBERPROPERTYSupportedOLAP cube member property value - returns #N/A without live cube connection
CUBERANKEDMEMBERSupportedOLAP cube ranked member - returns #N/A without live cube connection
CUBESETSupportedOLAP cube calculated set - returns #N/A without live cube connection
CUBESETCOUNTSupportedOLAP cube set item count - returns #N/A without live cube connection
CUBEVALUESupportedOLAP cube aggregated value - returns #N/A without live cube connection
External1 shown · 1/1 supported
FunctionStatusDetails
RTDSupportedReal-Time Data - returns #N/A when COM server unavailable (always in compiled context)
XML1 shown · 1/1 supported
FunctionStatusDetails
FILTERXMLSupportedExtracts values from XML using XPath - Windows-only in Excel, returns #NAME? on non-Windows platforms
Information1 shown · 1/1 supported
FunctionStatusDetails
ISFORMULASupportedReturns TRUE if cell contains formula; when called via _XLUDF. prefix returns #NAME?
Internal2 shown · 2/2 supported
FunctionStatusDetails
ARRAYSupportedInternal array constant representation for {1,2,3} syntax
BYPASSSupportedInternal wrapper function - just passes through its argument
Uncategorized78 shown · 0/78 supported
FunctionStatusDetails
CALLBlockedCalls external DLL functions - not available in compiled context
CHISQ.INVNot Yet Supported
COPILOTBlockedRequires live connection to Microsoft Copilot AI service
DETECTLANGUAGEBlockedRequires external Microsoft Translation Services API
DSTDEVPNot Yet Supported
DVARPNot Yet Supported
EUROCONVERTNot Yet Supported
FIELDVALUENot Yet Supported
FORECASTBlockedLegacy forecast function requiring linear regression model fitting
FORECAST.LINEARBlockedRequires linear regression model fitting across dynamic ranges
GAMMANot Yet Supported
GAMMADISTNot Yet Supported
GAMMALN.PRECISENot Yet Supported
GROUPBYNot Yet Supported
IMAGEBlockedRequires fetching images from URLs at runtime
INFOBlockedReturns system/environment information that doesn't exist in compiled context
LINESTNot Yet Supported
LOGESTNot Yet Supported
LOGINVNot Yet Supported
LOGNORM.DISTNot Yet Supported
LOGNORM.INVNot Yet Supported
LOGNORMDISTNot Yet Supported
MODE.MULTNot Yet Supported
MODE.SNGLNot Yet Supported
MULTINOMIALNot Yet Supported
NEGBINOM.DISTNot Yet Supported
NEGBINOMDISTNot Yet Supported
NORM.DISTNot Yet Supported
NORM.S.INVNot Yet Supported
NORMDISTNot Yet Supported
NORMSINVNot Yet Supported
PDURATIONNot Yet Supported
PERCENTILE.EXCNot Yet Supported
PERCENTILE.INCNot Yet Supported
PERCENTOFNot Yet Supported
PERCENTRANK.EXCNot Yet Supported
PHINot Yet Supported
PHONETICNot Yet Supported
PIVOTBYBlockedRequires PivotTable-like grouping/aggregation infrastructure not available in compiled context
PRICEDISCNot Yet Supported
PYNot Yet Supported
QUARTILE.EXCNot Yet Supported
QUARTILE.INCNot Yet Supported
RANDARRAYBlockedNon-deterministic - produces random arrays that differ on each evaluation
RANK.AVGNot Yet Supported
RECEIVEDNot Yet Supported
REGEXEXTRACTNot Yet Supported
REGEXREPLACENot Yet Supported
REGEXTESTNot Yet Supported
REGISTER.IDBlockedReturns DLL function registration ID - not available in compiled context
RRINot Yet Supported
SERIESSUMNot Yet Supported
SHEETNot Yet Supported
SHEETSNot Yet Supported
SINGLEBlockedImplicit intersection operator internals - handled by IMPLICIT pseudo-function
SQL.REQUESTBlockedRequires live ODBC database connection
SQRTPINot Yet Supported
STOCKHISTORYBlockedRequires live connection to financial data service
T.DISTNot Yet Supported
T.DIST.2TNot Yet Supported
T.DIST.RTNot Yet Supported
T.INVNot Yet Supported
T.TESTNot Yet Supported
TABLEBlockedData table function for what-if analysis - requires Excel's recalculation engine
TDISTNot Yet Supported
TEXTAFTERNot Yet Supported
TEXTBEFORENot Yet Supported
TINVNot Yet Supported
TRANSLATEBlockedRequires external Microsoft Translation Services API
TRIMRANGENot Yet Supported
TTESTNot Yet Supported
UNICODENot Yet Supported
VALUETOTEXTNot Yet Supported
WEBSERVICEBlockedRequires live HTTP requests to external web services
WEIBULLNot Yet Supported
WEIBULL.DISTNot Yet Supported
Z.TESTNot Yet Supported
ZTESTNot Yet Supported

Why Some Functions Aren't Supported

Non-deterministic Functions

Functions that produce different results each time they're evaluated.

Compiled outputs must be deterministic and reproducible. Random functions would produce different results in the compiled binary vs Excel, making validation impossible. Note: RAND and RANDBETWEEN are supported using baseline values captured from the original spreadsheet.

RANDARRAY
External Data / API Functions

Functions that require live connections to external services, databases, or the internet.

Compiled binaries run offline without network access or external service connections. These functions fundamentally depend on real-time data retrieval that cannot be replicated in a static compiled context.

DETECTLANGUAGETRANSLATEWEBSERVICESTOCKHISTORYSQL.REQUESTIMAGECOPILOT
OLAP / Cube Functions

Functions that query external OLAP data sources (e.g., SQL Server Analysis Services).

These functions require a live connection to an OLAP cube, execute MDX queries, and return aggregated values that depend on the external database state. They always return #N/A in compiled context, and IFERROR/IFNA wrappers in formulas handle this correctly.

CUBEVALUECUBEMEMBERCUBESETCUBESETCOUNTCUBERANKEDMEMBERCUBEMEMBERPROPERTYCUBEKPIMEMBER
PivotTable Functions

Functions that query PivotTable data structures at runtime.

PivotTables are dynamic Excel constructs computed at runtime that can be filtered, expanded, and collapsed interactively. Statically compiling structure-based queries would require parsing PivotTable definitions and implementing the full aggregation engine. Note: GETPIVOTDATA is supported using baseline values.

PIVOTBY
Complex Statistical Models

Functions requiring iterative numerical solvers or complete statistical framework implementations.

These require implementing state-space models with iterative optimization of multiple parameters, seasonality detection, and confidence interval calculations. The AAA (Additive Error, Additive Trend, Additive Seasonality) Exponential Smoothing model used by FORECAST.ETS is impractical to replicate correctly.

FORECAST.ETSFORECAST.ETS.CONFINTFORECAST.LINEARFORECAST
System / Meta Functions

Functions that query Excel's runtime environment or operating system.

These return information about the running Excel instance, installed add-ins, DLL registrations, or system configuration — none of which exist in a compiled context.

INFOCALLREGISTER.IDTABLESINGLE

Feature Support

Spreadsheet Features & Capabilities22 features
FeatureStatusNotes
Cell references (A1, $A$1)SupportedAbsolute and relative references fully compiled
Cross-sheet references (Sheet1!A1)SupportedReferences across sheets resolved at compile time
3D references (Sheet1:Sheet3!A1)SupportedMulti-sheet range references compiled to native code
Named rangesSupportedResolved at compile time to their target ranges
LAMBDA functionsSupportedUser-defined LAMBDAs compiled to native closures
Named LAMBDA functionsSupportedNamed LAMBDAs from Name Manager compiled as first-class native functions
Dynamic arrays (spill ranges)SupportedSORT, FILTER, UNIQUE and other spill functions supported
Implicit intersection (@)SupportedThe @ operator is handled during compilation
LET bindingsSupportedLET expressions compiled to native variable bindings
Array constants ({1,2,3})SupportedInline array literals compiled to native array constants
Structured table referencesSupportedTable[Column] syntax resolved at compile time
R1C1 reference styleSupportedConverted to A1 style during parsing
Circular referencesNot SupportedRequires iterative solver; cells in cycles are not compiled
Convergence detectionNot SupportedRelated to circular references — Excel's iterative calculation engine is not replicated
Volatile functions (NOW, TODAY)PartialSupported using a reference timestamp from the original spreadsheet for deterministic output
INDIRECT with dynamic stringsPartialSupported when the target can be resolved at compile time; dynamic runtime lookup for others
OFFSET with dynamic argsPartialSupported when arguments are constants; rejected when arguments are computed at runtime
Conditional formattingN/AVisual-only feature — no computational output to compile
Data validationN/AInput constraint feature — not part of formula evaluation
Charts and graphsN/AVisual elements — not part of formula computation
Macros (VBA)Not SupportedVBA macros are a separate runtime; not compiled
External workbook linksNot SupportedReferences to other .xlsx files are not resolved; values from last-saved state may be used