Wauvel

Excel like a finance pro.

The library

Every topic the skills test can ask about, ranked within its area, with a difficulty rating on the same Elo scale as the test and the number of practice questions behind it — 3,091 in all.

Functions · 520

Ranked by how often a finance operator reaches for them.

#TopicWhat it doesDifficultyPractice
1SUMAdds up numbers, ranges, or both.85027
2IFReturns one value if a test is true and another if it is false.95031
3AVERAGEReturns the arithmetic mean, ignoring blanks and text.85019
4VLOOKUPFinds a value in the first column of a table and returns a value from a column to the right.120027
5COUNTCounts cells that contain numbers; text and blanks are skipped.9005
6COUNTACounts cells that are not empty, whatever they contain.9007
7SUMIFAdds the cells in a range that meet one condition.115056
8SUMIFSAdds cells that meet several conditions at once.125028
9COUNTIFCounts cells that meet one condition, with wildcards allowed in text.110076
10COUNTIFSCounts rows that meet several conditions at once.120026
11XLOOKUPFinds a value in one range and returns the matching item from another, in any direction, exact by default.125018
12ROUNDRounds a number to a given number of digits; negative digits round to tens, hundreds, and so on.95048
13MAXReturns the largest number.85035
14MINReturns the smallest number.85015
15IFERRORReturns an alternative value if a formula produces any error.105042
16INDEXReturns the value at a given row and column position in a range.125055
17MATCHReturns the position of a value in a range, not the value itself.12506
18CONCATJoins text from several cells or ranges with no delimiter.95021
19TEXTFormats a number or date as text using a format code.115056
20LEFTReturns the first characters of a text string.95038
21RIGHTReturns the last characters of a text string.95025
22MIDReturns characters from the middle of a string, starting at a position.105025
23LENReturns the number of characters in a string, spaces included.90023
24TRIMRemoves leading, trailing, and repeated spaces.95010
25TODAYReturns the current date, updated on every recalculation.9003
26DATEBuilds a date from year, month, and day numbers.10005
27ANDReturns TRUE only if every argument is true.100015
28ORReturns TRUE if any argument is true.100014
29AVERAGEIFAverages the cells that meet one condition.115016
30AVERAGEIFSAverages cells that meet several conditions.125011
31SUMPRODUCTMultiplies matching elements of arrays and adds the products; the workhorse for conditional math without helper columns.155090
32SUBTOTALRuns a chosen aggregate (SUM, AVERAGE, COUNT, ...) that ignores rows hidden by a filter.13004
33EOMONTHReturns the last day of the month a number of months away.110024
34YEARReturns the year from a date.90014
35MONTHReturns the month number from a date.90014
36DAYReturns the day of the month from a date.9003
37NOWReturns the current date and time.9004
38IFSTests several conditions in order and returns the value for the first true one.115016
39FILTERReturns the rows of a range that meet a condition, as a spilled array.135016
40UNIQUEReturns the distinct values from a range.13004
41TEXTJOINJoins values with a delimiter, optionally skipping blanks.115022
42SUBSTITUTEReplaces occurrences of specific text with other text.110033
43FINDReturns the position of text inside other text; case-sensitive, no wildcards.110031
44SEARCHReturns the position of text inside other text; case-insensitive, wildcards allowed.11005
45VALUEConverts a number stored as text into a number.100010
46ABSReturns the absolute value, the number without its sign.90013
47INTRounds a number down to the nearest integer, toward negative infinity.10004
48MODReturns the remainder after division.105027
49ROUNDUPRounds a number away from zero to a given number of digits.10005
50ROUNDDOWNRounds a number toward zero to a given number of digits.10004
51PROPERCapitalizes the first letter of each word.90022
52UPPERConverts text to uppercase.85014
53LOWERConverts text to lowercase.8503
54CONCATENATEJoins text values; the older version of CONCAT that cannot take ranges.9503
55HLOOKUPFinds a value in the first row of a table and returns a value from a row below.12003
56INDIRECTTurns text into a live cell reference.14503
57OFFSETReturns a range shifted from a starting cell by a number of rows and columns.14003
58CHOOSEReturns one item from a list based on an index number.11003
59ISBLANKReturns TRUE if a cell is empty.9503
60ISNUMBERReturns TRUE if a value is a number.10003
61IFNAReturns an alternative value only if a formula produces #N/A.11004
62ISERRORReturns TRUE for any error value.10503
63MEDIANReturns the middle value, unaffected by outliers.95023
64LARGEReturns the k-th largest value.105024
65SMALLReturns the k-th smallest value.105014
66RANK.EQReturns the rank of a number in a list; ties share the top rank.110014
67SORTReturns a range sorted by one of its columns.130015
68SORTBYSorts a range by another range, which can be outside it.13503
69SEQUENCEReturns a spilled list of sequential numbers.13504
70LETNames intermediate results inside a formula so they are calculated once and reused.14004
71XMATCHReturns the position of a value with exact match by default and optional reverse search.13003
72EDATEReturns the date a number of months before or after a date.110015
73DATEDIFReturns the complete years, months, or days between two dates; undocumented but reliable.120024
74NETWORKDAYSCounts working days between two dates, skipping weekends and listed holidays.115022
75WORKDAYReturns the date a number of working days from a start date.11504
76WEEKDAYReturns the day of the week as a number; 1 is Sunday by default.105021
77WEEKNUMReturns the week number of the year.10503
78PMTReturns the periodic payment on a loan at a constant rate.130041
79NPVReturns the net present value of cash flows that occur at the end of each period.140013
80IRRReturns the internal rate of return of a series of cash flows.14005
81XNPVReturns the net present value of cash flows on specific dates.14504
82XIRRReturns the internal rate of return for cash flows on specific dates.14503
83PVReturns the present value of a series of equal payments.135012
84FVReturns the future value of a series of equal payments.135012
85RATEReturns the interest rate per period of an annuity.14003
86NPERReturns the number of periods needed to pay off or reach an amount.135012
87GETPIVOTDATAPulls a specific value out of a pivot table by field and item names.13503
88ROWReturns the row number of a reference, or of the cell it sits in.10503
89COLUMNReturns the column number of a reference.10502
90ROWSReturns the number of rows in a range.10502
91COLUMNSReturns the number of columns in a range.10502
92TRANSPOSEFlips a range so rows become columns and columns become rows.12002
93MAXIFSReturns the largest value among cells that meet conditions.125014
94MINIFSReturns the smallest value among cells that meet conditions.125013
95SWITCHCompares one expression against a list of values and returns the matching result.11504
96TEXTSPLITSplits text into an array by delimiters.13003
97TEXTBEFOREReturns the text that comes before a delimiter.12003
98TEXTAFTERReturns the text that comes after a delimiter.120013
99LAMBDADefines a custom reusable function without VBA.17004
100MAPApplies a LAMBDA to each element of an array and returns the results.17003
101REDUCEAccumulates a single result by applying a LAMBDA across an array.18003
102SCANLike REDUCE but returns every intermediate value, useful for running totals.18003
103BYROWApplies a LAMBDA to each row of an array and returns one result per row.17003
104BYCOLApplies a LAMBDA to each column of an array and returns one result per column.17003
105MAKEARRAYBuilds an array of a given size by calling a LAMBDA with each row and column number.18002
106VSTACKStacks arrays on top of one another into one array.13503
107HSTACKPlaces arrays side by side into one array.13503
108TAKEReturns the first or last rows or columns of an array; negative numbers count from the end.13503
109DROPReturns an array with the first or last rows or columns removed.13503
110CHOOSECOLSReturns the chosen columns from an array, in the order you list them.14003
111CHOOSEROWSReturns the chosen rows from an array.14003
112TOCOLFlattens an array into a single column.14003
113TOROWFlattens an array into a single row.14002
114WRAPROWSWraps a single row or column into rows of a given width.14502
115WRAPCOLSWraps a single row or column into columns of a given height.14502
116EXPANDGrows an array to given dimensions, padding new cells.14002
117GROUPBYSummarizes data by groups in one formula, like a pivot table that recalculates live.16003
118PIVOTBYCross-tabulates data by rows and columns in one formula.16502
119STDEV.SReturns the standard deviation of a sample.120014
120STDEV.PReturns the standard deviation of an entire population.12003
121VAR.SReturns the variance of a sample.12503
122PERCENTILE.INCReturns the value at a given percentile, k from 0 to 1 inclusive.12503
123QUARTILE.INCReturns a quartile of a data set (0 = min, 2 = median, 4 = max).12503
124CORRELReturns the correlation coefficient between two data sets, from -1 to 1.13003
125FORECAST.LINEARPredicts a y value for a given x using linear regression.13003
126TRENDReturns values along a linear trend fitted to the data, as an array.13503
127RANDReturns a random decimal between 0 and 1, recalculated on every change.10003
128RANDBETWEENReturns a random whole number between two values you give.10004
129RANDARRAYReturns an array of random numbers of the size you specify.14003
130REPTRepeats text a given number of times.10008
131CHARReturns the character for a code number; CHAR(10) is a line break.11002
132CODEReturns the numeric code of the first character.11002
133CLEANRemoves non-printable characters from text.10002
134EXACTTests whether two strings are identical, case-sensitively.10003
135NUMBERVALUEConverts text to a number using separators you specify, for other locales.12002
136DOLLARFormats a number as currency text.10002
137HYPERLINKCreates a clickable link to a file, web page, or cell.10503
138AGGREGATELike SUBTOTAL with more functions and the option to ignore errors and hidden rows.15003
139MROUNDRounds a number to the nearest multiple you specify, like the nearest 5 or 0.25.11003
140CEILING.MATHRounds a number up to the nearest integer or multiple of significance.11003
141FLOOR.MATHRounds a number down to the nearest integer or multiple of significance.11003
142TRUNCDrops the decimal part of a number without rounding.10003
143SIGNReturns 1 for positive, -1 for negative, and 0 for zero.10002
144POWERRaises a number to a power; the same as the ^ operator.9509
145SQRTReturns the positive square root.9504
146PRODUCTMultiplies all the numbers given.9503
147COUNTBLANKCounts empty cells in a range.9502
148AVERAGEAReturns the mean counting text as 0 and TRUE as 1.11002
149MAXAReturns the largest value, counting TRUE as 1 and text as 0.11002
150MODE.SNGLReturns the most frequently occurring number.10503
151FREQUENCYCounts how many values fall into each bin, returned as an array.14003
152PIReturns the value of pi.9002
153DAYSReturns the number of days between two dates.95022
154HOURReturns the hour from a time.9502
155NOTReverses TRUE and FALSE.9502
156ISTEXTReturns TRUE if a value is text.10002
157DATEVALUEConverts a date written as text into a date serial number.10503
158ISNAReturns TRUE only for #N/A.10502
159NAReturns the #N/A error on purpose, for example to leave a gap in a chart.10502
160TIMEBuilds a time value from hours, minutes, and seconds.10503
161REPLACEReplaces characters at a position with other text.11003
162MODEReturns the most frequent value in a set of numbers; still works but MODE.SNGL is the current name.10503
163RANKReturns the rank of a number in a list; still widely typed but RANK.EQ is the current name.11006
164SLNReturns straight-line depreciation for one period.12003
165YEARFRACReturns the fraction of a year between two dates.12003
166PERCENTILEReturns the k-th percentile of a range; still common but PERCENTILE.INC is the current name.12003
167QUARTILEReturns a quartile of a data set; still common but QUARTILE.INC is the current name.12003
168STDEVEstimates standard deviation from a sample; still widely typed but STDEV.S is the current name.12003
169FORECASTPredicts a value along a straight-line trend; still works but FORECAST.LINEAR is the current name.13003
170IPMTReturns the interest portion of a specific payment.14003
171PPMTReturns the principal portion of a specific payment.14003
172FALSEReturns the logical value FALSE.8502
173TRUEReturns the logical value TRUE.8502
174ISEVENReturns TRUE if a number is even.9502
175ISODDReturns TRUE if a number is odd.9502
176MINUTEReturns the minute from a time.9502
177QUOTIENTReturns the integer part of a division, discarding the remainder.10503
178CEILINGRounds a number away from zero to the nearest multiple of significance; the older form kept for compatibility.11004
179FLOORRounds a number toward zero to the nearest multiple of significance; the older form kept for compatibility.11003
180FORMULATEXTReturns the formula in a cell as text.11002
181ISERRReturns TRUE for any error except #N/A.11002
182ISFORMULAReturns TRUE if a cell contains a formula.11002
183ISOWEEKNUMReturns the ISO week number, where weeks start on Monday.11002
184NConverts a value to a number: TRUE to 1, text and blanks to 0.11002
185TIMEVALUEConverts a time written as text into a time value.11002
186RANK.AVGReturns the rank of a number; ties get the average rank.11503
187UNICHARReturns the Unicode character for a number.11502
188EXPReturns e raised to the given power.12002
189IMAGEPlaces an image from a URL into a cell.12003
190LNReturns the natural logarithm.12002
191LOGReturns the logarithm to a base you choose, base 10 by default.12003
192LOG10Returns the base-10 logarithm.12002
193TRANSLATETranslates text from one language to another using Microsoft Translator.12003
194CELLReturns information about a cell, such as its address, format, or file path.12503
195COMBINReturns the number of ways to choose k items from n, order not mattering.12503
196GEOMEANReturns the geometric mean, the right average for growth rates.12503
197LOOKUPApproximate-match lookup in a sorted one-row or one-column range.12503
198ADDRESSBuilds a cell address as text from row and column numbers.13003
199COPILOTSends a prompt and optional cell context to Copilot and returns its answer into the grid.13003
200INTERCEPTReturns where the regression line crosses the y-axis.13003
201NETWORKDAYS.INTLCounts working days with a custom definition of the weekend.13003
202PERCENTRANK.INCReturns the percentile rank of a value within a list.13003
203SLOPEReturns the slope of the linear regression line through the points.13003
204STDEVPCalculates standard deviation of an entire population; replaced by STDEV.P.12003
205TRIMMEANReturns the mean after excluding a percentage of the highest and lowest values.13003
206VAREstimates variance from a sample; still widely typed but VAR.S is the current name.12003
207VARPCalculates variance of an entire population; replaced by VAR.P.12003
208WORKDAY.INTLReturns a date a number of working days away with a custom weekend.13003
209DDBReturns double-declining-balance depreciation for a period.13503
210EFFECTReturns the effective annual rate given a nominal rate and compounding periods.13503
211PERCENTOFReturns the percentage that a subset of data makes up of the whole; built for GROUPBY and PIVOTBY.13503
212RRIReturns the equivalent compound growth rate between two values, a CAGR.13503
213RSQReturns the square of the correlation coefficient, the R-squared of a linear fit.13503
214TRIMRANGETrims the empty outer rows and columns from a range so whole-column references stop dragging blanks along.13503
215CONVERTConverts a number between measurement units, like miles to kilometers.12003
216NORM.DISTReturns the normal distribution for a value.14003
217NORM.S.DISTReturns the standard normal distribution for a z-score.14003
218NORM.S.INVReturns the inverse of the standard normal cumulative distribution: the z-score for a probability.14002
219STOCKHISTORYReturns historical price data for a stock as an array.14003
220NORM.INVReturns the value for a given probability under a normal distribution.14503
221NORMDISTReturns the normal distribution; replaced by NORM.DIST.13503
222NORMINVReturns the inverse of the normal cumulative distribution; replaced by NORM.INV.13503
223NORMSDISTReturns the standard normal cumulative distribution; replaced by NORM.S.DIST.13502
224NORMSINVReturns the inverse of the standard normal cumulative distribution; replaced by NORM.S.INV.13502
225CUMIPMTReturns the cumulative interest paid between two periods.15003
226CUMPRINCReturns the cumulative principal paid between two periods.15003
227FORECAST.ETSPredicts a future value using exponential smoothing with seasonality.15003
228MIRRReturns a modified IRR that assumes a reinvestment rate.15003
229MMULTReturns the matrix product of two arrays; rows of the first must match columns of the second.15003
230REGEXTESTTests whether text matches a regular expression.15003
231PYRuns Python code in a cell using Python in Excel, returning either a Python object or an Excel value.15503
232REGEXEXTRACTExtracts text matching a regular expression.15503
233REGEXREPLACEReplaces text matching a regular expression.15503
234T.TESTReturns the probability associated with a t-test comparing two samples.15503
235LINESTReturns the parameters of a linear regression as an array, with statistics on request.16003
236CUBEVALUEReturns an aggregated value from an OLAP cube or Power Pivot data model.16003
237SECONDReturns the second from a time.9502
238ARABICConverts a Roman numeral to an Arabic number.10002
239DEGREESConverts radians to degrees.10002
240RADIANSConverts degrees to radians.10002
241ROMANConverts an Arabic number to Roman numerals as text.10002
242EVENRounds a number up to the nearest even integer.10502
243FIXEDFormats a number as text with a fixed number of decimals.10502
244ISLOGICALReturns TRUE if a value is TRUE or FALSE.10502
245ISNONTEXTReturns TRUE if a value is not text, blanks included.10502
246ODDRounds a number up to the nearest odd integer.10502
247COSReturns the cosine of an angle in radians.11002
248FACTReturns the factorial of a number.11002
249MINAReturns the smallest value in a list, counting text as 0 and TRUE as 1.11002
250SINReturns the sine of an angle in radians.11002
251TReturns the value if it is text, otherwise an empty string.11002
252TANReturns the tangent of an angle in radians.11002
253GCDReturns the greatest common divisor of integers.11502
254ISREFReturns TRUE if a value is a reference.11502
255LCMReturns the least common multiple of integers.11502
256SHEETReturns the sheet number of a reference.11502
257SHEETSReturns the number of sheets in a reference or the workbook.11502
258UNICODEReturns the Unicode number of the first character.11502
259AREASReturns the number of areas in a reference.12002
260CEILING.PRECISERounds a number up to the nearest multiple of significance, always toward positive infinity regardless of sign.12002
261DAYS360Returns days between dates on a 360-day year, used in some interest calculations.12002
262DETECTLANGUAGEReturns the language code that a piece of text is written in.12002
263FLOOR.PRECISERounds a number down to the nearest multiple of significance, always toward negative infinity regardless of sign.12002
264INFOReturns information about the environment, such as the operating system or Excel version.12002
265LEFTBReturns the leftmost bytes of a text string, for double-byte languages.12002
266LENBReturns the number of bytes in a text string, for double-byte languages.12002
267MIDBReturns bytes from the middle of a text string, for double-byte languages.12002
268RIGHTBReturns the rightmost bytes of a text string, for double-byte languages.12002
269SUMSQReturns the sum of the squares of the arguments.12002
270TYPEReturns a number for the type of value: 1 number, 2 text, 4 logical, 16 error, 64 array.12002
271VALUETOTEXTReturns any value as text.12002
272XORReturns TRUE when an odd number of arguments are true.12002
273ACOSReturns the arccosine of a number, in radians.12502
274ARRAYTOTEXTReturns an array as a single text string.12502
275ASINReturns the arcsine of a number, in radians.12502
276ATANReturns the arctangent of a number, in radians.12502
277BASEConverts a number to text in another base, such as binary.12502
278COTReturns the cotangent of an angle given in radians.12502
279CSCReturns the cosecant of an angle given in radians.12502
280DECIMALConverts text in a given base back to a decimal number.12502
281ENCODEURLReturns a URL-encoded version of text.12502
282ERROR.TYPEReturns a number identifying which error a value is.12502
283FINDBFinds one text string within another, counting bytes rather than characters, for double-byte languages.12502
284ISO.CEILINGRounds a number up to the nearest multiple of significance using the ISO rule, ignoring the sign of significance.12502
285PERMUTReturns the number of ordered arrangements of k items chosen from n.12502
286REPLACEBReplaces part of a text string by byte position, for double-byte languages.12502
287SEARCHBFinds one text string within another without case sensitivity, counting bytes for double-byte languages.12502
288SECReturns the secant of an angle given in radians.12502
289SQRTPIReturns the square root of a number multiplied by pi.12502
290STDEVAEstimates sample standard deviation, counting text as 0 and TRUE as 1.12502
291STDEVPACalculates population standard deviation, counting text as 0 and TRUE as 1.12502
292VAR.PReturns the variance of a population.12502
293VARAEstimates sample variance, counting text as 0 and TRUE as 1.12502
294VARPACalculates population variance, counting text as 0 and TRUE as 1.12502
295ASCConverts full-width double-byte characters to half-width single-byte characters.13002
296ATAN2Returns the angle from x and y coordinates.13002
297AVEDEVReturns the average of absolute deviations from the mean.13002
298BAHTTEXTConverts a number to Thai text and appends a baht suffix.13002
299COMBINAReturns the number of combinations with repetitions allowed.13002
300COSHReturns the hyperbolic cosine of a number.13002
301DBCSConverts half-width single-byte characters to full-width double-byte characters.13002
302DEVSQReturns the sum of squared deviations from the mean.13002
303FACTDOUBLEReturns the double factorial of a number, the product of every other integer down to 1.13002
304HARMEANReturns the harmonic mean.13002
305JISConverts half-width characters to full-width characters in Japanese text.13002
306MODE.MULTReturns an array of the most frequent numbers when there are ties.13002
307PEARSONReturns the Pearson correlation coefficient; identical to CORREL.13002
308PERCENTILE.EXCReturns the value at a percentile, excluding 0 and 1.13002
309QUARTILE.EXCReturns a quartile of a data set based on percentile values from 0 to 1, exclusive.13002
310SINHReturns the hyperbolic sine of a number.13002
311STANDARDIZEReturns a z-score for a value.13002
312TANHReturns the hyperbolic tangent of a number.13002
313ACOSHReturns the inverse hyperbolic cosine of a number.13502
314ACOTReturns the arccotangent of a number, in radians.13502
315ASINHReturns the inverse hyperbolic sine of a number.13502
316ATANHReturns the inverse hyperbolic tangent of a number.13502
317COTHReturns the hyperbolic cotangent of a number.13502
318CSCHReturns the hyperbolic cosecant of a number.13502
319DAVERAGEAverages values in a table column that match criteria.13502
320DBReturns declining-balance depreciation for a period.13502
321DCOUNTCounts numeric cells in a table column that match criteria.13502
322DCOUNTACounts non-blank cells in a table column that match criteria.13502
323DMAXReturns the largest value in a table column that matches criteria.13502
324DMINReturns the smallest value in a table column that matches criteria.13502
325DPRODUCTMultiplies the values in a table column that match criteria.13502
326DSUMAdds values in a column of a table that match a criteria range.13502
327NOMINALReturns the nominal annual rate given an effective rate.13502
328PERCENTRANK.EXCReturns the rank of a value as a percentage of the data set, excluding 0 and 1.13502
329PERMUTATIONAReturns the number of permutations with repetitions allowed.13502
330PHONETICExtracts the furigana phonetic characters from a text string.13502
331SECHReturns the hyperbolic secant of a number.13502
332SKEWReturns the skewness of a distribution.13502
333SYDReturns sum-of-years-digits depreciation for a period.13502
334ACOTHReturns the inverse hyperbolic cotangent of a number.14002
335BIN2DECConverts a binary number to decimal.12002
336COVARIANCE.PReturns population covariance, the average of products of deviations for each pair of data points.14002
337COVARIANCE.SReturns the sample covariance of two data sets.14002
338DEC2BINConverts a decimal number to binary.12002
339DEC2HEXConverts a decimal number to hexadecimal.12002
340DELTAReturns 1 if two numbers are equal and 0 otherwise.12002
341DGETReturns the single value from a table that matches criteria, erroring if there is more than one.14002
342DOLLARDEConverts a price quoted as a fraction, like 1.02 for 1 and 2/16, into a decimal.14002
343DOLLARFRConverts a decimal price into a fractional quote, like 1.125 into 1.02 for sixteenths.14002
344DSTDEVEstimates the sample standard deviation of table values that match criteria.14002
345DSTDEVPCalculates the population standard deviation of table values that match criteria.14002
346DVAREstimates the sample variance of table values that match criteria.14002
347DVARPCalculates the population variance of table values that match criteria.14002
348FVSCHEDULEReturns the future value after applying a series of different rates.14002
349GROWTHReturns values along an exponential trend fitted to the data.14002
350HEX2DECConverts a hexadecimal number to decimal.12002
351ISPMTReturns the interest paid during a specific period of an investment with equal principal payments.14002
352KURTReturns the kurtosis of a distribution.14002
353MULTINOMIALReturns the multinomial of a set of numbers: the factorial of the sum divided by the product of the factorials.14002
354MUNITReturns the identity matrix of a given size.14002
355PDURATIONReturns the number of periods for an investment to reach a value.14002
356PERCENTRANKReturns the percentage rank of a value in a data set; replaced by PERCENTRANK.INC.13002
357PROBReturns the probability that values in a range fall between two limits.14002
358SKEW.PReturns the skewness of a distribution based on a whole population.14002
359SUMX2MY2Returns the sum of the difference of squares of corresponding values in two arrays.14002
360SUMX2PY2Returns the sum of the sum of squares of corresponding values in two arrays.14002
361SUMXMY2Returns the sum of squares of differences of corresponding values in two arrays.14002
362WEBSERVICEReturns data from a web service URL as text.14002
363BIN2HEXConverts a binary number to hexadecimal.12502
364BIN2OCTConverts a binary number to octal.12502
365BINOM.DISTReturns the binomial distribution probability.14502
366CONFIDENCE.TReturns the confidence interval for a population mean using a Student t distribution.14502
367COVARReturns population covariance; replaced by COVARIANCE.P.13502
368DEC2OCTConverts a decimal number to octal.12502
369EXPON.DISTReturns the exponential distribution.14502
370FISHERReturns the Fisher transformation of a value.14502
371FISHERINVReturns the inverse of the Fisher transformation.14502
372GAUSSReturns the probability that a standard normal value falls between the mean and z standard deviations from it.14502
373GESTEPReturns 1 if a number is greater than or equal to a threshold and 0 otherwise.12502
374HEX2BINConverts a hexadecimal number to binary.12502
375HEX2OCTConverts a hexadecimal number to octal.12502
376MDETERMReturns the determinant of a square matrix.14502
377OCT2BINConverts an octal number to binary.12502
378OCT2DECConverts an octal number to decimal.12502
379OCT2HEXConverts an octal number to hexadecimal.12502
380PHIReturns the value of the standard normal density function at x.14502
381POISSON.DISTReturns the Poisson distribution probability.14502
382ACCRINTMReturns the accrued interest for a security that pays interest at maturity.15002
383BINOM.DIST.RANGEReturns the probability of a trial result falling in a range using the binomial distribution.15002
384BINOM.INVReturns the smallest value for which the cumulative binomial distribution is at least the criterion.15002
385BINOMDISTReturns the binomial distribution probability; replaced by BINOM.DIST.14002
386CHISQ.DISTReturns the left-tailed chi-squared distribution.15002
387CHISQ.DIST.RTReturns the right-tailed probability of the chi-squared distribution.15002
388CHISQ.INVReturns the inverse of the left-tailed chi-squared distribution.15002
389CHISQ.INV.RTReturns the inverse of the right-tailed chi-squared distribution.15002
390CONFIDENCEReturns the confidence interval for a population mean using a normal distribution; replaced by CONFIDENCE.NORM.14002
391CONFIDENCE.NORMReturns the margin of a confidence interval for a population mean.15002
392DISCReturns the discount rate for a security.15002
393EXPONDISTReturns the exponential distribution; replaced by EXPON.DIST.14002
394F.TESTReturns the result of an F-test: the two-tailed probability that the variances of two arrays are not significantly different.15002
395FILTERXMLReturns data from XML text using an XPath query.15002
396FORECAST.ETS.SEASONALITYReturns the length of the repeating pattern Excel detects in a time series.15002
397GAMMAReturns the gamma function value.15002
398GAMMALNReturns the natural logarithm of the gamma function.15002
399GAMMALN.PRECISEReturns the natural logarithm of the gamma function with improved precision.15002
400INTRATEReturns the interest rate for a fully invested security.15002
401LOGNORM.DISTReturns the lognormal distribution.15002
402LOGNORM.INVReturns the inverse of the lognormal cumulative distribution.15002
403MINVERSEReturns the inverse of a square matrix as an array.15002
404POISSONReturns the Poisson distribution; replaced by POISSON.DIST.14002
405RECEIVEDReturns the amount received at maturity for a fully invested security.15002
406RTDRetrieves real-time data from a COM automation server, like a market data feed.15002
407SERIESSUMReturns the sum of a power series based on a formula.15002
408STEYXReturns the standard error of the predicted y for each x in a regression.15002
409T.DISTReturns the left-tailed Student t distribution.15002
410T.DIST.2TReturns the two-tailed Student t distribution.15002
411T.DIST.RTReturns the right-tailed Student t distribution.15002
412T.INVReturns the left-tailed inverse of the Student t distribution.15002
413T.INV.2TReturns the two-tailed inverse of the Student t distribution: the critical t for a confidence level.15002
414TBILLEQReturns the bond-equivalent yield for a Treasury bill.15002
415TBILLPRICEReturns the price per 100 face value for a Treasury bill.15002
416TBILLYIELDReturns the yield for a Treasury bill.15002
417VDBReturns depreciation for any partial period using the variable declining balance method.15002
418BETA.DISTReturns the beta distribution, often used to model proportions between 0 and 1.15502
419BETA.INVReturns the inverse of the cumulative beta distribution.15502
420BITANDReturns the bitwise AND of two numbers.13502
421BITLSHIFTReturns a number shifted left by the specified number of bits.13502
422BITORReturns the bitwise OR of two numbers.13502
423BITRSHIFTReturns a number shifted right by the specified number of bits.13502
424BITXORReturns the bitwise exclusive OR of two numbers.13502
425CHIDISTReturns the right-tailed chi-squared probability; replaced by CHISQ.DIST.RT.14502
426CHIINVReturns the inverse of the right-tailed chi-squared probability; replaced by CHISQ.INV.RT.14502
427CHISQ.TESTReturns the p-value of a chi-squared test of independence.15502
428CHITESTReturns the chi-squared test for independence; replaced by CHISQ.TEST.14502
429COUPDAYBSReturns the number of days from the start of the coupon period to the settlement date.15502
430COUPDAYSReturns the number of days in the coupon period that contains the settlement date.15502
431COUPDAYSNCReturns the number of days from the settlement date to the next coupon date.15502
432COUPNCDReturns the next coupon date after settlement.15502
433COUPNUMReturns the number of coupons payable between settlement and maturity.15502
434COUPPCDReturns the previous coupon date before settlement.15502
435CRITBINOMReturns the smallest value for which the cumulative binomial distribution meets a criterion; replaced by BINOM.INV.14502
436DURATIONReturns the Macaulay duration of a bond with periodic interest payments.15502
437F.DISTReturns the left-tailed F probability distribution.15502
438F.DIST.RTReturns the right-tailed F probability distribution.15502
439F.INVReturns the inverse of the left-tailed F probability distribution.15502
440F.INV.RTReturns the inverse of the right-tailed F probability distribution.15502
441FORECAST.ETS.CONFINTReturns a confidence interval for a forecast value at a target date using exponential smoothing.15502
442FORECAST.ETS.STATReturns a statistical value from an exponential smoothing forecast, like the smoothing parameters or error measures.15502
443FTESTReturns the result of an F-test; replaced by F.TEST.14502
444GAMMA.DISTReturns the gamma distribution.15502
445GAMMA.INVReturns the inverse of the gamma cumulative distribution.15502
446HYPGEOM.DISTReturns the hypergeometric distribution: the probability of a given number of successes when sampling without replacement.15502
447LOGESTReturns the parameters of an exponential curve fitted to data, as an array.15502
448LOGINVReturns the inverse of the lognormal cumulative distribution; replaced by LOGNORM.INV.14502
449LOGNORMDISTReturns the cumulative lognormal distribution; replaced by LOGNORM.DIST.14502
450MDURATIONReturns the modified duration of a security with an assumed par value of 100.15502
451NEGBINOM.DISTReturns the negative binomial distribution: the probability of a number of failures before a given number of successes.15502
452PRICEDISCReturns the price per 100 face value of a discounted security.15502
453PRICEMATReturns the price per 100 face value of a security that pays interest at maturity.15502
454TDISTReturns the Student t distribution; replaced by T.DIST, T.DIST.RT, and T.DIST.2T.14502
455TINVReturns the two-tailed inverse of the Student t distribution; replaced by T.INV.2T.14502
456TTESTReturns the probability from a Student t-test; replaced by T.TEST.14502
457WEIBULL.DISTReturns the Weibull distribution, common in reliability and failure-time analysis.15502
458YIELDDISCReturns the annual yield for a discounted security, like a zero-coupon bond.15502
459YIELDMATReturns the annual yield of a security that pays interest at maturity.15502
460Z.TESTReturns the one-tailed p-value of a z-test.15502
461ZTESTReturns the one-tailed probability of a z-test; replaced by Z.TEST.14502
462AMORDEGRCReturns depreciation for each accounting period using the French degressive method with a coefficient.16002
463AMORLINCReturns prorated linear depreciation for each accounting period under the French system.16002
464BETADISTReturns the cumulative beta distribution; replaced by BETA.DIST.15002
465BETAINVReturns the inverse of the cumulative beta distribution; replaced by BETA.INV.15002
466COMPLEXBuilds a complex number from real and imaginary coefficients.14002
467FDISTReturns the right-tailed F probability distribution; replaced by F.DIST.RT.15002
468FINVReturns the inverse of the right-tailed F distribution; replaced by F.INV.RT.15002
469GAMMADISTReturns the gamma distribution; replaced by GAMMA.DIST.15002
470GAMMAINVReturns the inverse of the gamma cumulative distribution; replaced by GAMMA.INV.15002
471HYPGEOMDISTReturns the hypergeometric distribution; replaced by HYPGEOM.DIST.15002
472IMAGINARYReturns the imaginary coefficient of a complex number.14002
473IMREALReturns the real coefficient of a complex number.14002
474NEGBINOMDISTReturns the negative binomial distribution; replaced by NEGBINOM.DIST.15002
475WEIBULLReturns the Weibull distribution; replaced by WEIBULL.DIST.15002
476ACCRINTReturns accrued interest for a security that pays periodic interest.16502
477IMABSReturns the absolute value, or modulus, of a complex number.14502
478IMCONJUGATEReturns the complex conjugate of a complex number.14502
479IMSUBReturns the difference of two complex numbers.14502
480IMSUMReturns the sum of complex numbers.14502
481ODDFPRICEReturns the price per 100 face value of a security with an odd first period.16502
482ODDFYIELDReturns the yield of a security with an odd first period.16502
483ODDLPRICEReturns the price per 100 face value of a security with an odd last period.16502
484ODDLYIELDReturns the yield of a security with an odd last period.16502
485PRICEReturns the price per $100 face value of a bond.16502
486YIELDReturns the yield of a bond from its price.16502
487ERFReturns the error function.15002
488ERF.PRECISEReturns the error function integrated from 0 to x.15002
489ERFCReturns the complementary error function integrated from x to infinity.15002
490ERFC.PRECISEReturns the complementary error function with improved precision.15002
491IMARGUMENTReturns the argument theta of a complex number, an angle in radians.15002
492IMCOSReturns the cosine of a complex number.15002
493IMDIVReturns the quotient of two complex numbers.15002
494IMEXPReturns the exponential of a complex number.15002
495IMLNReturns the natural logarithm of a complex number.15002
496IMLOG10Returns the base-10 logarithm of a complex number.15002
497IMLOG2Returns the base-2 logarithm of a complex number.15002
498IMPOWERReturns a complex number raised to an integer power.15002
499IMPRODUCTReturns the product of complex numbers.15002
500IMSINReturns the sine of a complex number.15002
501IMSQRTReturns the square root of a complex number.15002
502IMTANReturns the tangent of a complex number.15002
503ISOMITTEDTests whether an optional LAMBDA parameter was left out.17502
504IMCOSHReturns the hyperbolic cosine of a complex number.15502
505IMCOTReturns the cotangent of a complex number.15502
506IMCSCReturns the cosecant of a complex number.15502
507IMCSCHReturns the hyperbolic cosecant of a complex number.15502
508IMSECReturns the secant of a complex number.15502
509IMSECHReturns the hyperbolic secant of a complex number.15502
510IMSINHReturns the hyperbolic sine of a complex number.15502
511BESSELIReturns the modified Bessel function In(x).16002
512BESSELJReturns the Bessel function Jn(x).16002
513BESSELKReturns the modified Bessel function Kn(x).16002
514BESSELYReturns the Bessel function Yn(x).16002
515CUBEMEMBERReturns a member or tuple from an OLAP cube, validating that it exists.16002
516CUBESETCOUNTReturns the number of items in a cube set.16002
517CUBEKPIMEMBERReturns a key performance indicator property from an OLAP cube and shows its name in the cell.16502
518CUBEMEMBERPROPERTYReturns the value of a member property from an OLAP cube.16502
519CUBERANKEDMEMBERReturns the nth member of a set from an OLAP cube, like the top-selling product.16502
520CUBESETDefines a calculated set of members from an OLAP cube and sends it to the server.16502

Shortcuts · 120

Windows keys; the catalog page has the Mac equivalent.

#TopicWhat it doesDifficultyPractice
1Ctrl + BBold7502
2Ctrl + CCopy7502
3Ctrl + XCut7502
4Ctrl + VPaste7502
5Ctrl + SSave7002
6Ctrl + ZUndo7502
7EscCancel the entry or exit edit mode8002
8DeleteClear the contents of the selection8002
9EnterConfirm the entry and move down8004
10TabMove one cell to the right8003
11F2Edit the active cell8502
12Ctrl + FOpen Find8502
13Ctrl + ASelect the current region, then the whole sheet on a second press8503
14Ctrl + DFill down from the top cell of the selection9004
15Alt + =Insert an AutoSum formula9003
16Ctrl + ;Insert today's date as a fixed value9003
17Ctrl + ArrowJump to the edge of the current data region9002
18Ctrl + HOpen Find and Replace9002
19Ctrl + 1Open the Format Cells dialog9003
20Alt + EnterStart a new line inside the cell9002
21Ctrl + TCreate a Table from the selection9502
22Ctrl + Shift + ArrowExtend the selection to the edge of the data region9502
23F4Toggle absolute and relative references while editing9502
24Ctrl + Shift + LToggle AutoFilter9503
25Ctrl + IItalic7502
26Ctrl + NNew workbook7502
27Ctrl + OOpen a workbook7502
28Ctrl + PPrint8002
29Shift + ArrowExtend the selection by one cell8502
30Ctrl + Y (or F4)Redo, or repeat the last action8502
31Ctrl + RFill right from the left cell of the selection9002
32Ctrl + HomeGo to cell A19002
33Ctrl + Page DownMove to the next worksheet9002
34Ctrl + Page UpMove to the previous worksheet9002
35AltShow ribbon key tips9002
36Ctrl + -Delete cells, rows, or columns9502
37Ctrl + Shift + +Insert cells, rows, or columns9502
38Ctrl + SpaceSelect the entire column9503
39Shift + SpaceSelect the entire row9502
40Ctrl + EnterFill every selected cell with the same entry10002
41Ctrl + Alt + VOpen Paste Special10002
42Alt + ↓Open the filter dropdown or an in-cell list10002
43Ctrl + Shift + VPaste values only (newer versions)10002
44Alt, H, O, IAutoFit column width10502
45Ctrl + EFlash Fill: complete a pattern from adjacent data10503
46Alt, N, VInsert a pivot table10502
47F9Recalculate all open workbooks, or evaluate a selected part of a formula10502
48Ctrl + UUnderline7502
49Alt + F4Close Excel8002
50Ctrl + WClose the workbook8502
51Shift + TabMove one cell to the left8502
52F12Save As8502
53Ctrl + EndGo to the last used cell on the sheet9502
54Ctrl + KInsert a hyperlink9502
55Shift + F11Insert a new worksheet9502
56Ctrl + Shift + ;Insert the current time as a fixed value9502
57Ctrl + TabSwitch to the next open workbook9502
58Ctrl + Shift + $Apply currency format with two decimals10002
59Ctrl + Shift + !Apply number format with two decimals and thousands separators10002
60Ctrl + Shift + %Apply percentage format with no decimals10002
61Ctrl + Shift + EndExtend the selection to the last used cell10002
62Ctrl + 0Hide the selected columns10002
63Ctrl + 9Hide the selected rows10002
64Alt + F1Insert a default chart on the current sheet10002
65Ctrl + G (or F5)Open the Go To dialog10002
66Ctrl + `Show formulas instead of values in all cells10003
67Alt, H, WToggle wrap text10002
68Alt, W, F, FFreeze panes at the active cell10502
69Ctrl + F3Open Name Manager10502
70Alt + F8Open the Macros dialog10502
71Alt + F11Open the VBA editor10502
72Ctrl + Alt + F5Refresh all data connections and pivot tables10502
73Alt + F5Refresh the active pivot table10502
74Alt + Shift + →Group the selected rows or columns11002
75Alt, A, V, VOpen Data Validation11002
76Alt, A, MRemove duplicates11002
77Alt, A, EText to Columns11002
78Alt + ;Select only the visible cells in the selection11502
79Ctrl + Shift + EnterEnter an array formula (legacy Excel)12502
80Shift + EnterConfirm the entry and move up9002
81Ctrl + F2Print preview9002
82Ctrl + F1Collapse or expand the ribbon9502
83Shift + F3Open the Insert Function dialog9502
84Ctrl + 5Toggle strikethrough9502
85Alt, H, A, CCenter the cell contents10002
86Ctrl + Shift + UExpand or collapse the formula bar10002
87Ctrl + Shift + HomeExtend the selection to A110002
88F11Insert a default chart on a new chart sheet10002
89Shift + F2Insert or edit a cell comment or note10002
90Alt + Page DownScroll one screen to the right10002
91Ctrl + Shift + &Add an outline border10502
92Ctrl + Shift + #Apply date format10502
93Ctrl + Shift + ~Apply General format10502
94Alt, H, HOpen the fill color menu10502
95Alt, A, S, SOpen the Sort dialog10502
96Ctrl + Shift + _Remove all borders10502
97Ctrl + BackspaceScroll back to the active cell10502
98Ctrl + Shift + *Select the current region around the active cell10502
99Ctrl + Shift + 9Unhide rows in the selection10502
100Alt, H, LOpen the conditional formatting menu11002
101Shift + F9Recalculate the active sheet only11002
102Alt + Shift + ←Ungroup the selected rows or columns11002
103Ctrl + 'Copy the formula from the cell above without adjusting references11502
104Ctrl + Shift + "Copy the value from the cell above11502
105Alt, M, DTrace dependents11502
106Alt, M, PTrace precedents11502
107Alt, M, VEvaluate Formula step by step12002
108Alt, A, P, TOpen Power Query from a table or range12002
109Ctrl + ]Select the cells that refer to this one (dependents)12002
110Ctrl + [Select the cells this formula refers to (precedents)12002
111F7Spell check9502
112Ctrl + F6Switch to the next workbook window10002
113F6Cycle between the sheet, ribbon, and task panes11002
114F3Paste a defined name into a formula11002
115Alt, W, SSplit the window at the active cell11002
116Shift + F8Add another range to the selection without the mouse11502
117Ctrl + Shift + F3Create names from the selection's labels11502
118Ctrl + Shift + AInsert argument names after typing a function name11502
119Ctrl + Shift + *Select the entire pivot table11502
120Alt + Shift + →Expand a pivot field12002

Pivot tables · 40

The features, from the first pivot to calculated fields.

#TopicWhat it doesDifficultyPractice
1Creating a pivot tableSummarizes a table of rows into totals by any combination of fields, without formulas.9505
2RefreshingRe-reads the source data; pivots do not update on their own.9502
3The four areasRows and Columns define the grid, Values are what gets summarized, Filters limit the whole table.9502
4Changing the summary functionSwitches a value field between Sum, Count, Average, Max, Min, and others.10002
5Grouping datesRolls daily dates up into months, quarters, and years.11002
6SlicersClickable buttons that filter one or more pivots at once and show what is filtered.11002
7The fields paneThe panel where fields are dragged into areas; it disappears when the pivot is not selected.9002
8Drilling to detailsShows the source rows behind any total.10002
9Multiple value fieldsShows several summaries side by side, like Sum of Revenue and Count of Orders.10002
10Report filtersLimits the entire pivot to chosen items of a field placed in the Filters area.10002
11Sorting a pivotOrders row or column items by label or by their values.10002
12Subtotals and grand totalsTurns the automatic subtotal rows and grand total row and column on or off.10002
13Changing the data sourcePoints the pivot at a bigger or different range when the source grows.10502
14Number formatting a value fieldFormats every cell of a value field at once, and the format survives refresh.10502
15Report layout: compact, outline, tabularControls whether nested row fields stack in one column (compact) or spread across columns (outline, tabular).11002
16Source data shapePivots need one header row and one record per row: no merged cells, no subtotals, no blank header cells.11502
17Show Values AsDisplays a value field as a percentage of the total, running total, difference from, or rank instead of the raw number.12502
18Pivot chartsA chart wired to the pivot that changes as you filter, group, or rearrange it.11002
19Preserving formatting on refreshKeeps column widths and cell formats from resetting every time you refresh.11002
20Repeat item labelsFills the row labels on every row instead of only the first of each group, so the output can be used as flat data.11002
21Label and value filtersFilters row items by their name (contains, begins with) or by their totals (top 10, greater than).11502
22TimelinesA slicer built for dates that lets you pick years, quarters, months, or days by dragging.11502
23Top 10 filterShows only the largest or smallest N items, or the items that make up a percentage of the total.11502
24Flattening a pivot to a tableTurns pivot output into a plain table that formulas can reference.12002
25Grouping numbers into binsTurns a numeric field into ranges like 0-99, 100-199.12002
26Calculated fieldsAdds a new value field computed from other fields with a formula, like Revenue minus Cost.13002
27GETPIVOTDATAA formula that pulls a specific value out of a pivot and keeps pulling the right one when the pivot moves.13002
28Distinct countCounts unique values in a field, such as how many customers ordered.13502
29Recommended PivotTablesExcel suggests layouts for your data.9002
30Blank and error displayControls what shows in empty cells and error cells of the pivot.10502
31Removing automatic date groupingStops Excel splitting dates into Years, Quarters, and Months automatically.11502
32Values in rows versus columnsControls whether multiple value fields sit side by side or stacked.11502
33Conditional formatting in a pivotData bars or color scales that apply to all cells of a value field and survive refresh.12002
34Manual groupingCombines chosen items into a custom group, like three regions into one territory.12002
35The pivot cacheA copy of the source data that the pivot reads from, shared by pivots built from the same source.13002
36Pivots on external dataBuilds a pivot straight from a database, another workbook, or a Power Query result.14002
37The Data ModelLets a pivot use several related tables at once and unlocks measures written in DAX.14502
38DAX measuresFormulas that calculate correctly at any level of the pivot, like a true average or a year-over-year change.15502
39Defer layout updateStops the pivot recalculating after every drag when the source is large.11502
40Calculated itemsAdds a new row or column item computed from other items of the same field, like Q1 plus Q2.14002

VBA · 72

The language, not the macros — those are on the VBA snippets page.

#TopicWhat it doesDifficultyPractice
1Macro-enabled workbooksMacros only survive in .xlsm (or .xlsb) files; saving as .xlsx strips them.9002
2MsgBoxShows a message and optionally asks Yes/No.9002
3Declaring variables with DimDeclares a variable and its type before use.9502
4If ... Then ... ElseRuns code when a condition is true, with optional ElseIf and Else branches.9502
5RangeRefers to a cell or block by address, name, or as an intersection.9502
6Recording a macroExcel writes the code for whatever you do, a good way to learn object names.9502
7Sub proceduresA block of code that performs actions and returns nothing; every macro is a Sub.9502
8The VBA editorWhere macros are written and run; opened with Alt + F11.9502
9Cells(row, column)Refers to a cell by numbers, which makes looping easy.10001
10For ... NextRepeats a block a set number of times with a counter.10002
11For Each ... NextLoops over every item in a collection: cells in a range, sheets in a workbook.10502
12Set for objectsObject variables (ranges, sheets, workbooks) must be assigned with Set.10502
13Application.ScreenUpdatingStops the screen redrawing while code runs, a large speedup for anything that touches many cells.11002
14Finding the last rowThe standard way to find the last used row in a column, mimicking Ctrl + Up from the bottom.11502
15CommentsAn apostrophe starts a comment that VBA ignores.8501
16Assigning a macro to a buttonRuns a macro from a shape or form control on the sheet.9502
17Clear methodsClearContents removes values, ClearFormats removes formatting, Clear removes both.9502
18InputBoxAsks the user to type a value.9502
19String concatenationAmpersand joins text; & is safer than + because + tries to add numbers.9502
20Breakpoints and steppingPause code at a line (F9) and run it one line at a time (F8) while watching variables.10502
21Copy and PasteSpecialCopies a range and pastes values, formats, or formulas.10502
22Data typesLong for whole numbers, Double for decimals, String for text, Boolean for True/False, Date, Variant for anything.10502
23Debug.Print and the Immediate windowWrites values to the Immediate window (Ctrl + G) while code runs.10502
24Option ExplicitForces every variable to be declared, so typos become errors instead of silent new variables.10501
25Avoiding Select and ActivateWorking with ranges directly is faster and more reliable than selecting them first.11002
26Do ... LoopRepeats while or until a condition holds, when you do not know the count in advance.11002
27With ... End WithRuns several statements against one object without repeating its name.11002
28Worksheets collectionRefers to sheets by name or index; the code name (in the editor) is stable even if the tab is renamed.11002
29Application.CalculationSwitches to manual calculation during a macro so formulas do not recalculate after every write.11502
30Function proceduresA block of code that returns a value, usable from other code or as a custom worksheet function.11502
31ThisWorkbook vs ActiveWorkbookThisWorkbook is the file the code lives in; ActiveWorkbook is whichever one is in front.11502
32WorksheetFunctionCalls Excel functions like SUM, VLOOKUP, or MAX from VBA.11502
33The object modelApplication contains Workbooks, which contain Worksheets, which contain Ranges; you drill down with dots.12002
34On Error handlingDecides what happens when a runtime error occurs: jump to a handler, or ignore and continue.12502
35ActiveCell and SelectionThe cell the cursor is on and whatever is selected; recorded macros lean on them, good code avoids them.10002
36ConstantsA named value that cannot change, for settings used in many places.10002
37Macro securityFiles from the internet are blocked from running macros until unblocked in file properties or trusted.10002
38Compile errorsMistakes caught before running, like a missing End If; Debug > Compile finds them all at once.10502
39Exit For, Exit Do, Exit SubLeaves a loop or procedure early.10501
40CurrentRegionThe block of data around a cell, bounded by blank rows and columns, like Ctrl + A once.11002
41FormatFormats a number or date as text, like TEXT in a sheet.11002
42OffsetA range a number of rows and columns away from another.11002
43String functionsLeft, Right, Mid, Len, Trim, UCase, Replace, InStr, Split: the VBA versions of the text functions.11002
44UsedRangeEvery cell the sheet considers used, including formatted empties.11002
45Assigning values without copyingSetting one range's Value from another is faster than Copy and Paste.11502
46Date functionsDate, Now, DateAdd, DateDiff, DateSerial for date math in code.11502
47Select CaseChooses between many branches based on one value; cleaner than a long ElseIf chain.11502
48VariantA catch-all type that holds anything, including arrays and ranges of values; slower and easier to misuse.11502
49AutoFilter in codeApplies a filter to a range from code.12002
50Modules, sheet modules, and class modulesStandard modules hold macros; sheet and ThisWorkbook modules hold events; class modules define objects.12002
51Sorting in codeSorts a range by a key column.12002
52The Err objectHolds the number and description of the last error.12002
53Workbook_OpenRuns when the file opens; used for setup or reminders.12002
54FindSearches a range for a value and returns the first matching cell, or Nothing.12502
55User-defined worksheet functionsA Function in a standard module can be used in cells like any built-in function.12502
56Variable scopeDim inside a procedure is local; Private or Public at the top of a module is module-level or global.12502
57ArraysA variable holding many values, indexed by number; reading a range into an array is much faster than cell by cell.13002
58Worksheet and workbook eventsCode that runs automatically when something happens, like a cell changing or the workbook opening.13502
59Processing in arraysRead a range into an array, loop in memory, write it back once; far faster than cell-by-cell loops.14002
60Line continuationA space and underscore lets a statement continue on the next line.10002
61Watches and LocalsWindows that show the current value of variables while paused.11001
62GoToJumps to a label; used almost only with On Error.11501
63ResizeA range with the same top-left cell but a new size.12002
64Value, Value2, TextValue returns the cell value (dates as Date), Value2 the raw number, Text what is displayed.12501
65Application.InputBox for rangesAn InputBox that lets the user select a range with the mouse.13002
66Optional argumentsParameters a caller can leave out, with a default value.13002
67ByVal and ByRefByRef (the default) lets a procedure change the caller's variable; ByVal passes a copy.13502
68ReDimResizes a dynamic array; Preserve keeps the existing values.13502
69Application.EnableEventsTurns event handling off so a Change event that writes to the sheet does not trigger itself forever.14002
70UserFormsCustom dialog boxes with text boxes, dropdowns, and buttons.14001
71Collection and DictionaryContainers for lists and key-value pairs; Dictionary (Scripting.Dictionary) gives fast lookups by key.14502
72Static variablesA local variable that keeps its value between calls.13002

Concepts · 26

The things that aren't one function: errors, references, dates, tables.

#TopicWhat it doesDifficultyPractice
1Error valuesEach error tells you what went wrong: #N/A not found, #REF! deleted reference, #NAME? unknown name, #VALUE! wrong type, #DIV/0! divided by zero, #NUM! bad number, #SPILL! blocked array, ##### too narrow.100021
2Relative, absolute, and mixed referencesA1 shifts when copied; $A$1 never moves; A$1 locks the row and $A1 locks the column.10005
3Numbers stored as textText that looks like a number is skipped by SUM and sorts wrongly; a green triangle flags it.10502
4How dates and times workA date is a serial day count from January 1, 1900; a time is a fraction of a day. Formatting only changes the display.10506
5Excel TablesA range converted with Ctrl + T that auto-expands, keeps formats and formulas consistent, and lets formulas use column names.10501
6Pivot tablesA drag-and-drop summary of raw rows by any fields, with no formulas.10500
7Choosing a lookup functionVLOOKUP looks right only and breaks when columns move; INDEX/MATCH looks anywhere; XLOOKUP does both with exact match by default.12500
8File typesxlsx has no macros, xlsm keeps them, xlsb is compact binary, csv is plain text with values only.9002
9Number formats and custom formatsFormats change how a value displays, not what it is. Custom codes handle thousands, decimals, percent, dates, and conditional colors.10005
10Data validationRestricts what a cell accepts: a list, a number range, a date, or a custom formula.10001
11Data toolsText to Columns, Remove Duplicates, Flash Fill, Sort, Filter, and Goal Seek handle most cleanup without formulas.10005
12Conditional formattingCell appearance driven by rules: value ranges, top/bottom, duplicates, data bars, or a formula.10500
13ChartsVisuals bound to ranges or tables; combo, waterfall, and pivot charts cover most reporting.10501
14Order of operationsExcel evaluates parentheses, then percent, then exponents, then multiply and divide, then add and subtract, then & and comparisons. A leading minus binds tighter than ^.110011
15Error handling in formulasIFERROR catches every error, IFNA only #N/A; catching too much hides real bugs.11000
16Criteria stringsCOUNTIF-family criteria are text: ">10", "<>West", "app*". Comparisons against cells are built with &.11500
17Dynamic arrays and spillingA formula that returns several values writes them into neighboring cells automatically; A1# refers to the whole spill.13004
18Power QueryA tool for importing and reshaping data with recorded, repeatable steps.13001
19Named rangesA readable name for a cell or range, used in formulas and as list sources.10501
20Protecting sheets and workbooksLocks cells against editing and hides formulas once the sheet is protected.11001
21Formula auditingTools that show what feeds a formula, what depends on it, and how it evaluates step by step.11503
22Precision and display15 significant digits are stored; display rounding does not change the value, ROUND does.11501
23What-If AnalysisGoal Seek changes one input to hit a target; Data Tables show a formula across many inputs; Scenario Manager stores sets of inputs.12501
24Calculation and performanceVolatile functions, whole-column array math, and too many lookups slow recalculation.13500
25Boolean math and SUMPRODUCTComparisons return TRUE/FALSE; multiplying or double-negating turns them into 1/0 so they can be summed.14501
26LET and LAMBDALET names intermediate values inside a formula; LAMBDA defines a reusable custom function without VBA.16000

Learn the moves here — or let Wauvel run them on your numbers.

Meet your AI CFO →

One CFO-grade Excel tip a week

A short, practical email for finance operators — functions, shortcuts, and the moves that save an afternoon. Free, unsubscribe anytime.