Formulas for real tasks
Find a checked example, see its arguments, then change the source data.
647 checked formula examples
Total the five amounts →
=SUM(A2:A6)Calculate the mean amount →
=AVERAGE(A2:A6)Find the smallest recorded amount →
=MIN(A2:A6)Find the largest recorded amount →
=MAX(A2:A6)See how a zero affects multiplication →
=PRODUCT(A2:A6)Add squared amounts →
=SUMSQ(A2:A6)Read the size of a refund without its sign →
=ABS(A4)Round a shared amount to two decimals →
=ROUND(A3/3,2)Round a positive share away from zero →
=ROUNDUP(A3/3,2)Round a share toward zero →
=ROUNDDOWN(A3/3,2)Round a negative fraction down →
=INT(A4/2)Remove a fractional part toward zero →
=TRUNC(A4/2)Find the remainder after groups of four →
=MOD(A3,4)Count complete groups of four →
=QUOTIENT(A3,4)Square an amount →
=POWER(A2,2)Find a square root →
=SQRT(A3)Identify a negative amount →
=SIGN(A4)Round an amount up to a multiple of ten →
=CEILING(A3,10)Round an amount down to a multiple of ten →
=FLOOR(A3,10)Round to the nearest multiple at a tie →
=MROUND(A3,10)Round a positive amount to an even integer →
=EVEN(A3)Round a positive amount to an odd integer →
=ODD(A2)Calculate an exponential at zero →
=EXP(0)Undo an exponential with a natural logarithm →
=LN(EXP(1))Read the exponent in base ten →
=LOG(1000,10)Use the base-ten logarithm →
=LOG10(1000)Return pi as a number →
=PI()Convert a half-turn from radians →
=DEGREES(PI())Convert a half-turn to radians →
=RADIANS(180)Calculate sine of a quarter-turn →
=SIN(PI()/2)Calculate cosine at zero →
=COS(0)Calculate tangent at zero →
=TAN(0)Find a shared whole-number divisor →
=GCD(12,18)Find a common whole-number multiple →
=LCM(12,18)Count ordered arrangements of six items →
=FACT(6)Count unordered pairs from five items →
=COMBIN(5,2)Count ordered pairs from five items →
=PERMUT(5,2)Write a decimal number in binary →
=BASE(25,2)Read a binary number as decimal →
=DECIMAL("11001",2)Write twelve in Roman numerals →
=ROMAN(12)Convert a Roman numeral into a number →
=ARABIC("XII")Count numeric entries including zero →
=COUNT(A2:A6)Count nonempty labels →
=COUNTA(B2:B6)Count missing labels →
=COUNTBLANK(B2:B6)Find the middle recorded amount →
=MEDIAN(A2:A6)Find a repeated numeric value →
=MODE.SNGL(2,2,5)Find the second-largest amount →
=LARGE(A2:A6,2)Find the second-smallest amount →
=SMALL(A2:A6,2)Rank an amount from largest to smallest →
=RANK.EQ(A5,A2:A6,0)Calculate sample variance →
=VAR.S(A2:A6)Calculate population variance →
=VAR.P(A2:A6)Calculate sample standard deviation →
=STDEV.S(A2:A6)Calculate population standard deviation →
=STDEV.P(A2:A6)Count records in one region →
=COUNTIF(C2:C6,"East")Total amounts from one region →
=SUMIF(C2:C6,"East",A2:A6)Average amounts from one region →
=AVERAGEIF(C2:C6,"East",A2:A6)Count paid records in one region →
=COUNTIFS(C2:C6,"East",E2:E6,"Paid")Total paid amounts from one region →
=SUMIFS(A2:A6,C2:C6,"East",E2:E6,"Paid")Average paid amounts from one region →
=AVERAGEIFS(A2:A6,C2:C6,"East",E2:E6,"Paid")Choose a review label from a numeric test →
=IF(A2>10,"Review","OK")Classify a refund before the fallback →
=IFS(A4<0,"Refund",TRUE,"Sale")Replace a division error with a useful label →
=IFERROR(A2/0,"Check denominator")Handle a missing lookup separately →
=IFNA(XLOOKUP("Missing",B2:B6,A2:A6),"Not found")Translate a region into a short code →
=SWITCH(C2,"East","E","Other")Require both a positive amount and a region →
=AND(A2>0,C2="East")Allow either one of two tests →
=OR(A2<0,C2="East")Reverse a logical result →
=NOT(A2>0)Require exactly one of two tests →
=XOR(A2>0,A4>0)Return a logical true value →
=TRUE()Return a logical false value →
=FALSE()Extract the first three characters →
=LEFT(B2,3)Extract the last three characters →
=RIGHT(B2,3)Extract three characters from position two →
=MID(B2,2,3)Count the characters in a label →
=LEN(B2)Normalize a label to lowercase →
=LOWER(B2)Normalize a label to uppercase →
=UPPER(B2)Capitalize the words in a label →
=PROPER("north harbor")Remove extra ordinary spaces →
=TRIM(" North Harbor ")Remove a line-break control character →
=CLEAN("A"&CHAR(10)&"B")Replace a matching text fragment →
=SUBSTITUTE(B2,"Har","Ar")Replace text at a known position →
=REPLACE(B2,1,3,"Ar")Find a case-sensitive text position →
=FIND("bor",B2)Find text without matching letter case →
=SEARCH("BOR",B2)Join a label and a region →
=CONCAT(B2,"-",C2)Join labels while skipping empty cells →
=TEXTJOIN(", ",TRUE,B2:B6)Compare two complete labels →
=EXACT(B2,B4)Repeat a character three times →
=REPT("=",3)Convert a character code to a letter →
=CHAR(65)Read the code of a letter →
=CODE("A")Return a Unicode character →
=UNICHAR(9733)Read the code point of a Unicode character →
=UNICODE("★")Create text with two decimal places →
=TEXT(A3,"0.00")Parse a number using explicit separators →
=NUMBERVALUE("1,250.50",".",",")Convert a numeric text literal →
=VALUE("12.5")Extract the part before a delimiter →
=TEXTBEFORE("ID-482","-")Extract the part after a delimiter →
=TEXTAFTER("ID-482","-")Return the amount for an exact label →
=XLOOKUP("Cedar",B2:B6,A2:A6,"Not found")Look up a region in a two-column table →
=VLOOKUP("Cedar",B2:C5,2,FALSE)Look up a value under a table header →
=HLOOKUP("Amount",A1:E6,2,FALSE)Read a table value by row and column →
=INDEX(A2:C6,2,3)Find the position of an exact label →
=MATCH("Cedar",B2:B6,0)Find an exact label position with XMATCH →
=XMATCH("Cedar",B2:B6)Select the second value from a list →
=CHOOSE(2,B2,B3,B4)Build an absolute cell address →
=ADDRESS(2,1)Read a reference row number →
=ROW(A2)Read a reference column number →
=COLUMN(C2)Count rows in a range →
=ROWS(A2:A6)Count columns in a range →
=COLUMNS(A1:E1)Build a date from numeric components →
=DATE(2026,10,1)Extract the year from a stored date →
=YEAR(D2)Extract the month from a stored date →
=MONTH(D2)Extract the day from a stored date →
=DAY(D2)Measure the days between two dates →
=DAYS(D3,D2)Move a date forward by one month →
=EDATE(D2,1)Find the last day of the same month →
=EOMONTH(D2,0)Read a weekday with Monday as one →
=WEEKDAY(D2,2)Extract the hour from a time →
=HOUR(TIME(13,45,30))Extract the minute from a time →
=MINUTE(TIME(13,45,30))Extract the second from a time →
=SECOND(TIME(13,45,30))Express noon as a fraction of a day →
=TIME(12,0,0)Count weekdays including both endpoints →
=NETWORKDAYS(D2,D3)Move five weekdays after a starting date →
=WORKDAY(D2,5)Count complete years between dates →
=DATEDIF(D2,DATE(2027,10,1),"y")Measure a one-year actual-day fraction →
=YEARFRAC(DATE(2026,1,1),DATE(2027,1,1),3)Calculate a fixed monthly loan payment →
=PMT(0.01,12,1200)Compound an initial deposit for two periods →
=FV(0.05,2,0,-1000)Discount a future amount to present value →
=PV(0.05,2,0,-1102.5)Subtract an initial cost from discounted cash flows →
=NPV(0.1,110,121)-200Find a constant rate from two values →
=RATE(2,0,-1000,1210)Find the number of compound-growth periods →
=NPER(0.1,0,-1000,1210)Calculate straight-line depreciation →
=SLN(1000,100,3)Calculate first-period sum-of-years depreciation →
=SYD(1000,100,3,1)Find a constant equivalent growth rate →
=RRI(2,1000,1210)Convert a nominal rate into an annual effective rate →
=EFFECT(0.12,12)Read a binary representation →
=BIN2DEC("11001")Create a binary representation →
=DEC2BIN(25)Read a hexadecimal representation →
=HEX2DEC("FF")Create a hexadecimal representation →
=DEC2HEX(255)Convert a distance from kilometres to metres →
=CONVERT(1,"km","m")Keep bits present in both numbers →
=BITAND(12,10)Keep bits present in either number →
=BITOR(12,10)Keep bits present in only one number →
=BITXOR(12,10)Shift numeric bits left →
=BITLSHIFT(3,2)Shift numeric bits right →
=BITRSHIFT(12,2)Build a complex number →
=COMPLEX(3,4)Read the magnitude of a complex number →
=IMABS("3+4i")Compare equal numeric values →
=DELTA(12,12)Test whether a value meets a threshold →
=GESTEP(12,10)Test whether an amount is numeric →
=ISNUMBER(A2)Test whether a label is text →
=ISTEXT(B2)Test a genuinely empty cell →
=ISBLANK(B6)Identify a calculation error →
=ISERROR(A2/0)Identify a missing-value error →
=ISNA(NA())Test an even whole number →
=ISEVEN(A2)Test an odd whole number →
=ISODD(A3)Convert a logical value into a number →
=N(TRUE())Return empty text for a numeric value →
=T(A2)Identify a numeric data type →
=TYPE(A2)Split a delimited label across columns →
=TEXTSPLIT("North|Harbor","|")Sort amounts from smallest to largest →
=SORT(A2:A6)Sort amounts using a descending sort key →
=SORTBY(A2:A6,A2:A6,-1)Return only the amounts from one region →
=FILTER(A2:A6,C2:C6="East")List distinct labels once →
=UNIQUE(B2:B5)Build a sequence across rows and columns →
=SEQUENCE(3,2,10,5)Return the first two amounts →
=TAKE(A2:A6,2)Exclude the first three amounts →
=DROP(A2:A6,3)Read a table as one column →
=TOCOL(A2:B3)Read a column as one row →
=TOROW(A2:A3)Place two columns alongside each other →
=HSTACK(A2:A3,B2:B3)Place two ranges below each other →
=VSTACK(A2:A3,A4:A5)Return selected columns from a table →
=CHOOSECOLS(A2:C3,1,3)Return selected rows from a table →
=CHOOSEROWS(A2:B6,1,3)Turn a column into a row →
=TRANSPOSE(A2:A4)Smallest East amount →
=MINIFS(A2:A6,C2:C6,"East")Largest East amount →
=MAXIFS(A2:A6,C2:C6,"East")Subtotal an unhidden numeric source →
=SUBTOTAL(109,A2:A6)Sum squared amounts →
=SUMPRODUCT(A2:A6,A2:A6)Read a reference stored as text →
=INDIRECT("A2")Move down one row from A2 →
=OFFSET(A2,1,0)Round a negative value toward zero →
=CEILING.MATH(-4.3,2)Round a negative value to the lower multiple →
=FLOOR.MATH(-4.3,2)Round 4.3 up to a multiple of two →
=CEILING.PRECISE(4.3,2)Round 4.3 down to a multiple of two →
=FLOOR.PRECISE(4.3,2)Mean of the numeric source →
=AVERAGEA(A2:A6)Mean absolute deviation →
=AVEDEV(A2:A6)Sum squared deviations →
=DEVSQ(A2:A6)Geometric mean of positive values →
=GEOMEAN({1,4,16})Harmonic mean of positive values →
=HARMEAN({1,2,4})Correlation of an exact relationship →
=CORREL({1;2;3},{2;4;6})Pearson coefficient for exact pairs →
=PEARSON({1;2;3},{2;4;6})Population covariance →
=COVARIANCE.P({1;2;3},{2;4;6})Sample covariance →
=COVARIANCE.S({1;2;3},{2;4;6})Slope of a simple fitted line →
=SLOPE({3;5;7},{1;2;3})Intercept of a simple fitted line →
=INTERCEPT({3;5;7},{1;2;3})Extend a constructed straight line →
=FORECAST.LINEAR(4,{3;5;7},{1;2;3})R squared for an exact line →
=RSQ({3;5;7},{1;2;3})Standard-deviation units →
=STANDARDIZE(14,10,2)Average tied ranks →
=RANK.AVG(5,{5;5;3},0)Inclusive first quartile →
=PERCENTILE.INC({10;20;30;40},0.25)Exclusive median →
=PERCENTILE.EXC({10;20;30;40},0.5)Inclusive quartile number one →
=QUARTILE.INC({10;20;30;40},1)Exclusive quartile number two →
=QUARTILE.EXC({10;20;30;40},2)Bin counts with overflow →
=FREQUENCY({1;2;4;5},{2;4})Two-by-two determinant →
=MDETERM({1,2;3,4})Inverse of a diagonal matrix →
=MINVERSE({1,0;0,2})Matrix times a column vector →
=MMULT({1,2;3,4},{1;2})Two-by-two identity matrix →
=MUNIT(2)Two choices with repetition →
=COMBINA(3,2)Arrange two identical items and one other →
=MULTINOMIAL(2,1)Odd factors down from seven →
=FACTDOUBLE(7)Differences of paired squares →
=SUMX2MY2({1;2},{2;3})Sum paired squares →
=SUMX2PY2({1;2},{2;3})Squared paired differences →
=SUMXMY2({1;2},{2;3})Wrap a vector across rows →
=WRAPROWS({1,2,3,4},2)Wrap a vector down columns →
=WRAPCOLS({1,2,3,4},2)Combine records from unequal groups →
=AVERAGE(B2:B4)Total a source longer than twenty worksheet rows →
=SUM(A2:A26)Evaluate ACOS with a stated domain →
=ACOS(A2)Evaluate ACOSH with a stated domain →
=ACOSH(A2)Evaluate ACOT with a stated domain →
=ACOT(A2)Evaluate ACOTH with a stated domain →
=ACOTH(A2)Evaluate ASIN with a stated domain →
=ASIN(A2)Evaluate ASINH with a stated domain →
=ASINH(A2)Evaluate ATAN with a stated domain →
=ATAN(A2)Evaluate ATANH with a stated domain →
=ATANH(A2)Evaluate COSH with a stated domain →
=COSH(A2)Evaluate SINH with a stated domain →
=SINH(A2)Evaluate TANH with a stated domain →
=TANH(A2)Evaluate COT with a stated domain →
=COT(A2)Evaluate COTH with a stated domain →
=COTH(A2)Evaluate CSC with a stated domain →
=CSC(A2)Evaluate CSCH with a stated domain →
=CSCH(A2)Evaluate SEC with a stated domain →
=SEC(A2)Evaluate SECH with a stated domain →
=SECH(A2)Evaluate SQRTPI with a stated domain →
=SQRTPI(A2)Find the angle of a point in the first quadrant →
=ATAN2(A2,B2)Round a negative value toward positive infinity →
=ISO.CEILING(A2,B2)Evaluate coefficients at spaced powers →
=SERIESSUM(B2,C2,D2,A2:A4)Apply DSUM to paid East records →
=DSUM(A1:C6,"Amount",D1:E2)Apply DAVERAGE to paid East records →
=DAVERAGE(A1:C6,"Amount",D1:E2)Apply DCOUNT to paid East records →
=DCOUNT(A1:C6,"Amount",D1:E2)Apply DCOUNTA to paid East records →
=DCOUNTA(A1:C6,"Region",D1:E2)Apply DMAX to paid East records →
=DMAX(A1:C6,"Amount",D1:E2)Apply DMIN to paid East records →
=DMIN(A1:C6,"Amount",D1:E2)Apply DPRODUCT to paid East records →
=DPRODUCT(A1:C6,"Amount",D1:E2)Apply DVAR to paid East records →
=DVAR(A1:C6,"Amount",D1:E2)Apply DVARP to paid East records →
=DVARP(A1:C6,"Amount",D1:E2)Apply DSTDEV to paid East records →
=DSTDEV(A1:C6,"Amount",D1:E2)Apply DSTDEVP to paid East records →
=DSTDEVP(A1:C6,"Amount",D1:E2)Retrieve a field from exactly one matching record →
=DGET(A1:C6,"Amount",D1:E2)Use separate criteria rows for an OR condition →
=DSUM(A1:C6,"Amount",D1:E3)Convert an English month-name date into a serial →
=DATEVALUE(A2)Convert an evening time into a fraction of a day →
=TIMEVALUE(A2)Measure a half-year on a 30/360 calendar →
=DAYS360(A2,B2,FALSE)Identify the ISO week at a year boundary →
=ISOWEEKNUM(A2)Use Monday-start week numbers with January 1 in week 1 →
=WEEKNUM(A2,2)Count workdays while excluding a named holiday →
=NETWORKDAYS.INTL(A2,B2,"0000011",C2)Find the next workday after a holiday weekend →
=WORKDAY.INTL(A2,1,"0000011",C2)Separate interest from the second equal payment →
=IPMT(A2,D2,B2,C2)Separate principal from the second equal payment →
=PPMT(A2,D2,B2,C2)Total interest across the complete loan term →
=CUMIPMT(A2,B2,C2,1,3,0)Confirm principal repaid over the whole loan →
=CUMPRINC(A2,B2,C2,1,3,0)Calculate interest with equal principal repayments →
=ISPMT(A2,B2,C2,D2)Depreciate the second year at double declining balance →
=DDB(A2,B2,C2,D2)Use a rounded fixed declining-balance rate →
=DB(A2,B2,C2,D2)Combine two declining-balance periods →
=VDB(A2,B2,C2,0,2)Read a price quoted in thirty-seconds →
=DOLLARDE(A2,B2)Write a decimal price as thirty-seconds →
=DOLLARFR(A2,B2)Compound three different period rates →
=FVSCHEDULE(B2,A2:A4)Convert an effective annual rate to a nominal rate →
=NOMINAL(A2,B2)Count periods needed for compound growth →
=PDURATION(A2,B2,C2)Solve a periodic cash-flow break-even rate →
=IRR(A2:A4)Use separate financing and reinvestment rates →
=MIRR(A2:A5,B2,C2)Annualise two dated cash flows →
=XIRR(A2:A3,B2:B3)Discount a dated receipt two years later →
=XNPV(C2,A2:A3,B2:B3)Price a discounted security on actual/365 →
=PRICEDISC(A2,B2,E2,D2,3)Express a discount relative to redemption value →
=DISC(A2,B2,C2,D2,3)Express a discounted-security yield relative to price →
=YIELDDISC(A2,B2,C2,D2,3)Annualise a gain on a fully invested security →
=INTRATE(A2,B2,C2,D2,3)Recover redemption from an investment and discount rate →
=RECEIVED(A2,B2,C2,E2,3)Price a 90-day bill from its discount rate →
=TBILLPRICE(A2,B2,C2)Annualise a bill gain relative to purchase price →
=TBILLYIELD(A2,B2,D2)Convert a short bill discount to a bond-equivalent yield →
=TBILLEQ(A2,B2,C2)Accrue simple interest payable at maturity →
=ACCRINTM(A2,B2,C2,D2,3)Find a beta-distribution cumulative probability →
=BETA.DIST(A2,B2,C2,TRUE)Recover a beta cutoff from a probability →
=BETA.INV(A2,B2,C2)Find the chance of exactly two successes →
=BINOM.DIST(A2,B2,C2,FALSE)Combine one-success and two-success events →
=BINOM.DIST.RANGE(A2,B2,C2,D2)Find the first success count meeting a threshold →
=BINOM.INV(A2,B2,C2)Count failures before the third success →
=NEGBINOM.DIST(A2,B2,C2,FALSE)Find the chance of two events in an interval →
=POISSON.DIST(A2,B2,FALSE)Find a waiting-time cumulative probability →
=EXPON.DIST(A2,B2,TRUE)Combine a Weibull shape and scale →
=WEIBULL.DIST(A2,B2,C2,TRUE)Relate the gamma function to a factorial →
=GAMMA(A2)Keep a factorial-like value on the log scale →
=GAMMALN(A2)Evaluate log gamma at a positive integer →
=GAMMALN.PRECISE(A2)Calculate a gamma density with shape and scale →
=GAMMA.DIST(A2,B2,C2,FALSE)Recover an exponential-case gamma cutoff →
=GAMMA.INV(A2,B2,C2)Find a chi-square left-tail area →
=CHISQ.DIST(A2,B2,TRUE)Find the complementary chi-square right tail →
=CHISQ.DIST.RT(A2,B2)Recover a chi-square cutoff from a left-tail area →
=CHISQ.INV(A2,B2)Recover a chi-square cutoff from a right-tail area →
=CHISQ.INV.RT(A2,B2)Use the Cauchy identity for a t-distribution CDF →
=T.DIST(A2,B2,TRUE)Calculate a one-sided t tail →
=T.DIST.RT(A2,B2)Combine the two symmetric t tails →
=T.DIST.2T(A2,B2)Find a t cutoff from cumulative probability →
=T.INV(A2,B2)Find a positive cutoff for combined t tails →
=T.INV.2T(A2,B2)Find an F-distribution left-tail probability →
=F.DIST(A2,B2,C2,TRUE)Find the complementary F right tail →
=F.DIST.RT(A2,B2,C2)Recover an F cutoff from a left-tail area →
=F.INV(A2,B2,C2)Recover an F cutoff from a right-tail area →
=F.INV.RT(A2,B2,C2)Find normal density one deviation above the mean →
=NORM.DIST(A2,B2,C2,FALSE)Convert normal probability back into measurement units →
=NORM.INV(A2,B2,C2)Find cumulative area below a z score of one →
=NORM.S.DIST(A2,TRUE)Find the standard-normal 97.5th percentile →
=NORM.S.INV(A2)Calculate the standard-normal density at one →
=PHI(A2)Measure normal area between the mean and a cutoff →
=GAUSS(A2)Evaluate a lognormal probability through the log scale →
=LOGNORM.DIST(A2,B2,C2,TRUE)Convert a lognormal probability into a positive value →
=LOGNORM.INV(A2,B2,C2)Transform a correlation onto the Fisher scale →
=FISHER(A2)Recover a correlation from the Fisher scale →
=FISHERINV(A2)Sample two successes without replacement →
=HYPGEOM.DIST(A2,B2,C2,D2,FALSE)Calculate a normal confidence margin for a mean →
=CONFIDENCE.NORM(A2,B2,C2)Calculate a t confidence margin with stated degrees →
=CONFIDENCE.T(A2,B2,C2)Count ordered four-position codes with repetition →
=PERMUTATIONA(A2,B2)Include logical and text values with MAXA →
=MAXA(A2:A5)Include logical and text values with MINA →
=MINA(A2:A5)Include logical and text values with VARA →
=VARA(A2:A5)Include logical and text values with VARPA →
=VARPA(A2:A5)Include logical and text values with STDEVA →
=STDEVA(A2:A5)Include logical and text values with STDEVPA →
=STDEVPA(A2:A5)Return both slope and intercept →
=LINEST(B2:B5,A2:A5)Return an exponential multiplier and scale →
=LOGEST(C2:C5,A2:A5)Extend an exact exponential pattern →
=GROWTH(C2:C5,A2:A5,5)Extend an exact straight-line pattern →
=TREND(B2:B5,A2:A5,5)Read a legacy straight-line forecast formula →
=FORECAST(5,B2:B5,A2:A5)Return every equally frequent mode →
=MODE.MULT(A2:A6)Trim equally from both ends before averaging →
=TRIMMEAN(A2:A5,0.5)Find the percentile rank of a recorded value →
=PERCENTRANK.INC(A2:A5,20,6)Find the percentile rank of a recorded value →
=PERCENTRANK.EXC(A2:A5,20,6)Add probabilities over an inclusive value range →
=PROB(A2:A4,B2:B4,2,3)Measure residual error around a fitted line →
=STEYX(B2:B4,A2:A4)Measure distribution shape with SKEW.P →
=SKEW.P(A2:A5)Measure distribution shape with SKEW →
=SKEW(A2:A5)Measure distribution shape with KURT →
=KURT(A2:A5)Convert a base representation with BIN2HEX →
=BIN2HEX(A2,B2)Convert a base representation with BIN2OCT →
=BIN2OCT(A2,B2)Convert a base representation with DEC2OCT →
=DEC2OCT(A2,B2)Convert a base representation with HEX2BIN →
=HEX2BIN(A2,B2)Convert a base representation with HEX2OCT →
=HEX2OCT(A2,B2)Convert a base representation with OCT2BIN →
=OCT2BIN(A2,B2)Convert a base representation with OCT2HEX →
=OCT2HEX(A2,B2)Interpret octal digits as an ordinary number →
=OCT2DEC(A2)Work with complex components using IMREAL →
=IMREAL(A2)Work with complex components using IMAGINARY →
=IMAGINARY(A2)Work with complex components using IMARGUMENT →
=IMARGUMENT(A2)Work with complex components using IMCONJUGATE →
=IMCONJUGATE(A2)Work with complex components using IMSUM →
=IMSUM(A2,B2)Work with complex components using IMSUB →
=IMSUB(A2,B2)Work with complex components using IMPRODUCT →
=IMPRODUCT(A2,B2)Work with complex components using IMDIV →
=IMDIV(A2,B2)Work with complex components using IMPOWER →
=IMPOWER(A2,2)Work with complex components using IMSQRT →
=IMSQRT(A2)Inspect values and errors with ERROR.TYPE →
=ERROR.TYPE(1/0)Inspect values and errors with ISERR →
=ISERR(1/A2)Inspect values and errors with ISLOGICAL →
=ISLOGICAL(A2)Inspect values and errors with ISNONTEXT →
=ISNONTEXT(A2)Inspect values and errors with ISREF →
=ISREF(A2)Inspect values and errors with NA →
=IFNA(NA(),"Not supplied")Read a legacy text-joining formula →
=CONCATENATE(A2," / ",B2)Create fixed-decimal display text →
=FIXED(A2,2,TRUE)Use a sorted threshold table →
=LOOKUP(D2,A2:A5,B2:B5)Give a price calculation readable local names →
=LET(unitPrice,A2,quantity,B2,unitPrice*quantity)Call a local LAMBDA by its assigned name →
=LET(scale,3,times,LAMBDA(value,value*scale),times(A2))Define and immediately call a reusable calculation →
=LAMBDA(price,quantity,price*quantity)(A2,B2)Sum each row with the same LAMBDA body →
=BYROW(A2:B4,LAMBDA(row,SUM(row)))Sum each column with the same LAMBDA body →
=BYCOL(A2:B4,LAMBDA(column,SUM(column)))Multiply corresponding price and quantity entries →
=MAP(A2:A4,B2:B4,LAMBDA(price,quantity,price*quantity))Apply a sequence of changes to an opening balance →
=REDUCE(B2,A2:A4,LAMBDA(balance,change,balance+change))Show every intermediate running balance →
=SCAN(B2,A2:A4,LAMBDA(balance,change,balance+change))Build a grid from one-based row and column positions →
=MAKEARRAY(A2,B2,LAMBDA(row,column,row*10+column))Pad a two-by-two array with actual zeroes →
=EXPAND(A2:B3,3,3,0)Group repeated regions without adding a grand total →
=GROUPBY(A2:A6,B2:B6,SUM,0,0)Check the whole shape of a reference code →
=REGEXTEST(A2,"^INV-[0-9]{4}$")Extract a reference from a longer status message →
=REGEXEXTRACT(A2,"[A-Z]{2}-[0-9]{4}")Collapse repeated ordinary spaces →
=REGEXREPLACE(A2,"[ ]+"," ")Write a numeric array in strict text form →
=ARRAYTOTEXT(A2:B3,1)Preserve quotation marks in strict text output →
=VALUETOTEXT(A2,1)Format an amount as currency text →
=DOLLAR(A2,2)Inspect the formula behind a calculated amount →
=FORMULATEXT(C2)Handle a value that has no underlying formula →
=IFERROR(FORMULATEXT(C2),"Constant value")Distinguish a calculated amount from a constant →
=ISFORMULA(C2)Recognise an amount entered as a constant →
=ISFORMULA(C2)Read the value produced by a referenced formula →
=CELL("contents",C2)Find the worksheet number for a cell reference →
=SHEET(A2)Count worksheets represented by a reference →
=SHEETS(A2:A3)Count two separate reference areas →
=AREAS((A2:A3,C2:C3))Create a labelled reference link →
=HYPERLINK(A2,B2)Encode spaces and an ampersand in a URL component →
=ENCODEURL(A2)Evaluate ERF at a nonzero input →
=ERF(A2)Evaluate ERF.PRECISE at a nonzero input →
=ERF.PRECISE(A2)Evaluate ERFC at a nonzero input →
=ERFC(A2)Evaluate ERFC.PRECISE at a nonzero input →
=ERFC.PRECISE(A2)Compare a two-way observed table with expected counts →
=CHISQ.TEST(A2:B3,D2:E3)Compare samples with the same observed variance →
=F.TEST(A2:A5,B2:B5)Compare equal sample means with nonzero variation →
=T.TEST(A2:A5,B2:B5,2,2)Evaluate a one-sided test at the null mean →
=Z.TEST(A2:A4,B2,C2)Read the legacy BETADIST function name →
=BETADIST(A2,B2,C2)Read the legacy BETAINV function name →
=BETAINV(A2,B2,C2)Read the legacy BINOMDIST function name →
=BINOMDIST(A2,B2,C2,FALSE)Read the legacy CHIDIST function name →
=CHIDIST(A2,B2)Read the legacy CHIINV function name →
=CHIINV(A2,B2)Read the legacy CHITEST function name →
=CHITEST(A2:B3,D2:E3)Read the legacy CONFIDENCE function name →
=CONFIDENCE(A2,B2,C2)Read the legacy COVAR function name →
=COVAR({1;2;3},{2;4;6})Read the legacy CRITBINOM function name →
=CRITBINOM(A2,B2,C2)Read the legacy EXPONDIST function name →
=EXPONDIST(A2,B2,TRUE)Read the legacy FDIST function name →
=FDIST(A2,B2,C2)Read the legacy FINV function name →
=FINV(A2,B2,C2)Read the legacy FTEST function name →
=FTEST(A2:A5,B2:B5)Read the legacy GAMMADIST function name →
=GAMMADIST(A2,B2,C2,FALSE)Read the legacy GAMMAINV function name →
=GAMMAINV(A2,B2,C2)Read the legacy HYPGEOMDIST function name →
=HYPGEOMDIST(A2,B2,C2,D2)Read the legacy LOGINV function name →
=LOGINV(A2,B2,C2)Read the legacy LOGNORMDIST function name →
=LOGNORMDIST(A2,B2,C2)Read the legacy MODE function name →
=MODE(2,2,5)Read the legacy NEGBINOMDIST function name →
=NEGBINOMDIST(A2,B2,C2)Read the legacy NORMDIST function name →
=NORMDIST(A2,B2,C2,FALSE)Read the legacy NORMINV function name →
=NORMINV(A2,B2,C2)Read the legacy NORMSDIST function name →
=NORMSDIST(A2)Read the legacy NORMSINV function name →
=NORMSINV(A2)Read the legacy PERCENTILE function name →
=PERCENTILE({10;20;30;40},0.25)Read the legacy PERCENTRANK function name →
=PERCENTRANK(A2:A5,20,6)Read the legacy POISSON function name →
=POISSON(A2,B2,FALSE)Read the legacy QUARTILE function name →
=QUARTILE({10;20;30;40},1)Read the legacy RANK function name →
=RANK(A5,A2:A6,0)Read the legacy STDEV function name →
=STDEV(A2:A6)Read the legacy STDEVP function name →
=STDEVP(A2:A6)Read the legacy TDIST function name →
=TDIST(A2,B2,1)Read the legacy TINV function name →
=TINV(A2,B2)Read the legacy TTEST function name →
=TTEST(A2:A5,B2:B5,2,2)Read the legacy VAR function name →
=VAR(A2:A6)Read the legacy VARP function name →
=VARP(A2:A6)Read the legacy WEIBULL function name →
=WEIBULL(A2,B2,C2,TRUE)Read the legacy ZTEST function name →
=ZTEST(A2:A4,B2,C2)Read both coefficients of IMCOS for a complex input →
=HSTACK(IMREAL(IMCOS(A2)),IMAGINARY(IMCOS(A2)))Read both coefficients of IMSIN for a complex input →
=HSTACK(IMREAL(IMSIN(A2)),IMAGINARY(IMSIN(A2)))Read both coefficients of IMTAN for a complex input →
=HSTACK(IMREAL(IMTAN(A2)),IMAGINARY(IMTAN(A2)))Read both coefficients of IMCOT for a complex input →
=HSTACK(IMREAL(IMCOT(A2)),IMAGINARY(IMCOT(A2)))Read both coefficients of IMSEC for a complex input →
=HSTACK(IMREAL(IMSEC(A2)),IMAGINARY(IMSEC(A2)))Read both coefficients of IMCSC for a complex input →
=HSTACK(IMREAL(IMCSC(A2)),IMAGINARY(IMCSC(A2)))Read both coefficients of IMCOSH for a complex input →
=HSTACK(IMREAL(IMCOSH(A2)),IMAGINARY(IMCOSH(A2)))Read both coefficients of IMSINH for a complex input →
=HSTACK(IMREAL(IMSINH(A2)),IMAGINARY(IMSINH(A2)))Read both coefficients of IMSECH for a complex input →
=HSTACK(IMREAL(IMSECH(A2)),IMAGINARY(IMSECH(A2)))Read both coefficients of IMCSCH for a complex input →
=HSTACK(IMREAL(IMCSCH(A2)),IMAGINARY(IMCSCH(A2)))Read both coefficients of IMEXP for a complex input →
=HSTACK(IMREAL(IMEXP(A2)),IMAGINARY(IMEXP(A2)))Read both coefficients of IMLN for a complex input →
=HSTACK(IMREAL(IMLN(A2)),IMAGINARY(IMLN(A2)))Read both coefficients of IMLOG10 for a complex input →
=HSTACK(IMREAL(IMLOG10(A2)),IMAGINARY(IMLOG10(A2)))Read both coefficients of IMLOG2 for a complex input →
=HSTACK(IMREAL(IMLOG2(A2)),IMAGINARY(IMLOG2(A2)))Evaluate an order-zero Bessel model coefficient →
=BESSELJ(A2,B2)Evaluate an order-zero Bessel model coefficient →
=BESSELI(A2,B2)Evaluate an order-zero Bessel model coefficient →
=BESSELY(A2,B2)Evaluate an order-zero Bessel model coefficient →
=BESSELK(A2,B2)Count accrued days in the current coupon period →
=COUPDAYBS(A2,B2,C2,D2)Find the day-count length of a coupon period →
=COUPDAYS(A2,B2,C2,D2)Count days until the next coupon →
=COUPDAYSNC(A2,B2,C2,D2)Count remaining coupon payments →
=COUPNUM(A2,B2,C2,D2)Find the previous coupon date →
=COUPPCD(A2,B2,C2,D2)Find the next coupon date →
=COUPNCD(A2,B2,C2,D2)Discount four remaining bond cash flows →
=PRICE(A2,B2,C2,D2,100,2,0)Recover the annual yield from a clean bond price →
=YIELD(A2,B2,C2,E2,100,2,0)Weight the timing of discounted bond payments →
=DURATION(A2,B2,C2,D2,2,0)Convert Macaulay duration to modified duration →
=MDURATION(A2,B2,C2,D2,2,0)Price a security paying interest at maturity →
=PRICEMAT(A2,B2,C2,D2,E2,0)Infer simple yield for an interest-at-maturity security →
=YIELDMAT(A2,B2,C2,D2,E2,0)Accrue interest before the first regular coupon →
=ACCRINT(A2,B2,C2,D2,E2,2,0,TRUE)Read a full-period straight-line depreciation calculation →
=AMORLINC(A2,B2,C2,D2,1,E2,0)Sum a vertical range while ignoring formula errors →
=AGGREGATE(9,6,A2:A6)Measure a subset share with signed adjustments →
=PERCENTOF(A2:A3,A2:A5)Remove outer blanks while retaining an internal blank row →
=LET(trimmed,TRIMRANGE(A2:C6),IF(ISBLANK(trimmed),"",trimmed))Keep an error-looking text label while replacing a real error →
=HSTACK(IFERROR(A2,"Missing"),IFERROR(B2,"Missing"))Distinguish an error from text with identical characters →
=HSTACK(ISERROR(A2),ISERROR(B2),ISTEXT(A2),ISTEXT(B2))Understand an empty-filter calculation error and choose a fallback →
=FILTER(A2:B3,B2:B3>C2)Price a short first coupon period →
=ODDFPRICE(A2,B2,C2,D2,E2,A4,100,2,0)Recover yield from a short first coupon price →
=ODDFYIELD(A2,B2,C2,D2,E2,B4,100,2,0)Price a long first coupon period →
=ODDFPRICE(A2,B2,C2,D2,E2,A4,100,2,0)Recover yield from a long first coupon price →
=ODDFYIELD(A2,B2,C2,D2,E2,B4,100,2,0)Price a short last coupon period →
=ODDLPRICE(A2,B2,C2,D2,E2,100,2,0)Recover yield from a short last coupon price →
=ODDLYIELD(A2,B2,C2,D2,A4,100,2,0)Price a long last coupon period →
=ODDLPRICE(A2,B2,C2,D2,E2,100,2,0)Recover yield from a long last coupon price →
=ODDLYIELD(A2,B2,C2,D2,A4,100,2,0)Normalize full-width Latin and voiced katakana →
=ASC(A2)Expand a mixed label to full-width Japanese forms →
=DBCS(A2)Spell an amount as Thai baht and satang →
=BAHTTEXT(A2)Count a mixed label in legacy DBCS bytes →
=LENB(A2)Extract the left prefix by legacy bytes →
=LEFTB(A2,4)Extract the right suffix by legacy bytes →
=RIGHTB(A2,3)Start in the middle using a byte position →
=MIDB(A2,4,3)Replace a byte span without shifting the wrong character →
=REPLACEB(A2,4,3,"X")Find a match after a double-byte start position →
=FINDB("C",A2,6)Find text without case sensitivity using byte positions →
=SEARCHB("c",A2,6)Read the current local date as an Excel serial →
=TODAY()Read the local date and time when calculation runs →
=NOW()Generate a decimal from zero up to one →
=RAND()Draw an integer within inclusive limits →
=RANDBETWEEN(A2,B2)Fill three rows and two columns with random integers →
=RANDARRAY(A2,B2,C2,D2,TRUE)Cross-tabulate two fields with a formula spill →
=PIVOTBY(A2:A6,B2:B6,C2:C6,SUM,0,0,1,0,1)Calculate totals from observations, not displayed averages →
=PIVOTBY(A1:A6,B1:B6,C1:C6,AVERAGE)Exclude records before grouping and totalling →
=PIVOTBY(A1:A6,B1:B6,C1:C6,SUM,1,1,1,1,1,E1:E6)Compare sum, mean and count in one report →
=PIVOTBY(A2:A6,,C2:C6,HSTACK(SUM,AVERAGE,COUNT),0,0)Capture a LET parameter inside the group reducer →
=LET(rate,2,PIVOTBY(A2:A6,B2:B6,C2:C6,LAMBDA(items,SUM(items)*rate),0,0,1,0,1))Express each intersection as a share of the grand total →
=PIVOTBY(A2:A6,B2:B6,C2:C6,PERCENTOF,0,0,1,0,1,,2)Recompute multi-level subtotals before displaying them →
=PIVOTBY(A1:B6,,E1:E6,AVERAGE,3,2)Keep a measure error in its affected group →
=PIVOTBY(A2:A6,B2:B6,C2:C6,SUM,0,0,1,0,1)Supply a default for an omitted LAMBDA parameter →
=LAMBDA(value,extra,IF(ISOMITTED(extra),value,value+extra))(A2,)Distinguish an omitted argument from supplied empty-looking values →
=LET(check,LAMBDA(value,extra,ISOMITTED(extra)),HSTACK(check(A2,),check(A2,B2),check(A2,C2),check(A2,""),check(A2,D2),check(A2,NA())))Use a bracketed optional parameter with an explicit default →
=LET(adjust,LAMBDA(value,[extra],value+IF(ISOMITTED(extra),5,extra)),HSTACK(adjust(A2),adjust(A2,0),adjust(A2,B3)))Omit two optional inputs independently →
=LET(adjust,LAMBDA(value,[first],[second],value+IF(ISOMITTED(first),2,first)+IF(ISOMITTED(second),3,second)),HSTACK(adjust(A2),adjust(A2,0),adjust(A2,,0)))Keep a captured rate while applying an optional adjustment →
=LET(rate,A3,calc,LAMBDA(value,[extra],value*rate+IF(ISOMITTED(extra),5,extra)),HSTACK(calc(A2),calc(A2,0)))Forward omission through a local helper →
=LET(check,LAMBDA(item,ISOMITTED(item)),route,LAMBDA(value,[extra],check(extra)),HSTACK(route(A2),route(A2,0),route(A2,C2)))Choose an array result when the optional input is omitted →
=LET(make,LAMBDA([flag],IF(ISOMITTED(flag),MAKEARRAY(A2,B2,LAMBDA(row,col,row+col)),0)),make())Treat a supplied error as present and preserve its error type →
=LET(calc,LAMBDA(value,[extra],IF(ISOMITTED(extra),value,extra)),HSTACK(calc(A2),calc(A2,NA()),ISOMITTED(NA())))Supply an optional calculation function →
=LET(run,LAMBDA(value,[operation],IF(ISOMITTED(operation),value+5,operation(value))),HSTACK(run(A2),run(A2,LAMBDA(amount,amount*2))))Retain adjacent values when stacking an error cell →
=HSTACK(A2,NA(),B3)Retain adjacent values when stacking an error cell →
=VSTACK(A2,1/0,B3)Extract product names from an order export →
=FILTERXML(A2,B2)Read order IDs stored as attributes →
=FILTERXML(A2,B2)Select East-region orders above a minimum value →
=FILTERXML(A2,B2)Extract numeric amounts for worksheet calculations →
=FILTERXML(A2,B2)Find the order immediately before the last one →
=FILTERXML(A2,B2)Extract fields from a namespaced supplier export →
=FILTERXML(A2,B2)Keep international names and decode XML entities →
=FILTERXML(A2,B2)Distinguish exported error labels from formula errors →
=FILTERXML(A2,B2)Combine two selectors without duplicate records →
=FILTERXML(A2,B2)Diagnose a selector with no matching orders →
=FILTERXML(A2,B2)Fix a missing closing tag before extracting fields →
=FILTERXML(A2,B2)Fix an incomplete XPath predicate →
=FILTERXML(A2,B2)Trace an upstream error instead of parsing its label →
=FILTERXML(A2,B2)Read a legacy declining-balance charge →
=AMORDEGRC(A2,B2,C2,D2,1,E2,0)Prorate the first legacy accounting period →
=AMORDEGRC(A2,B2,C2,D2,0,E2,0)Use the purchase-year day count →
=AMORDEGRC(A2,B2,C2,D2,1,E2,1)Keep a legacy half-unit rounding boundary →
=AMORDEGRC(A2,B2,C2,D2,1,E2,1)Recognize an invalid legacy asset life →
=AMORDEGRC(A2,B2,C2,D2,1,E2,0)Trace the late-period legacy switch →
=AMORDEGRC(A2,B2,C2,D2,SEQUENCE(6,1,0),E2,0)Read a historical mark amount in euros →
=EUROCONVERT(A2,B2,C2,D2)Round a historical target to whole units →
=EUROCONVERT(A2,B2,C2,D2)Inspect intermediate-euro rounding →
=EUROCONVERT(A2,B2,C2,D2,E2)Keep the unrounded cross-currency result →
=EUROCONVERT(A2,B2,C2,D2)Preserve an amount when its code is unchanged →
=EUROCONVERT(A2,B2,C2,D2)Reject an invalid intermediate precision →
=EUROCONVERT(A2,B2,C2,D2,E2)Recognize an unsupported currency code →
=EUROCONVERT(A2,B2,C2,D2)Separate calculation precision from display places →
=EUROCONVERT(A2,B2,C2,D2)A zero offset preserves a closed starting date →
=WORKDAY.INTL(A2,B2,C2,D2)Move backward across a closed Monday →
=WORKDAY.INTL(A2,B2,C2,D2)Retain the sign of an inclusive reversed interval →
=NETWORKDAYS.INTL(A2,B2,C2,D2)A calendar with no working weekdays →
=NETWORKDAYS.INTL(A2,B2,C2)Let leap February determine its last date →
=EOMONTH(A2,B2)Shift a January date into the preceding year →
=EOMONTH(A2,B2)Read the office’s stored name →
=PHONETIC(A2)Same text, a different stored reading →
=PHONETIC(A3)Keep a suffix outside the reading spans →
=PHONETIC(A4)Join two stored readings in source order →
=PHONETIC(A5)Use the upper-left cell of a rectangle →
=PHONETIC(A2:B5)Retain a plain source label →
=PHONETIC(B2)Do not guess an unstored reading →
=PHONETIC(A2)A text literal carries no cell annotation →
=PHONETIC("大和")Computed text does not inherit source readings →
=PHONETIC(A2&"")Keep an error-looking label as text →
=PHONETIC(D2)Reject a nonadjacent reference union →
=PHONETIC((A2,A3))Propagate a calculation error →
=PHONETIC(1/0)Handle the expected union error explicitly →
=IFNA(PHONETIC((A2,A3)),"Separate references")Retain XML symbols and escape-looking text →
=PHONETIC(A2)Preserve a complete supplementary character span →
=PHONETIC(A2)Read a numeric field →
=FIELDVALUE(A2,"Capacity")Keep equal labels as different records →
=FIELDVALUE(A3,"Capacity")Choose a field from a worksheet cell →
=FIELDVALUE(A2,B2)Retain a text field →
=FIELDVALUE(A2,"Region")Retain a Boolean false →
=FIELDVALUE(A3,"Open")Retain an explicit zero →
=FIELDVALUE(A2,"Reserve")Retain an existing empty text field →
=FIELDVALUE(A2,"Note")Expose a missing field →
=FIELDVALUE(A2,"Capacities")Distinguish text from an attached record →
=FIELDVALUE("Cedar","Capacity")Do not infer records from computed text →
=FIELDVALUE(A2&"","Capacity")Keep an error-looking field value as text →
=FIELDVALUE(A2,"Code")Handle an expected absent field explicitly →
=IFERROR(FIELDVALUE(A2,"Missing"),"Not supplied")Preserve an upstream calculation error →
=FIELDVALUE(1/0,"Capacity")Preserve an error in the field expression →
=FIELDVALUE(A2,1/0)Extract one field from several records →
=FIELDVALUE(A2:A4,"Capacity")Extract a row of field names →
=FIELDVALUE(A2,{"Capacity","Region","Open"})Cross records with field headers →
=FIELDVALUE(A2:A4,{"Capacity","Region"})Use numeric fields in another calculation →
=SUM(FIELDVALUE(A2:A4,"Capacity"))Keep the actual reference selected by INDEX →
=FIELDVALUE(INDEX((A2,A3),1,1,2),"Capacity")Recognize a real missing-field error →
=ISERROR(FIELDVALUE(A2,"Missing"))Do not misclassify an error-looking label →
=ISERROR(FIELDVALUE(A2,"Code"))Keep numeric zero and ignore referenced text numbers →
=MEDIAN(A2:A11)Average the two middle signed observations →
=MEDIAN(A2:A5)Distinguish direct arguments from referenced text →
=MEDIAN(A2:A4,"10",TRUE)Ignore text and booleans inside an array constant →
=MEDIAN({0,2,"200",TRUE,6})Preserve numeric identity after filtering →
=MEDIAN(FILTER(A2:A6,B2:B6="Keep"))Retain the typed error for a reference with no numbers →
=MEDIAN(A2:A5)Keep numeric and error-looking fields as text →
=TEXTSPLIT(A2,"|")Preserve empty records and pad shorter rows →
=TEXTSPLIT(A2,"|",CHAR(10),FALSE,0,"")Default padding is a real error →
=TEXTSPLIT(A2,"|",CHAR(10))An explicit error-looking pad is ordinary text →
=TEXTSPLIT(A2,"|",CHAR(10),FALSE,0,"#N/A")Check a code pattern and its length for every row →
=HSTACK(REGEXTEST(A2:A5,"^[A-Za-z]{2}-[0-9]{4}$"),LEN(A2:A5)=7)Choose the documented case sensitivity →
=HSTACK(REGEXTEST(A2,B2,0),REGEXTEST(A2,B2,1))Preserve an outer term after a recursive call →
=LET(f,LAMBDA(self,n,IF(n=0,0,self(self,n-1)+n)),f(f,A2))Carry a starting balance through recursive steps →
=LET(f,LAMBDA(self,n,acc,IF(n=0,acc,self(self,n-1,acc+n))),f(f,A2,B2))Restore caller parameters during recursive multiplication →
=LET(f,LAMBDA(self,n,IF(n=0,1,n*self(self,n-1))),f(f,A2))Keep two recursive branches independent →
=LET(f,LAMBDA(self,n,IF(n<2,n,self(self,n-1)+self(self,n-2))),f(f,A2))Retain a captured weight across recursive calls →
=LET(weight,B2,f,LAMBDA(self,n,IF(n=0,0,weight*n+self(self,n-1))),f(f,A2))Append text after the inner call returns →
=LET(f,LAMBDA(self,n,IF(n=0,"",self(self,n-1)&IF(n>1,"-","")&n)),f(f,A2))Find a literal asterisk in exact mode →
=XMATCH(D2,A2:A4,0)Find the last literal ID →
=XMATCH(D2,A2:A4,0,-1)Choose wildcard matching deliberately →
=XMATCH(D2,A2:A4,2)Preserve a text ID with leading zeroes →
=XMATCH(D2,A2:A4,0)Return numeric zero for a literal ID →
=XLOOKUP(D2,A2:A4,B2:B4,"Missing",0)Return the last literal matching record →
=XLOOKUP(D2,A2:A4,B2:B4,"Missing",0,-1)Filter the source population before grouping signed units →
=GROUPBY(A2:A6,B2:B6,SUM,0,0,1,C2:C6="Posted")Average each selected group over its original observations →
=GROUPBY(A2:A6,B2:B6,AVERAGE,0,0,1,C2:C6="Posted")Keep an undefined zero-net share as a typed error →
=PERCENTOF(A2:A2,A2:A3)Sort complete field combinations as a table →
=GROUPBY(A1:B7,C1:C7,SUM,3,0,{2,1},D1:D7,1)Sort a later field within each parent group →
=GROUPBY(A1:B7,C1:C7,SUM,3,0,{2,1},D1:D7,0)Recompute automatic subtotals from unequal record populations →
=GROUPBY(A1:B7,C1:C7,AVERAGE,3,,{2,1},D1:D7,0)Put the table grand total before independently sorted keys →
=GROUPBY(A1:B7,C1:C7,SUM,3,-1,{2,-1},D1:D7,1)Keep the available array when negative counts exceed both dimensions →
=TAKE(A2:C3,-8,-8)Take the last row without inventing extra columns →
=TAKE(A2:C3,-1,-8)Distinguish missing-value errors from lookalike text →
=VSTACK(ISNA(A2:A5),ISNA(NA()))Give diagnostic codes only to genuine errors →
=VSTACK(IFERROR(ERROR.TYPE(A2:A4),0),ERROR.TYPE(1/0),ERROR.TYPE(NA()),ERROR.TYPE(VALUE("invalid")))Allocate the final stub after a shortened first fiscal year →
=DB(A2,B2,C2,D2,E2)Spill the complete fixed-balance fiscal schedule →
=DB(A2,B2,C2,SEQUENCE(C2+1),D2)Recognize the native zero-draw boundary →
=HYPGEOM.DIST(A2,B2,C2,D2,TRUE)Guard a population without marked records →
=IF(C2=0,1,HYPGEOM.DIST(A2,B2,C2,D2,TRUE))Recognize the native zero-draw boundary →
=HYPGEOMDIST(A2,B2,C2,D2)Guard a population without marked records →
=IF(C2=0,1,HYPGEOMDIST(A2,B2,C2,D2))Retain a zero mean change with nonzero paired spread →
=T.TEST(A2:A5,B2:B5,2,1)Keep unequal sample sizes separate in a Welch comparison →
=T.TEST(A2:A6,B2:B6,2,3)Recognize the one-observation t margin boundary →
=CONFIDENCE.T(A2,B2,C2)Recognize truncated degrees of freedom in the inverse function →
=T.INV.2T(A2,B2)Retain an exact zero implied yield →
=YIELD(DATE(2026,1,15),DATE(2056,1,15),A2,B2,C2,D2,E2)Reprice an exact zero yield without a negative residue →
=PRICE(DATE(2026,1,15),DATE(2056,1,15),A2,YIELD(DATE(2026,1,15),DATE(2056,1,15),A2,B2,C2,D2,E2),C2,D2,E2)Recover a deep-discount annual yield →
=YIELD(DATE(2026,1,15),DATE(2056,1,15),A2,B2,C2,D2,E2)Recover a deep-discount quarterly yield →
=YIELD(DATE(2026,1,15),DATE(2056,1,15),A2,B2,C2,D2,E2)Invert the final simple-discount period with basis 2 →
=YIELD(DATE(2026,7,15),DATE(2026,9,30),A2,B2,C2,D2,E2)Invert the final simple-discount period with basis 3 →
=YIELD(DATE(2026,7,15),DATE(2026,9,30),A2,B2,C2,D2,E2)Count literal question marks and tildes →
=COUNTIF(A2:A12,C2)Exclude an escaped literal label →
=SUMIFS(B2:B12,A2:A12,"<>"&C2)