Complete Excel Function Dictionary

Explore 100+ Excel functions with syntax, examples, VBA implementations, and practical applications

99 Functions
20 Categories
All Skill Levels

Functions by Category

Math
6 functions
Statistical
8 functions
Logical
5 functions
Lookup
7 functions
Text
11 functions
Date & Time
8 functions
Financial
5 functions
Database
6 functions
Information
5 functions
Array
5 functions
Engineering
1 functions
Web
1 functions
Cube
1 functions
Math Advanced
5 functions
Statistical Advanced
4 functions
Text Advanced
4 functions
Date Advanced
4 functions
Financial Advanced
4 functions
Lookup Advanced
5 functions
Array Advanced
4 functions
Showing 99 of 99 functions

SUM

Math
Beginner

Adds all numbers in a range of cells

Syntax
SUM(number1, [number2], ...)
Example
=SUM(A1:A10)

Returns sum of values in A1 to A10

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Sum(Range("A1:A10"))
Related Functions
SUMIFSUMIFSSUBTOTAL

AVERAGE

Statistical
Beginner

Returns the average (arithmetic mean) of the arguments

Syntax
AVERAGE(number1, [number2], ...)
Example
=AVERAGE(A1:A10)

Returns average of values in A1 to A10

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Average(Range("A1:A10"))
Related Functions
AVERAGEIFAVERAGEIFSMEDIAN

COUNT

Statistical
Beginner

Counts the number of cells that contain numbers

Syntax
COUNT(value1, [value2], ...)
Example
=COUNT(A1:A10)

Returns count of numeric values in A1 to A10

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Count(Range("A1:A10"))
Related Functions
COUNTACOUNTIFCOUNTIFS

MAX

Statistical
Beginner

Returns the largest value in a set of values

Syntax
MAX(number1, [number2], ...)
Example
=MAX(A1:A10)

Returns maximum value in A1 to A10

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Max(Range("A1:A10"))
Related Functions
MINLARGESMALL

MIN

Statistical
Beginner

Returns the smallest value in a set of values

Syntax
MIN(number1, [number2], ...)
Example
=MIN(A1:A10)

Returns minimum value in A1 to A10

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Min(Range("A1:A10"))
Related Functions
MAXLARGESMALL

ROUND

Math
Beginner

Rounds a number to a specified number of digits

Syntax
ROUND(number, num_digits)
Example
=ROUND(3.14159, 2)

Returns 3.14

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Round(3.14159, 2)
Related Functions
ROUNDUPROUNDDOWNCEILINGFLOOR

ABS

Math
Beginner

Returns the absolute value of a number

Syntax
ABS(number)
Example
=ABS(-5)

Returns 5

VBA Implementation
Range("C1").Value = Abs(-5)
Related Functions
SIGNSQRTPOWER

SQRT

Math
Beginner

Returns a positive square root

Syntax
SQRT(number)
Example
=SQRT(16)

Returns 4

VBA Implementation
Range("C1").Value = Sqr(16)
Related Functions
POWEREXPLOG

POWER

Math
Beginner

Returns the result of a number raised to a power

Syntax
POWER(number, power)
Example
=POWER(2, 3)

Returns 8

VBA Implementation
Range("C1").Value = Application.WorksheetFunction.Power(2, 3)
Related Functions
SQRTEXPLOG

MOD

Math
Beginner

Returns the remainder from division

Syntax
MOD(number, divisor)
Example
=MOD(10, 3)

Returns 1

VBA Implementation
Range("C1").Value = 10 Mod 3
Related Functions
QUOTIENTINTTRUNC

IF

Logical
Beginner

Performs a logical test and returns one value for TRUE and another for FALSE

Syntax
IF(logical_test, [value_if_true], [value_if_false])
Example
=IF(A1>10, "High", "Low")

Returns "High" if A1 > 10, otherwise "Low"

VBA Implementation
If Range("A1").Value > 10 Then Range("B1").Value = "High" Else Range("B1").Value = "Low"
Related Functions
IFSANDORNOT

AND

Logical
Beginner

Returns TRUE if all arguments are TRUE

Syntax
AND(logical1, [logical2], ...)
Example
=AND(A1>5, B1<10)

Returns TRUE if both conditions are met

VBA Implementation
If Range("A1").Value > 5 And Range("B1").Value < 10 Then
Related Functions
ORNOTIFXOR

OR

Logical
Beginner

Returns TRUE if any argument is TRUE

Syntax
OR(logical1, [logical2], ...)
Example
=OR(A1>5, B1<10)

Returns TRUE if either condition is met

VBA Implementation
If Range("A1").Value > 5 Or Range("B1").Value < 10 Then
Related Functions
ANDNOTIFXOR

NOT

Logical
Beginner

Reverses the logic of its argument

Syntax
NOT(logical)
Example
=NOT(A1>5)

Returns TRUE if A1 is NOT greater than 5

VBA Implementation
If Not Range("A1").Value > 5 Then
Related Functions
ANDORIF

IFS

Logical
Intermediate

Checks multiple conditions and returns a value corresponding to the first TRUE condition

Syntax
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]...)
Example
=IFS(A1>=90,"A", A1>=80,"B", A1>=70,"C", TRUE,"F")

Returns grade based on score in A1

VBA Implementation
Select Case Range("A1").Value: Case Is >= 90: result = "A": Case Is >= 80: result = "B"
Related Functions
IFSWITCHCHOOSE

VLOOKUP

Lookup
Intermediate

Looks up a value in the first column and returns a value in the same row from another column

Syntax
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Example
=VLOOKUP("Apple", A1:C10, 2, FALSE)

Finds "Apple" in column A and returns corresponding value from column B

VBA Implementation
result = Application.WorksheetFunction.VLookup("Apple", Range("A1:C10"), 2, False)
Related Functions
HLOOKUPXLOOKUPINDEXMATCH

HLOOKUP

Lookup
Intermediate

Looks up a value in the top row and returns a value in the same column from a specified row

Syntax
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
Example
=HLOOKUP("Q1", A1:E5, 3, FALSE)

Finds "Q1" in row 1 and returns value from row 3

VBA Implementation
result = Application.WorksheetFunction.HLookup("Q1", Range("A1:E5"), 3, False)
Related Functions
VLOOKUPXLOOKUPINDEXMATCH

XLOOKUP

Lookup
Intermediate

Modern replacement for VLOOKUP with more flexibility and better performance

Syntax
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])
Example
=XLOOKUP("Apple", A:A, B:B, "Not Found")

Finds "Apple" in column A and returns corresponding value from column B

VBA Implementation
result = Application.WorksheetFunction.XLookup("Apple", Range("A:A"), Range("B:B"), "Not Found")
Related Functions
VLOOKUPHLOOKUPINDEXMATCH

INDEX

Lookup
Intermediate

Returns a value from a specific position in an array

Syntax
INDEX(array, row_num, [column_num])
Example
=INDEX(A1:C10, 5, 2)

Returns value from 5th row, 2nd column of range A1:C10

VBA Implementation
result = Application.WorksheetFunction.Index(Range("A1:C10"), 5, 2)
Related Functions
MATCHVLOOKUPXLOOKUP

MATCH

Lookup
Intermediate

Returns the position of an item in an array

Syntax
MATCH(lookup_value, lookup_array, [match_type])
Example
=MATCH("Apple", A1:A10, 0)

Returns position of "Apple" in range A1:A10

VBA Implementation
position = Application.WorksheetFunction.Match("Apple", Range("A1:A10"), 0)
Related Functions
INDEXVLOOKUPXLOOKUP

OFFSET

Lookup
Advanced

Returns a reference to a range that is offset from a starting cell

Syntax
OFFSET(reference, rows, cols, [height], [width])
Example
=OFFSET(A1, 2, 1, 3, 2)

Returns reference to B3:C5 (2 rows down, 1 column right from A1)

VBA Implementation
Set rng = Range("A1").Offset(2, 1).Resize(3, 2)
Related Functions
INDIRECTADDRESSINDEX

INDIRECT

Lookup
Advanced

Returns the reference specified by a text string

Syntax
INDIRECT(ref_text, [a1])
Example
=INDIRECT("A" & ROW())

Returns reference to cell in column A of current row

VBA Implementation
result = Range(Range("A1").Value).Value
Related Functions
OFFSETADDRESSCELL

CONCATENATE

Text
Beginner

Joins several text strings into one string

Syntax
CONCATENATE(text1, [text2], ...)
Example
=CONCATENATE("Hello", " ", "World")

Returns "Hello World"

VBA Implementation
result = "Hello" & " " & "World"
Related Functions
CONCATTEXTJOIN&

LEFT

Text
Beginner

Returns the leftmost characters from a text value

Syntax
LEFT(text, [num_chars])
Example
=LEFT("Excel", 3)

Returns "Exc"

VBA Implementation
result = Left("Excel", 3)
Related Functions
RIGHTMIDLEN

RIGHT

Text
Beginner

Returns the rightmost characters from a text value

Syntax
RIGHT(text, [num_chars])
Example
=RIGHT("Excel", 3)

Returns "cel"

VBA Implementation
result = Right("Excel", 3)
Related Functions
LEFTMIDLEN

MID

Text
Beginner

Returns a specific number of characters from a text string starting at the position you specify

Syntax
MID(text, start_num, num_chars)
Example
=MID("Excel", 2, 3)

Returns "xce"

VBA Implementation
result = Mid("Excel", 2, 3)
Related Functions
LEFTRIGHTLEN

LEN

Text
Beginner

Returns the number of characters in a text string

Syntax
LEN(text)
Example
=LEN("Excel")

Returns 5

VBA Implementation
result = Len("Excel")
Related Functions
LEFTRIGHTMID

UPPER

Text
Beginner

Converts text to uppercase

Syntax
UPPER(text)
Example
=UPPER("excel")

Returns "EXCEL"

VBA Implementation
result = UCase("excel")
Related Functions
LOWERPROPERTRIM

LOWER

Text
Beginner

Converts text to lowercase

Syntax
LOWER(text)
Example
=LOWER("EXCEL")

Returns "excel"

VBA Implementation
result = LCase("EXCEL")
Related Functions
UPPERPROPERTRIM

PROPER

Text
Beginner

Capitalizes the first letter in each word of a text value

Syntax
PROPER(text)
Example
=PROPER("john doe")

Returns "John Doe"

VBA Implementation
result = StrConv("john doe", vbProperCase)
Related Functions
UPPERLOWERTRIM

TRIM

Text
Beginner

Removes spaces from text except for single spaces between words

Syntax
TRIM(text)
Example
=TRIM(" Hello World ")

Returns "Hello World"

VBA Implementation
result = Trim(" Hello World ")
Related Functions
CLEANSUBSTITUTEREPLACE

SUBSTITUTE

Text
Intermediate

Substitutes new_text for old_text in a text string

Syntax
SUBSTITUTE(text, old_text, new_text, [instance_num])
Example
=SUBSTITUTE("Hello World", "World", "Excel")

Returns "Hello Excel"

VBA Implementation
result = Replace("Hello World", "World", "Excel")
Related Functions
REPLACEFINDSEARCH

FIND

Text
Intermediate

Finds one text string within another text string (case-sensitive)

Syntax
FIND(find_text, within_text, [start_num])
Example
=FIND("c", "Excel")

Returns 3

VBA Implementation
result = InStr("Excel", "c")
Related Functions
SEARCHSUBSTITUTEREPLACE

TODAY

Date & Time
Beginner

Returns the current date

Syntax
TODAY()
Example
=TODAY()

Returns current date (e.g., 12/25/2024)

VBA Implementation
Range("A1").Value = Date
Related Functions
NOWDATEYEARMONTHDAY

NOW

Date & Time
Beginner

Returns the current date and time

Syntax
NOW()
Example
=NOW()

Returns current date and time

VBA Implementation
Range("A1").Value = Now
Related Functions
TODAYTIMEHOURMINUTESECOND

DATE

Date & Time
Beginner

Returns the serial number of a particular date

Syntax
DATE(year, month, day)
Example
=DATE(2024, 12, 25)

Returns December 25, 2024

VBA Implementation
Range("A1").Value = DateSerial(2024, 12, 25)
Related Functions
TIMEYEARMONTHDAY

YEAR

Date & Time
Beginner

Returns the year corresponding to a date

Syntax
YEAR(serial_number)
Example
=YEAR(TODAY())

Returns current year (e.g., 2024)

VBA Implementation
result = Year(Date)
Related Functions
MONTHDAYDATETODAY

MONTH

Date & Time
Beginner

Returns the month corresponding to a date

Syntax
MONTH(serial_number)
Example
=MONTH(TODAY())

Returns current month (1-12)

VBA Implementation
result = Month(Date)
Related Functions
YEARDAYDATETODAY

DAY

Date & Time
Beginner

Returns the day of the month corresponding to a date

Syntax
DAY(serial_number)
Example
=DAY(TODAY())

Returns current day (1-31)

VBA Implementation
result = Day(Date)
Related Functions
YEARMONTHDATETODAY

WEEKDAY

Date & Time
Intermediate

Returns the day of the week corresponding to a date

Syntax
WEEKDAY(serial_number, [return_type])
Example
=WEEKDAY(TODAY())

Returns day of week (1=Sunday, 7=Saturday)

VBA Implementation
result = Weekday(Date)
Related Functions
WORKDAYNETWORKDAYSWEEKNUM

DATEDIF

Date & Time
Intermediate

Calculates the number of days, months, or years between two dates

Syntax
DATEDIF(start_date, end_date, unit)
Example
=DATEDIF(A1, B1, "Y")

Returns years between dates in A1 and B1

VBA Implementation
result = DateDiff("yyyy", Range("A1").Value, Range("B1").Value)
Related Functions
DAYSNETWORKDAYSWORKDAY

MEDIAN

Statistical
Beginner

Returns the median of the given numbers

Syntax
MEDIAN(number1, [number2], ...)
Example
=MEDIAN(A1:A10)

Returns middle value in A1:A10

VBA Implementation
result = Application.WorksheetFunction.Median(Range("A1:A10"))
Related Functions
AVERAGEMODEQUARTILE

MODE

Statistical
Intermediate

Returns the most common value in a data set

Syntax
MODE(number1, [number2], ...)
Example
=MODE(A1:A10)

Returns most frequently occurring value

VBA Implementation
result = Application.WorksheetFunction.Mode(Range("A1:A10"))
Related Functions
MEDIANAVERAGEFREQUENCY

STDEV

Statistical
Intermediate

Estimates standard deviation based on a sample

Syntax
STDEV(number1, [number2], ...)
Example
=STDEV(A1:A10)

Returns standard deviation of sample

VBA Implementation
result = Application.WorksheetFunction.StDev(Range("A1:A10"))
Related Functions
STDEVPVARVARP

CORREL

Statistical
Advanced

Returns the correlation coefficient between two data sets

Syntax
CORREL(array1, array2)
Example
=CORREL(A1:A10, B1:B10)

Returns correlation between two ranges

VBA Implementation
result = Application.WorksheetFunction.Correl(Range("A1:A10"), Range("B1:B10"))
Related Functions
COVARPEARSONRSQ

PMT

Financial
Intermediate

Calculates the payment for a loan based on constant payments and interest rate

Syntax
PMT(rate, nper, pv, [fv], [type])
Example
=PMT(5%/12, 60, 20000)

Returns monthly payment for $20,000 loan at 5% for 5 years

VBA Implementation
result = Pmt(0.05/12, 60, -20000)
Related Functions
PVFVRATENPER

PV

Financial
Intermediate

Returns the present value of an investment

Syntax
PV(rate, nper, pmt, [fv], [type])
Example
=PV(8%/12, 12*20, 1000)

Returns present value of annuity

VBA Implementation
result = PV(0.08/12, 12*20, -1000)
Related Functions
FVPMTRATENPV

FV

Financial
Intermediate

Returns the future value of an investment

Syntax
FV(rate, nper, pmt, [pv], [type])
Example
=FV(6%/12, 10*12, -100, -1000)

Returns future value of investment

VBA Implementation
result = FV(0.06/12, 10*12, -100, -1000)
Related Functions
PVPMTRATENPER

NPV

Financial
Advanced

Returns the net present value of an investment based on discount rate and cash flows

Syntax
NPV(rate, value1, [value2], ...)
Example
=NPV(10%, A1:A5)

Returns NPV of cash flows at 10% discount rate

VBA Implementation
result = Application.WorksheetFunction.NPV(0.1, Range("A1:A5"))
Related Functions
IRRXNPVXIRR

IRR

Financial
Advanced

Returns the internal rate of return for a series of cash flows

Syntax
IRR(values, [guess])
Example
=IRR(A1:A5)

Returns internal rate of return

VBA Implementation
result = Application.WorksheetFunction.IRR(Range("A1:A5"))
Related Functions
NPVXIRRMIRR

SUMIF

Database
Intermediate

Sums cells that meet a single criteria

Syntax
SUMIF(range, criteria, [sum_range])
Example
=SUMIF(A1:A10, ">5", B1:B10)

Sums values in B1:B10 where corresponding A values > 5

VBA Implementation
result = Application.WorksheetFunction.SumIf(Range("A1:A10"), ">5", Range("B1:B10"))
Related Functions
SUMIFSCOUNTIFAVERAGEIF

SUMIFS

Database
Intermediate

Sums cells that meet multiple criteria

Syntax
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2]...)
Example
=SUMIFS(C1:C10, A1:A10, "Product A", B1:B10, ">100")

Sums values where product is "Product A" and value > 100

VBA Implementation
result = Application.WorksheetFunction.SumIfs(Range("C1:C10"), Range("A1:A10"), "Product A", Range("B1:B10"), ">100")
Related Functions
SUMIFCOUNTIFSAVERAGEIFS

COUNTIF

Database
Beginner

Counts cells that meet a single criteria

Syntax
COUNTIF(range, criteria)
Example
=COUNTIF(A1:A10, ">5")

Counts cells in A1:A10 with values greater than 5

VBA Implementation
result = Application.WorksheetFunction.CountIf(Range("A1:A10"), ">5")
Related Functions
COUNTIFSSUMIFCOUNT

COUNTIFS

Database
Intermediate

Counts cells that meet multiple criteria

Syntax
COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]...)
Example
=COUNTIFS(A1:A10, "Product A", B1:B10, ">100")

Counts rows where product is "Product A" and value > 100

VBA Implementation
result = Application.WorksheetFunction.CountIfs(Range("A1:A10"), "Product A", Range("B1:B10"), ">100")
Related Functions
COUNTIFSUMIFSAVERAGEIFS

AVERAGEIF

Database
Intermediate

Returns the average of cells that meet a single criteria

Syntax
AVERAGEIF(range, criteria, [average_range])
Example
=AVERAGEIF(A1:A10, ">5", B1:B10)

Averages values in B1:B10 where corresponding A values > 5

VBA Implementation
result = Application.WorksheetFunction.AverageIf(Range("A1:A10"), ">5", Range("B1:B10"))
Related Functions
AVERAGEIFSSUMIFCOUNTIF

AVERAGEIFS

Database
Intermediate

Returns the average of cells that meet multiple criteria

Syntax
AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2]...)
Example
=AVERAGEIFS(C1:C10, A1:A10, "Product A", B1:B10, ">100")

Averages values where product is "Product A" and value > 100

VBA Implementation
result = Application.WorksheetFunction.AverageIfs(Range("C1:C10"), Range("A1:A10"), "Product A", Range("B1:B10"), ">100")
Related Functions
AVERAGEIFSUMIFSCOUNTIFS

ISBLANK

Information
Beginner

Returns TRUE if value is blank

Syntax
ISBLANK(value)
Example
=ISBLANK(A1)

Returns TRUE if A1 is empty

VBA Implementation
result = IsEmpty(Range("A1").Value)
Related Functions
ISNUMBERISTEXTISERROR

ISNUMBER

Information
Beginner

Returns TRUE if value is a number

Syntax
ISNUMBER(value)
Example
=ISNUMBER(A1)

Returns TRUE if A1 contains a number

VBA Implementation
result = IsNumeric(Range("A1").Value)
Related Functions
ISTEXTISBLANKISERROR

ISTEXT

Information
Beginner

Returns TRUE if value is text

Syntax
ISTEXT(value)
Example
=ISTEXT(A1)

Returns TRUE if A1 contains text

VBA Implementation
result = VarType(Range("A1").Value) = vbString
Related Functions
ISNUMBERISBLANKISERROR

ISERROR

Information
Beginner

Returns TRUE if value is an error

Syntax
ISERROR(value)
Example
=ISERROR(A1)

Returns TRUE if A1 contains an error

VBA Implementation
result = IsError(Range("A1").Value)
Related Functions
IFERRORISNAERROR.TYPE

IFERROR

Information
Intermediate

Returns a value you specify if a formula evaluates to an error

Syntax
IFERROR(value, value_if_error)
Example
=IFERROR(A1/B1, "Division Error")

Returns result of A1/B1 or "Division Error" if error occurs

VBA Implementation
On Error Resume Next: result = Range("A1").Value / Range("B1").Value: If Err.Number <> 0 Then result = "Division Error"
Related Functions
ISERRORIFNAERROR.TYPE

FILTER

Array
Advanced

Filters a range of data based on criteria you define

Syntax
FILTER(array, include, [if_empty])
Example
=FILTER(A1:C10, B1:B10>100)

Returns rows where column B value > 100

VBA Implementation
Use AutoFilter or loop through data with conditions
Related Functions
SORTUNIQUESORTBY

SORT

Array
Advanced

Sorts the contents of a range or array

Syntax
SORT(array, [sort_index], [sort_order], [by_col])
Example
=SORT(A1:C10, 2, -1)

Sorts data by column 2 in descending order

VBA Implementation
Range("A1:C10").Sort Key1:=Range("B1"), Order1:=xlDescending
Related Functions
SORTBYFILTERUNIQUE

UNIQUE

Array
Advanced

Returns a list of unique values in a list or range

Syntax
UNIQUE(array, [by_col], [exactly_once])
Example
=UNIQUE(A1:A10)

Returns unique values from A1:A10

VBA Implementation
Use Dictionary object or Advanced Filter with Unique Records Only
Related Functions
FILTERSORTFREQUENCY

SEQUENCE

Array
Advanced

Generates a list of sequential numbers in an array

Syntax
SEQUENCE(rows, [columns], [start], [step])
Example
=SEQUENCE(5, 1, 10, 2)

Returns array: 10, 12, 14, 16, 18

VBA Implementation
Use For loop to generate sequence
Related Functions
RANDARRAYTRANSPOSE

RANDARRAY

Array
Advanced

Returns an array of random numbers

Syntax
RANDARRAY([rows], [columns], [min], [max], [whole_number])
Example
=RANDARRAY(5, 2, 1, 100, TRUE)

Returns 5x2 array of random integers between 1-100

VBA Implementation
Use Rnd function in loops to generate random arrays
Related Functions
RANDRANDBETWEENSEQUENCE

CONVERT

Engineering
Intermediate

Converts a number from one measurement system to another

Syntax
CONVERT(number, from_unit, to_unit)
Example
=CONVERT(100, "C", "F")

Converts 100 Celsius to Fahrenheit (212)

VBA Implementation
result = Application.WorksheetFunction.Convert(100, "C", "F")
Related Functions
DECIMALHEX2DECBIN2DEC

WEBSERVICE

Web
Advanced

Returns data from a web service

Syntax
WEBSERVICE(url)
Example
=WEBSERVICE("http://api.example.com/data")

Returns data from web API

VBA Implementation
Use XMLHttpRequest object to call web services
Related Functions
FILTERXMLENCODEURL

CUBEVALUE

Cube
Advanced

Returns an aggregated value from a cube

Syntax
CUBEVALUE(connection, [member_expression1], [member_expression2], ...)
Example
=CUBEVALUE("Sales", "[Measures].[Sales Amount]")

Returns aggregated value from OLAP cube

VBA Implementation
Use OLAP objects in VBA
Related Functions
CUBEMEMBERCUBESETCUBERANKEDMEMBER

SIN

Math Advanced
Intermediate

Returns the sine of an angle

Syntax
SIN(number)
Example
=SIN(PI()/2)

Returns 1

VBA Implementation
result = Sin(3.14159/2)
Related Functions
COSTANASIN

COS

Math Advanced
Intermediate

Returns the cosine of an angle

Syntax
COS(number)
Example
=COS(0)

Returns 1

VBA Implementation
result = Cos(0)
Related Functions
SINTANACOS

TAN

Math Advanced
Intermediate

Returns the tangent of an angle

Syntax
TAN(number)
Example
=TAN(PI()/4)

Returns 1

VBA Implementation
result = Tan(3.14159/4)
Related Functions
SINCOSATAN

EXP

Math Advanced
Intermediate

Returns e raised to the power of a number

Syntax
EXP(number)
Example
=EXP(1)

Returns 2.71828

VBA Implementation
result = Exp(1)
Related Functions
LNLOGPOWER

LN

Math Advanced
Intermediate

Returns the natural logarithm of a number

Syntax
LN(number)
Example
=LN(2.71828)

Returns 1

VBA Implementation
result = Log(2.71828)
Related Functions
LOGLOG10EXP

STDEVP

Statistical Advanced
Intermediate

Calculates standard deviation based on the entire population

Syntax
STDEVP(number1, [number2], ...)
Example
=STDEVP(A1:A10)

Returns population standard deviation

VBA Implementation
result = Application.WorksheetFunction.StDevP(Range("A1:A10"))
Related Functions
STDEVVARVARP

QUARTILE

Statistical Advanced
Intermediate

Returns the quartile of a data set

Syntax
QUARTILE(array, quart)
Example
=QUARTILE(A1:A10, 1)

Returns first quartile

VBA Implementation
result = Application.WorksheetFunction.Quartile(Range("A1:A10"), 1)
Related Functions
PERCENTILERANKLARGE

LARGE

Statistical Advanced
Intermediate

Returns the k-th largest value in a data set

Syntax
LARGE(array, k)
Example
=LARGE(A1:A10, 3)

Returns 3rd largest value

VBA Implementation
result = Application.WorksheetFunction.Large(Range("A1:A10"), 3)
Related Functions
SMALLRANKQUARTILE

SMALL

Statistical Advanced
Intermediate

Returns the k-th smallest value in a data set

Syntax
SMALL(array, k)
Example
=SMALL(A1:A10, 2)

Returns 2nd smallest value

VBA Implementation
result = Application.WorksheetFunction.Small(Range("A1:A10"), 2)
Related Functions
LARGERANKQUARTILE

TEXTJOIN

Text Advanced
Intermediate

Joins text from multiple ranges with a delimiter

Syntax
TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Example
=TEXTJOIN(", ", TRUE, A1:A3)

Joins text with comma separator

VBA Implementation
result = Join(Array("A", "B", "C"), ", ")
Related Functions
CONCATENATECONCAT&

CONCAT

Text Advanced
Beginner

Joins text from multiple ranges

Syntax
CONCAT(text1, [text2], ...)
Example
=CONCAT(A1, B1, C1)

Joins text without separator

VBA Implementation
result = A1 & B1 & C1
Related Functions
CONCATENATETEXTJOIN&

REPLACE

Text Advanced
Intermediate

Replaces characters within text

Syntax
REPLACE(old_text, start_num, num_chars, new_text)
Example
=REPLACE("Hello", 2, 3, "i")

Returns "Hi"

VBA Implementation
result = Replace("Hello", "ell", "i")
Related Functions
SUBSTITUTEFINDSEARCH

SEARCH

Text Advanced
Intermediate

Finds one text string within another (case-insensitive)

Syntax
SEARCH(find_text, within_text, [start_num])
Example
=SEARCH("e", "Excel")

Returns 2

VBA Implementation
result = InStr(1, "Excel", "e")
Related Functions
FINDSUBSTITUTEREPLACE

TIME

Date Advanced
Intermediate

Returns the decimal number for a particular time

Syntax
TIME(hour, minute, second)
Example
=TIME(14, 30, 0)

Returns 2:30:00 PM

VBA Implementation
result = TimeSerial(14, 30, 0)
Related Functions
HOURMINUTESECOND

HOUR

Date Advanced
Intermediate

Returns the hour as a number from 0 to 23

Syntax
HOUR(serial_number)
Example
=HOUR(NOW())

Returns current hour

VBA Implementation
result = Hour(Now)
Related Functions
MINUTESECONDTIME

WORKDAY

Date Advanced
Intermediate

Returns the serial number of the date before or after a specified number of workdays

Syntax
WORKDAY(start_date, days, [holidays])
Example
=WORKDAY(A1, 5)

Returns date 5 workdays later

VBA Implementation
result = Application.WorksheetFunction.WorkDay(Range("A1"), 5)
Related Functions
NETWORKDAYSTODAYDATE

NETWORKDAYS

Date Advanced
Intermediate

Returns the number of whole workdays between two dates

Syntax
NETWORKDAYS(start_date, end_date, [holidays])
Example
=NETWORKDAYS(A1, B1)

Returns number of workdays

VBA Implementation
result = Application.WorksheetFunction.NetworkDays(Range("A1"), Range("B1"))
Related Functions
WORKDAYTODAYDATE

RATE

Financial Advanced
Advanced

Returns the interest rate per period of an annuity

Syntax
RATE(nper, pmt, pv, [fv], [type], [guess])
Example
=RATE(60, -1000, 50000)

Returns monthly interest rate

VBA Implementation
result = Rate(60, -1000, 50000)
Related Functions
PMTPVFVNPER

NPER

Financial Advanced
Advanced

Returns the number of periods for an investment

Syntax
NPER(rate, pmt, pv, [fv], [type])
Example
=NPER(0.05/12, -1000, 50000)

Returns number of payment periods

VBA Implementation
result = NPer(0.05/12, -1000, 50000)
Related Functions
PMTPVFVRATE

IPMT

Financial Advanced
Advanced

Returns the interest payment for a given period

Syntax
IPMT(rate, per, nper, pv, [fv], [type])
Example
=IPMT(0.05/12, 1, 60, 50000)

Returns interest portion of payment

VBA Implementation
result = IPmt(0.05/12, 1, 60, 50000)
Related Functions
PMTPPMTPVFV

PPMT

Financial Advanced
Advanced

Returns the principal payment for a given period

Syntax
PPMT(rate, per, nper, pv, [fv], [type])
Example
=PPMT(0.05/12, 1, 60, 50000)

Returns principal portion of payment

VBA Implementation
result = PPmt(0.05/12, 1, 60, 50000)
Related Functions
PMTIPMTPVFV

CHOOSE

Lookup Advanced
Intermediate

Uses an index to return a value from a list of values

Syntax
CHOOSE(index_num, value1, [value2], ...)
Example
=CHOOSE(2, "A", "B", "C")

Returns "B"

VBA Implementation
result = Choose(2, "A", "B", "C")
Related Functions
INDEXMATCHVLOOKUP

SWITCH

Lookup Advanced
Advanced

Evaluates an expression against a list of values and returns the result corresponding to the first matching value

Syntax
SWITCH(expression, value1, result1, [default_or_value2, result2], ...)
Example
=SWITCH(A1, 1, "One", 2, "Two", "Other")

Returns corresponding text

VBA Implementation
Select Case A1: Case 1: result = "One": Case 2: result = "Two"
Related Functions
IFIFSCHOOSE

ADDRESS

Lookup Advanced
Advanced

Returns a reference as text to a single cell in a worksheet

Syntax
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
Example
=ADDRESS(1, 1)

Returns "$A$1"

VBA Implementation
result = Cells(1, 1).Address
Related Functions
INDIRECTROWCOLUMN

COLUMN

Lookup Advanced
Intermediate

Returns the column number of a reference

Syntax
COLUMN([reference])
Example
=COLUMN(A1)

Returns 1

VBA Implementation
result = Range("A1").Column
Related Functions
ROWADDRESSINDIRECT

ROW

Lookup Advanced
Intermediate

Returns the row number of a reference

Syntax
ROW([reference])
Example
=ROW(A1)

Returns 1

VBA Implementation
result = Range("A1").Row
Related Functions
COLUMNADDRESSINDIRECT

HSTACK

Array Advanced
Advanced

Appends arrays horizontally and in sequence to return a larger array

Syntax
HSTACK(array1, [array2], ...)
Example
=HSTACK(A1:A3, B1:B3)

Returns combined horizontal array

VBA Implementation
Use array concatenation in VBA
Related Functions
VSTACKTRANSPOSEFILTER

VSTACK

Array Advanced
Advanced

Appends arrays vertically and in sequence to return a larger array

Syntax
VSTACK(array1, [array2], ...)
Example
=VSTACK(A1:C1, A2:C2)

Returns combined vertical array

VBA Implementation
Use array concatenation in VBA
Related Functions
HSTACKTRANSPOSEFILTER

LAMBDA

Array Advanced
Advanced

Creates custom, reusable functions and call them by a friendly name

Syntax
LAMBDA([parameter1, parameter2, …], calculation)
Example
=LAMBDA(x, x^2)(5)

Returns 25

VBA Implementation
Create custom VBA functions
Related Functions
LETMAPREDUCE

LET

Array Advanced
Advanced

Assigns names to calculation results

Syntax
LET(name1, name_value1, [name2, name_value2], ..., calculation)
Example
=LET(x, A1, y, B1, x+y)

Returns sum of A1 and B1

VBA Implementation
Use variables in VBA
Related Functions
LAMBDAMAPREDUCE

Most Popular

SUM
IF
VLOOKUP
COUNTIF
AVERAGE

Advanced Features

XLOOKUP
FILTER
SORT
UNIQUE
SEQUENCE

Financial Analysis

PMT
PV
FV
NPV
IRR

Data Analysis

SUMIFS
COUNTIFS
AVERAGEIFS
PIVOT
SUBTOTAL

Master Excel Functions by Category

Math & Statistical

Perform calculations and statistical analysis

25 functions

Lookup & Reference

Find and retrieve data from tables

15 functions

Text & Information

Manipulate text and get data information

20 functions

Date & Time

Work with dates, times, and periods

12 functions

Financial

Calculate loans, investments, and returns

10 functions

Advanced Arrays

Modern dynamic array functions

8 functions