Excel Functions List

Learn about 172 Excel Functions.

FunctionDescriptionSyntax
Logical
ANDChecks whether all conditions are met. TRUE/FALSEAND(logical1,logical2)
IFIf condition is met, do something, if not, do something else.IF(logical_test,value_if_true,value_if_false)
IFERRORIf result is an error then do something else.IFERROR(VALUE,value_if_error)
NOTChanges TRUE to FALSE and FALSE to TRUE.NOT(logical)
ORChecks whether any conditions are met. TRUE/FALSEOR(logical1,logical2)
XORChecks whether one and only one condition is met. TRUE/FALSEXOR(logical1,logical2)
Lookup & Reference
FALSEThe logical value: FALSE.FALSE
TRUEThe logical value: TRUE.TRUE
ADDRESSReturns a cell address as text.ADDRESS(row_num,column_num,abs_num,C1,sheet_text)
AREASReturns the number of areas in a reference.AREAS(reference)
CHOOSEChooses a value from a list based on it's position number.CHOOSE(index_num,value1,value2)
COLUMNReturns the column number of a cell reference.COLUMN(reference)
COLUMNSReturns the number of columns in an array.COLUMNS(array)
HLOOKUPLookup a value in the first row and return a value.HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
HYPERLINKCreates a clickable link.HYPERLINK(link_location,friendly_name)
INDEXReturns a value based on it's column and row numbers.INDEX(array,row_num,column_num)
INDIRECTCreates a cell reference from text.INDIRECT(ref_text,C1)
LOOKUPLooks up values either horizontally or vertically.LOOKUP(lookup_value,lookup_vector,result_vector)
MATCHSearches for a value in a list and returns its position.MATCH(lookup_value,lookup_array,match_type)
OFFSETCreates a reference offset from a starting point.OFFSET(reference,rows,cols,height,width)
ROWReturns the row number of a cell reference.ROW(reference)
ROWSReturns the number of rows in an array.ROWS(array)
TRANSPOSEFlips the oriention of a range of cells.TRANSPOSE(array)
VLOOKUPLookup a value in the first column and return a value.VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Date & Time
DATEReturns a date from year, month, and day.DATE(year,month,day)
DATEDIFNumber of days, months or years between two dates.DATEDIF
DATEVALUEConverts a date stored as text into a valid dateDATEVALUE(date_text)
DAYReturns the day as a number (1-31).DAY(serial_number)
DAYSReturns the number of days between two dates.DAYS(end_date,start_date)
DAYS360Returns days between 2 dates in a 360 day year.DAYS360(start_date,end_date,method)
EDATEReturns a date, n months away from a start date.EDATE(start_date,months)
EOMONTHReturns the last day of the month, n months away date.EOMONTH(start_date,months)
HOURReturns the hour as a number (0-23).HOUR(serial_number)
MINUTEReturns the minute as a number (0-59).MINUTE(serial_number)
MONTHReturns the month as a number (1-12).MONTH(serial_number)
NETWORKDAYSNumber of working days between 2 dates.NETWORKDAYS(start_date,end_date,holidays)
NETWORKDAYS.INTLWorking days between 2 dates, custom weekends. NETWORKDAYS.INTL(start_date,end_date,weekend,holidays)
NOWReturns the current date and time.NOW()
SECONDReturns the second as a number (0-59)SECOND(serial_number)
TIMEReturns the time from a hour, minute, and second.TIME(hour,minute,second)
TIMEVALUEConverts a time stored as text into a valid time.TIMEVALUE(time_text)
TODAYReturns the current date.TODAY()
WEEKDAYReturns the day of the week as a number (1-7).WEEKDAY(serial_number,return_type)
WEEKNUMReturns the week number in a year (1-52).WEEKNUM(serial_number,return_type)
WORKDAYThe date n working days from a date.WORKDAY(start_date,days,holidays)
WORKDAY.INTLThe date n working days from a date, custom weekends.WORKDAY.INTL(start_date,days,weekend,holidays)
YEARReturns the year.YEAR(serial_number)
YEARFRACReturns the fraction of a year between 2 dates.YEARFRAC(start_date,end_date,basis)
Engineering
CONVERTConvert number from one unit to another.CONVERT(number,from_unit,to_unit)
Financial
FVCalculates the future value.FV(rate,nper,pmt,pv,type)
PVCalculates the present value.PV(rate,nper,pmt,fv,type)
NPERCalculates the total number of payment periods.NPER(rate,pmt,pv,fv,type)
PMTCalculates the payment amount.PMT(rate,nper,pv,fv,type)
RATECalculates the interest Rate.RATE(nper,pmt,pv,fv,type,guess)
NPVCalculates the net present value.NPV(rate,value1,value2)
IRRThe internal rate of return for a set of periodic CFs.IRR(values,guess)
XIRRThe internal rate of return for a set of non-periodic CFs.XIRR(values,dates,guess)
PRICECalculates the price of a bond.PRICE(settlement,maturity,rate,yld,redemption,FREQUENCY,basis)
YIELDCalculates the bond yield.YIELD(settlement,maturity,rate,pr,redemption,FREQUENCY,basis)
INTRATEThe interest rate of a fully invested security.INTRATE(settlement,maturity,investment,redemption,basis)
Information
CELLReturns information about a cell.CELL(info_type,reference)
ERROR.TYPEReturns a value representing the cell error.ERROR.TYPE(error_val)
ISBLANKTest if cell is blank. TRUE/FALSEISBLANK(VALUE)
ISERRTest if cell value is an error, ignores #N/A. TRUE/FALSEISERR(VALUE)
ISERRORTest if cell value is an error. TRUE/FALSEISERROR(VALUE)
ISEVENTest if cell value is even. TRUE/FALSEISEVEN(number)
ISFORMULATest if cell is a formula. TRUE/FALSEISFORMULA(reference)
ISLOGICALTest if cell is logical (TRUE or FALSE). TRUE/FALSEISLOGICAL(VALUE)
ISNATest if cell value is #N/A. TRUE/FALSEISNA(VALUE)
ISNONTEXTTest if cell is not text (blank cells are not text). TRUE/FALSEISNONTEXT(VALUE)
ISNUMBERTest if cell is a number. TRUE/FALSEISNUMBER(VALUE)
ISODDTest if cell value is odd. TRUE/FALSEISODD(number)
ISREFTest if cell value is a reference. TRUE/FALSEISREF(VALUE)
ISTEXTTest if cell is text. TRUE/FALSEISTEXT(VALUE)
NConverts a value to a number.N(VALUE)
NAReturns the error: #N/A.NA()
TYPEReturns the type of value in a cell.TYPE(VALUE)
Math
ABSCalculates the absolute value of a number.ABS(number)
AGGREGATEDefine and perform calculations for a database or a list.AGGREGATE(function_num,options,array,k)
CEILINGRounds a number up, to the nearest specified multiple.CEILING(number,significance)
COSReturns the cosine of an angle.COS(number)
DEGREESConverts radians to degrees.DEGREES(angle)
DSUMSums database records that meet certain criteria.DSUM(database,field,criteria)
EVENRounds to the nearest even integer.EVEN(number)
EXPCalculates the exponential value for a given number.EXP(number)
FACTReturns the factorial.FACT(number)
FLOORRounds a number down, to the nearest specified multiple.FLOOR(number,significance)
GCDReturns the greatest common divisor.GCD(number1,number2)
INTRounds a number down to the nearest integer.INT(number)
LCMReturns the least common multiple.LCM(number1,number2)
LNReturns the natural logarithm of a number.LN(number)
LOGReturns the logarithm of a number to a specified base.LOG(number,base)
LOG10Returns the base-10 logarithm of a number.LOG10(number)
MODReturns the remainder after dividing.MOD(number,divisor)
MROUNDRounds a number to a specified multiple.MROUND(number,multiple)
ODDRounds to the nearest odd integer.ODD(number)
PIThe value of PI.PI()
POWERCalculates a number raised to a power.POWER(number,power)
PRODUCTMultiplies an array of numbers.PRODUCT(number1,number2)
QUOTIENTReturns the integer result of division.QUOTIENT(numerator,denominator)
RADIANSConverts an angle into radians.RADIANS(angle)
RANDCalculates a random number between 0 and 1.RAND()
RANDBETWEENCalculates a random number between two numbers.RANDBETWEEN(bottom,top)
ROUNDRounds a number to a specified number of digits.ROUND(number,num_digits)
ROUNDDOWNRounds a number down (towards zero).ROUNDDOWN(number,num_digits)
ROUNDUPRounds a number up (away from zero).ROUNDUP(number,num_digits)
SIGNReturns the sign of a number.SIGN(number)
SINReturns the sine of an angle.SIN(number)
SQRTCalculates the square root of a number.SQRT(number)
SUBTOTALReturns a summary statistic for a series of data.SUBTOTAL(function_num,REH1)
SUMAdds numbers together.SUM(number1,number2)
SUMIFSums numbers that meet a criteria.SUMIF(range,criteria,sum_range)
SUMIFSSums numbers that meet multiple criteria.SUMIFS(sum_range,criteria_range,criteria)
SUMPRODUCTMultiplies arrays of numbers and sums the resultant array.SUMPRODUCT(array1,array2,array3)
TANReturns the tangent of an angle.TAN(number)
TRUNCTruncates a number to a specific number of digits.TRUNC(number,num_digits)
Stats
AVERAGEAverages numbers.AVERAGE(number1,number2)
AVERAGEAAverages numbers. Includes text & FALSE =0, TRUE =1.AVERAGEA(value1,value2)
AVERAGEIFAverages numbers that meet a criteria.AVERAGEIF(range,criteria,average_range)
AVERAGEIFSAverages numbers that meet multiple criteria.AVERAGEIFS(average_range,criteria_range,criteria)
CORRELCalculates the correlation of two series.CORREL(array1,array2)
COUNTCounts cells that contain a number.COUNT(value1,value2)
COUNTACount cells that are non-blank.COUNTA(value1,value2)
COUNTBLANKCounts cells that are blank.COUNTBLANK(range)
COUNTIFCounts cells that meet a criteria.COUNTIF(range,criteria)
COUNTIFSCounts cells that meet multiple criteria.COUNTIFS(criteria_range,criteria)
FORECASTPredict future y-values from linear trend line.FORECAST(x,known_y's,known_x's)
FREQUENCYCounts values that fall within specified ranges.FREQUENCY(data_array,bins_array)
GROWTHCalculates Y values based on exponential growth.GROWTH(known_ys,known_x,new_x,const)
INTERCEPTCalculates the Y intercept for a best-fit line.INTERCEPT(known_ys,known_xs)
LARGEReturns the kth largest value.LARGE(array,k)
LINESTReturns statistics about a trendline.LINEST(known_ys,known_xs,const,stats)
MAXReturns the largest number.MAX(number1,number2)
MEDIANReturns the median number.MEDIAN(number1,number2)
MINReturns the smallest number.MIN(number1,number2)
MODEReturns the most common number.MODE(number1,number2)
PERCENTILEReturns the kth percentile.PERCENTILE(array,k)
PERCENTILE.INCReturns the kth percentile. Where k is inclusive.PERCENTILE.INC(array,k)
PERCENTILE.EXCReturns the kth percentile. Where k is exclusive.PERCENTILE.EXC(array,k)
QUARTILEReturns the specified quartile value.QUARTILE(array,quart)
QUARTILE.INCReturns the specified quartile value. Inclusive.QUARTILE.INC(array,quart)
QUARTILE.EXCReturns the specified quartile value. Exclusive.QUARTILE.EXC(array,quart)
RANKRank of a number within a series.RANK(number,ref,order)
RANK.AVGRank of a number within a series. Averages.RANK.AVG(number,ref,order)
RANK.EQRank of a number within a series. Top Rank.RANK.EQ(number,ref,order)
SLOPECalculates the slope from linear regression.SLOPE(known_ys,known_xs)
SMALLReturns the kth smallest value.SMALL(array,k)
STDEVCalculates the standard deviation.STDEV(number1,number2)
STDEV.PCalculates the SD of an entire population.STDEV.P(number1,number2)
STDEV.SCalculates the SD of a sample.STDEV.S(number1,number2)
STDEVPCalculates the SD of an entire populationSTDEVP(number1,number2)
TRENDCalculates Y values based on a trendline.TREND(known_ys,known_xs,new_xs,const)
Text
CHARReturns a character specified by a code.CHAR(number)
CLEANRemoves all non-printable characters.CLEAN(text)
CODEReturns the numeric code for a character.CODE(text)
CONCATENATECombines text together.CONCATENATE(text1,text2)
DOLLARConverts a number to text in currency format.DOLLAR(number,decimals)
EXACTTest if cells are exactly equal. Case-sensitive. TRUE/FALSEEXACT(text1,text2)
FINDLocates position of text within a cell.Case-sensitive.FIND(find_text,within_text,start_num)
LEFTTruncates text a number of characters from the left.LEFT(text,num_chars)
LENCounts number of characters in text.LEN(text)
LOWERConverts text to lower case.LOWER(text)
MIDExtracts text from the middle of a cell.MID(text,start_num,num_chars)
PROPERConverts text to proper case.PROPER(text)
REPLACEReplaces text based on it's location.REPLACE(old_text,start_num,num_chars,new_text)
REPTRepeats text a number of times.REPT(text,number_times)
RIGHTTruncates text a number of characters from the right.RIGHT(text,num_chars)
SEARCHLocates position of text within a cell.Not Case-sensitive.SEARCH(find_text,within_text,start_num)
SUBSTITUTEFinds and replaces text. Case-sensitive.SUBSTITUTE(text,old_text,new_text,instance_num)
TEXTConverts a value into text with a specific number format.TEXT(VALUE,format_text)
TRIMRemoves all extra spaces from text.TRIM(text)
UPPERConverts text to upper case.UPPER(text)
VALUEConverts a number stored as text into a number.VALUE(text)