101 Excel Functions
101 Excel Functions
This guide describes important Excel functions. Click function names for more
information and detailed examples. We also have a large list of example
formulas, a more complete list of Excel functions, and video training. If you are new
to Excel formulas altogether, see this introduction.
Quick navigation
ABS, AGGREGATE, AND, AVERAGE, AVERAGEIF, AVERAGEIFS, CEILING,
CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, CONCAT, CONCATE
NATE, CONVERT, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS,
DATE, DATEDIF, DAY, EDATE, EOMONTH, EXACT, FIND, FLOOR, GETPIVO
TDATA, HLOOKUP, HOUR, HYPERLINK, IF, IFERROR, IFNA, IFS, INDEX, IN
DIRECT, INT, ISBLANK, ISERROR, ISEVEN, ISFORMULA, ISLOGICAL, ISNU
MBER, ISODD, ISTEXT, LARGE, LEFT, LEN, LOOKUP, LOWER, MATCH, MA
X, MAXIFS, MID, MIN, MINIFS, MINUTE, MOD, MODE, MONTH, MROUND,
NETWORKDAYS, NOT, NOW, OFFSET, OR, PROPER, RAND, RANDBETWEE
N, RANK, REPLACE, RIGHT, ROUND, ROUNDDOWN, ROUNDUP, ROW, RO
WS, SEARCH, SECOND, SMALL, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SU
MIFS, SUMPRODUCT, TEXT, TEXTJOIN, TIME, TODAY, TRANSPOSE, TRIM,
UPPER, VLOOKUP, WEEKDAY, WEEKNUM, WORKDAY, YEAR, YEARFRAC
Date and Time Functions
Excel provides many functions to work with dates and times.
NOW and TODAY
You can get the current date with the TODAY function and the current date and time
with the NOW Function. Technically, the NOW function returns the current date and
time, but you can format as time only, as seen below:
Page 1 of 33
Note: these are volatile functions and will recalculate with every worksheet change. If
you want a static value, use date and time shortcuts.
DAY, MONTH, YEAR, and DATE
You can use the DAY, MONTH, and YEAR functions to disassemble any date into its
raw components, and the DATE function to put things back together again.
=DAY("14-Nov-2018") // returns 14
=MONTH("14-Nov-2018") // returns 11
=YEAR("14-Nov-2018") // returns 2018
=DATE(2018,11,14) // returns 4-Nov-2018
HOUR, MINUTE, SECOND, and TIME
Excel provides a set of parallel functions for times. You can use
the HOUR, MINUTE, and SECOND functions to extract pieces of a time, and you
can assemble a TIME from individual components with the TIME function.
Page 2 of 33
=HOUR("10:30") // returns 10
=MINUTE("10:30") // returns 30
=SECOND("10:30") // returns 0
=TIME(10,30,0) // returns 10:30
DATEDIF and YEARFRAC
You can use the DATEDIF function to get time between dates in years, months, or
days. DATEDIF can also be configured to get total time in "normalized"
denominations, i.e. "2 years and 5 months and 27 days".
Page 3 of 33
=YEARFRAC("14-Nov-2018","10-Jun-2021") // returns 2.57
EDATE and EOMONTH
A common task with dates is to shift a date forward (or backward) by a given number
of months. You can use the EDATE and EOMONTH functions for this. EDATE
moves by month and retains the day. EOMONTH works the same way, but always
returns the last day of the month.
Page 4 of 33
To figure out a date n working days in the future, you can use the WORKDAY
function. To calculate the number of workdays between two dates, you can
use NETWORKDAYS.
Page 5 of 33
WEEKDAY and WEEKNUM
To figure out the day of week from a date, Excel provides the WEEKDAY
function. WEEKDAY returns a number between 1-7 that indicates Sunday, Monday,
Tuesday, etc. Use the WEEKNUM function to get the week number in a given year.
Engineering
CONVERT
Most Engineering functions are pretty technical...you'll find a lot of functions for
complex numbers in this section. However, the CONVERT function is quite useful for
everyday unit conversions. You can use CONVERT to change units for distance,
weight, temperature, and much more.
Page 6 of 33
=CONVERT(72,"F","C") // returns 22.2
Information Functions
ISBLANK, ISERROR, ISNUMBER, and ISFORMULA
Excel provides many functions for checking the value in a cell,
including ISNUMBER, ISTEXT, ISLOGICAL, ISBLANK, ISERROR,
and ISFORMULA These functions are sometimes called the "IS" functions, and they
all return TRUE or FALSE based on a cell's contents.
Page 7 of 33
Excel also has ISODD and ISEVEN functions will test a number to see if it's even or
odd.
By the way, the green fill in the screenshot above is applied automatically with
a conditional formatting formula.
Logical Functions
Excel's logical functions are a key building block of many advanced formulas. Logical
functions return the boolean values TRUE or FALSE. If you need a primer on logical
formulas, this video goes through many examples.
AND, OR and NOT
The core of Excel's logical functions are the AND function, the OR function, and
the NOT function. In the screen below, each of these function is used to run a simple
test on the values in column B:
Page 8 of 33
=AND(B5>3,B5<9)
=OR(B5=3,B5=9)
=NOT(B5=2)
Video: How to build logical formulas
Guide: 50 examples of formula criteria
IFERROR and IFNA
The IFERROR function and IFNA function can be used as a simple way to trap and
handle errors. In the screen below, VLOOKUP is used to retrieve cost from a menu
item. Column F contains just a VLOOKUP function, with no error handling. Column
G shows how to use IFNA with VLOOKUP to display a custom message when an
unrecognized item is entered.
Page 9 of 33
=VLOOKUP(E5,menu,2,0) // no error trapping
=IFNA(VLOOKUP(E5,menu,2,0),"Not found") // catch errors
Whereas IFNA only catches an #N/A error, the IFERROR function will catch any
formula error.
IF and IFS functions
The IF function is one of the most used functions in Excel. In the screen below, IF
checks test scores and assigns "pass" or "fail":
Page 10 of 33
=IFS(C5<60,"F",C5<70,"D",C5<80,"C",C5<90,"B",C5>=90,"A")
=VLOOKUP(C5,$F$5:$G$7,2,TRUE)
More: 23 things to know about VLOOKUP.
HLOOKUP works like VLOOKUP, but expects data arranged horizontally:
Page 11 of 33
=HLOOKUP(C5,$G$4:$I$5,2,TRUE)
INDEX and MATCH
For more complicated lookups, INDEX and MATCH offers more flexibility and
power:
=INDEX(C5:E12,MATCH(H4,B5:B12,0),MATCH(H5,C4:E4,0))
Both the INDEX function and the MATCH function are powerhouse functions that
turn up in all kinds of formulas.
More: How to use INDEX and MATCH
LOOKUP
Page 12 of 33
The LOOKUP function has default behaviors that make it useful when solving certain
problems. LOOKUP assumes values are sorted in ascending order and always
performs an approximate match. When LOOKUP can't find a match, it will match the
next smallest value. In the example below we are using LOOKUP to find the last
entry in a column:
The row function also shows up often in advanced formulas that process data
with relative row numbers.
Page 13 of 33
ROWS and COLUMNS
The ROWS function and COLUMNS function provide a count of rows in a reference.
In the screen below, we are counting rows and columns in an Excel Table named
"Table1".
Note ROWS returns a count of data rows in a table, excluding the header row. By the
way, here are 23 things to know about Excel Tables.
HYPERLINK
You can use the HYPERLINK function to construct a link with a formula. Note
HYPERLINK lets you build both external links and internal links:
Page 14 of 33
=HYPERLINK(C5,B5)
GETPIVOTDATA
The GETPIVOTDATA function is useful for retrieving information from
existing pivot tables.
=GETPIVOTDATA("Sales",$B$4,"Region",I6,"Product",I7)
CHOOSE
The CHOOSE function is handy any time you need to make a choice based on a
number:
Page 15 of 33
The TRANSPOSE function gives you an easy way to transpose vertical data to
horizontal, and vice versa.
{=TRANSPOSE(B4:C9)}
Note: TRANSPOSE is a formula and is therefore dynamic. If you just need to do a
one-time transpose operation, use Paste Special instead.
OFFSET
The OFFSET function is useful for all kinds of dynamic ranges. From a starting
location, it lets you specify row and column offsets, and also the final row and column
size. The result is a range that can be respond dynamically to changing conditions and
inputs. You can feed this range to other functions, as in the screen below, where
OFFSET builds a range that is fed to the SUM function:
=SUM(OFFSET(B4,1,I4,4,1)) // sum of Q3
INDIRECT
Page 16 of 33
The INDIRECT function allows you to build references as text. This concept is a bit
tricky to understand at first, but it can be useful in many situations. Below, we are
using INDIRECT to get values from cell A1 in 5 different worksheets. Each reference
is dynamic. If a sheet name changes, the reference will update.
=INDIRECT(B5&"!A1") // =Sheet1!A1
The INDIRECT function is also used to "lock" references so they won't change, when
rows or columns are added or deleted. For more details, see linked examples at the
bottom of the INDIRECT function page.
Caution: both OFFSET and INDIRECT are volatile functions and can slow down
large or complicated spreadsheets.
STATISTICAL Functions
COUNT and COUNTA
You can count numbers with the COUNT function and non-empty cells
with COUNTA. You can count blank cells with COUNTBLANK, but in the screen
below we are counting blank cells with COUNTIF, which is more generally useful.
Page 17 of 33
=COUNT(B5:F5) // count numbers
=COUNTA(B5:F5) // count numbers and text
=COUNTIF(B5:F5,"") // count blanks
COUNTIF and COUNTIFS
For conditional counts, the COUNTIF function can apply one criteria.
The COUNTIFS function can apply multiple criteria at the same time:
=SUM(F5:F12) // everything
=SUMIF(C5:C12,"red",F5:F12) // red only
=SUMIF(F5:F12,">50") // over 50
=SUMIFS(F5:F12,C5:C12,"red",D5:D12,"tx") // red & tx
=SUMIFS(F5:F12,C5:C12,"blue",F5:F12,">50") // blue & >50
Video: How to use the SUMIF function
AVERAGE, AVERAGEIF, and AVERAGEIFS
Following the same pattern, you can calculate an average
with AVERAGE, AVERAGEIF, and AVERAGEIFS.
Page 19 of 33
=AVERAGE(F5:F12) // all
=AVERAGEIF(C5:C12,"red",F5:F12) // red only
=AVERAGEIFS(F5:F12,C5:C12,"red",D5:D12,"tx") // red and tx
MIN, MAX, LARGE, SMALL
You can find largest and smallest values with MAX and MIN, and nth largest and
smallest values with LARGE and SMALL. In the screen below, "data" is the named
range C5:C13, used in all formulas.
=MAX(data) // largest
Page 20 of 33
=MIN(data) // smallest
=LARGE(data,1) // 1st largest
=LARGE(data,2) // 2nd largest
=LARGE(data,3) // 3rd largest
=SMALL(data,1) // 1st smallest
=SMALL(data,2) // 2nd smallest
=SMALL(data,3) // 3rd smallest
Video: How to find the nth smallest or largest value
MINIFS, MAXIFS
The MINIFS and MAXIFS. These functions let you find minimum and maximum
values with conditions:
MODE
The MODE function returns the most commonly occurring number in a range:
Page 21 of 33
=MODE(B5:G5) // returns 1
RANK
To rank values largest to smallest, or smallest to largest, use the RANK function:
Page 22 of 33
=ABS(-134.50) // returns 134.50
RAND and RANDBETWEEN
Both the RAND function and RANDBEWTEEN function can generate random
numbers on the fly. RAND creates long decimal numbers between zero and 1.
RANDBETWEEN generates random integers between two given numbers.
Page 24 of 33
The MOD function returns the remainder after division. This sounds boring and
geeky, but MOD turns up in all kinds of formulas, especially formulas that need to do
something "every nth time". In the screen below, you can see how MOD returns zero
every third number when the divisor is 3:
SUMPRODUCT
The SUMPRODUCT function is powerful and versatile tool when dealing with all
kinds data. You can use SUMPRODUCT to easily count and sum based on criteria,
and you can use it in elegant ways that just don't work with COUNTIFS and SUMIFS.
In the screen below, we are using SUMPRODUCT to count and sum orders in March.
See the SUMPRODUCT page for details and links to many examples.
Page 25 of 33
=SUMPRODUCT(--(MONTH(B5:B12)=3)) // count March
=SUMPRODUCT(--(MONTH(B5:B12)=3),C5:C12) // sum March
SUBTOTAL
The SUBTOTAL function is an "aggregate function" that can perform a number of
operations on a set of data. All told, SUBTOTAL can perform 11 operations,
including SUM, AVERAGE, COUNT, MAX, MIN, etc. (see this page for the full
list). The key feature of SUBTOTAL is that it will ignore rows that have been
"filtered out" of an Excel Table, and, optionally, rows that have been manually
hidden. In the screen below, SUBTOTAL is used to count and sum only the 7 visible
rows in the table:
Page 26 of 33
=SUBTOTAL(3,B5:B14) // returns 7
=SUBTOTAL(9,F5:F14) // returns 9.54
AGGREGATE
Like SUBTOTAL, the AGGREGATE function can also run a number of aggregate
operations on a set of data and can optionally ignore hidden rows. The key differences
are that AGGREGATE can run more operations (19 total) and can also ignore errors.
In the screen below, AGGREGATE is used to perform MIN, MAX, LARGE and
SMALL operations while ignoring errors. Normally, the error in cell B9 would
prevent these functions from returning a result. See this page for a full list of
operations AGGREGATE can perform.
TEXT Functions
LEFT, RIGHT, MID
To extract characters from the left, right, or middle of text, use LEFT, RIGHT,
and MID functions:
Page 27 of 33
=LEFT("ABC-1234-RED",3) // returns "ABC"
=MID("ABC-1234-RED",5,4) // returns "1234"
=RIGHT("ABC-1234-RED",3) // returns "RED"
LEN
The LEN function will return the length of a text string. LEN shows up in a lot of
formulas that count words or characters.
FIND, SEARCH
To look for specific text in a cell, use the FIND function or SEARCH function. These
functions return the numeric position of matching text, but SEARCH allows wildcards
and FIND is case-sensitive. Both functions will throw an error when text is not found,
so wrap in the ISNUMBER function to return TRUE or FALSE (example here).
Page 28 of 33
=FIND("Better the devil you know","devil") // returns 12
=SEARCH("This is not my beautiful wife","bea*") // returns 12
REPLACE, SUBSTITUTE
To replace text by position, use the REPLACE function. To replace text by matching,
use the SUBSTITUTE function. In the first example, REPLACE removes the two
asterisks (**) by replacing the first two characters with an empty string (""). In the
second example, SUBSTITUTE removes all hash characters (#) by replacing "#" with
"".
Page 29 of 33
To figure out the numeric code for a character, use the CODE function. To translate
the numeric code back to a character, use the CHAR function. In the example below,
CODE translates each character in column B to its corresponding code. In column F,
CHAR translates the code back to a character.
=CODE("a") // returns 97
=CHAR(97) // returns "a"
Video: How to use theCODE and CHAR functions
TRIM, CLEAN
To get rid of extra space in text, use the TRIM function. To remove line breaks
and other non-printing characters, use CLEAN.
Page 31 of 33
UPPER, LOWER, PROPER
To change the case of text, use the UPPER, LOWER, and PROPER function
Page 32 of 33
=TEXT(B5,"$#,##0.00")
=TEXT(B6,"000000")
="Save "&TEXT(B7,"0%")
="Sale ends "&TEXT(B8,"mmm d")
More: Detailed examples of custom number formatting.
Author
Dave Bruns
Page 33 of 33