Creating a comprehensive list of 100 Excel formulas tailored for finance is an excellent resource for professionals, students, and enthusiasts looking to enhance their financial analysis skills. This list can form the backbone of a valuable eBook, providing practical tools for a wide range of financial tasks, from basic calculations to complex financial modeling. Here’s a curated list of 100 Excel formulas and functions essential for finance, categorized for ease of understanding and application.
Excel for Finance Formula
Basic Arithmetic and Statistical Functions
SUM(range)
– Adds up a range of cells.AVERAGE(range)
– Calculates the average of a range of cells.MEDIAN(range)
– Finds the median value in a range.MIN(range)
– Identifies the minimum value in a range.MAX(range)
– Identifies the maximum value in a range.COUNT(range)
– Counts the number of cells with numerical data in a range.COUNTA(range)
– Counts the number of non-empty cells in a range.
Financial Functions
PV(rate, nper, pmt)
– Calculates the present value of an investment.FV(rate, nper, pmt)
– Calculates the future value of an investment.NPV(rate, value1, [value2], ...)
– Calculates the net present value of an investment based on a discount rate and a series of future payments and income.IRR(values)
– Returns the internal rate of return for a series of cash flows.XIRR(values, dates)
– Returns the internal rate of return for a schedule of cash flows that are not necessarily periodic.PMT(rate, nper, pv)
– Calculates the payment for a loan based on constant payments and a constant interest rate.PPMT(rate, per, nper, pv)
– Calculates the payment on the principal for a given period for an investment based on periodic, constant payments and a constant interest rate.IPMT(rate, per, nper, pv)
– Calculates the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate.RATE(nper, pmt, pv, [fv], [type], [guess])
– Calculates the interest rate per period of an annuity.NPER(rate, pmt, pv, [fv], [type])
– Returns the number of periods for an investment based on periodic, constant payments and a constant interest rate.SLN(cost, salvage, life)
– Calculates the straight-line depreciation of an asset for one period.DB(cost, salvage, life, period, [month])
– Calculates the depreciation of an asset for a specified period using the fixed-declining balance method.DDB(cost, salvage, life, period, [factor])
– Calculates the depreciation of an asset for a specified period using the double-declining balance method.
Lookup & Reference Functions
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
– Searches for a value in the first column of a table and returns a value in the same row from a specified column.HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
– Searches for a value in the first row of a table and returns a value in the same column from a specified row.INDEX(array, row_num, [column_num])
– Returns the value of a specified cell or array of cells in a table.MATCH(lookup_value, lookup_array, [match_type])
– Searches for a specified item in a range of cells, and then returns the relative position of that item.XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
– Searches a range or an array, and returns an item corresponding to the first match it finds.
Date and Time Functions
TODAY()
– Returns the current date.NOW()
– Returns the current date and time.DATE(year, month, day)
– Returns the specified date.DATEDIF(start_date, end_date, "unit")
– Calculates the difference between two dates.EDATE(start_date, months)
– Returns the date that is a specified number of months before or after the start date.EOMONTH(start_date, months)
– Returns the last day of the month that is a specified number of months before or after the start date.YEARFRAC(start_date, end_date, [basis])
– Returns the year fraction representing the number of whole days between start_date and end_date.
Text Functions
CONCATENATE(text1, [text2], ...)
– Joins two or more text strings into one string.TEXT(value, format_text)
– Formats a number and converts it to text.LEFT(text, [num_chars])
– Returns the leftmost characters from a text value.RIGHT(text, [num_chars])
– Returns the rightmost characters from a text value.MID(text, start_num, num_chars)
– Returns a specific number of characters from a text string starting at the position you specify.LOWER(text)
– Converts all letters in a text string to lowercase.UPPER(text)
– Converts all letters in a text string to uppercase.PROPER(text)
– Capitalizes the first letter in each word of a text string.TRIM(text)
– Removes extra spaces from a text string.
Logical Functions
IF(logical_test, [value_if_true], [value_if_false])
– Performs a logical test and returns one value for a TRUE result, and another for a FALSE result.AND(logical1, [logical2], ...)
– Returns TRUE if all of its arguments are TRUE; otherwise, returns FALSE.OR(logical1, [logical2], ...)
– Returns TRUE if any argument is TRUE; otherwise, returns FALSE.NOT(logical)
– Reverses the logic of its argument.IFERROR(value, value_if_error)
– Returns a specified value if the formula evaluates to an error; otherwise, returns the result of the formula.IFS(conditions)
– Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.
Data Analysis Functions
SUMIF(range, criteria, [sum_range])
– Adds the cells specified by a given condition or criteria.SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
– Adds the cells in a range that meet multiple criteria.COUNTIF(range, criteria)
– Counts the number of cells that meet a criterion; for example, to count the number of times a particular city appears in a customer list.COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
– Counts the number of cells that meet multiple criteria.AVERAGEIF(range, criteria, [average_range])
– Calculates the average of all the cells in a range that meet a given criterion.AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
– Calculates the average of all cells that meet multiple criteria.MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
– Returns the maximum value among cells specified by a given set of conditions or criteria.MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
– Returns the minimum value among cells specified by a given set of conditions or criteria.
Advanced Financial Functions
XNPV(rate, values, dates)
– Returns the net present value for a schedule of cash flows that is not necessarily periodic.XIRR(values, dates)
– Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic.AMORDEGRC(cost, date_purchased, first_period, salvage, period, rate, [basis])
– Returns the prorated linear depreciation of an asset for each accounting period.AMORLINC(cost, date_purchased, first_period, salvage, period, rate, [basis])
– Returns the depreciation for each accounting period by using a depreciation coefficient.CUMIPMT(rate, nper, pv, start_period, end_period, type)
– Returns the cumulative interest paid between two periods.CUMPRINC(rate, nper, pv, start_period, end_period, type)
– Returns the cumulative principal paid on a loan between two periods.DB(cost, salvage, life, period, [month])
– Returns the depreciation of an asset for a specified period using the fixed-declining balance method.DDB(cost, salvage, life, period, [factor])
– Calculates the depreciation of an asset for a specified period using the double-declining balance method.SYD(cost, salvage, life, per)
– Returns the sum-of-years’ digits depreciation of an asset for a specified period.FVSCHEDULE(principal, schedule)
– Returns the future value of an initial principal after applying a series of compound interest rates.INTRATE(settlement, maturity, investment, redemption, [basis])
– Returns the interest rate for a fully invested security.MDURATION(settlement, maturity, coupon, yld, frequency, [basis])
– Returns the Macauley modified duration for a security with an assumed par value of $100.ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])
– Returns the price per $100 face value of a security with an odd first period.ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])
– Returns the yield of a security with an odd first period.ODDLPRICE(settlement, maturity, last_interest, rate, yld, redemption, frequency, [basis])
– Returns the price per $100 face value of a security with an odd last period.ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency, [basis])
– Returns the yield of a security with an odd last period.PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis])
– Returns the price per $100 face value of a security that pays periodic interest.PRICEDISC(settlement, maturity, discount, redemption, [basis])
– Returns the price per $100 face value of a discounted security.PRICEMAT(settlement, maturity, issue, rate, yld, [basis])
– Returns the price per $100 face value of a security that pays interest at maturity.RECEIVED(settlement, maturity, investment, discount, [basis])
– Returns the amount received at maturity for a fully invested security.TBILLEQ(settlement, maturity, discount)
– Returns the bond-equivalent yield for a Treasury bill.TBILLPRICE(settlement, maturity, discount)
– Returns the price per $100 face value for a Treasury bill.TBILLYIELD(settlement, maturity, pr)
– Returns the yield for a Treasury bill.YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])
– Returns the yield on a security that pays periodic interest.YIELDDISC(settlement, maturity, pr, redemption, [basis])
– Returns the annual yield for a discounted security; for example, a Treasury bill.YIELDMAT(settlement, maturity, issue, rate, pr, [basis])
– Returns the annual yield of a security that pays interest at maturity.
Conditional and Logical Analysis
SUMPRODUCT(array1, [array2], ...)
– Returns the sum of the products of corresponding ranges or arrays.SUMX2MY2(array_x, array_y)
– Returns the sum of the differences of squares of corresponding values in two arrays.SUMX2PY2(array_x, array_y)
– Returns the sum of the sum of squares of corresponding values in two arrays.SUMXMY2(array_x, array_y)
– Returns the sum of squares of differences of corresponding values in two arrays.TRANSPOSE(array)
– Returns the transpose of an array.FREQUENCY(data_array, bins_array)
– Returns a frequency distribution as a vertical array.GROWTH(known_y's, [known_x's], [new_x's], [const])
– Calculates predicted exponential growth by using existing data.LINEST(known_y's, [known_x's], [const], [stats])
– Returns the parameters of a linear trend.LOGEST(known_y's, [known_x's], [const], [stats])
– Returns the parameters of an exponential trend.TREND(known_y's, [known_x's], [new_x's], [const])
– Returns values along a linear trend.FORECAST.LINEAR(x, known_y's, known_x's)
– Returns a value along a linear trend.
Matrix Functions
MMULT(array1, array2)
– Returns the matrix product of two arrays.MDETERM(array)
– Returns the matrix determinant of an array.MINVERSE(array)
– Returns the matrix inverse of an array.
Error Handling and Data Validation
ERROR.TYPE(error_val)
– Returns a number corresponding to an error type.ISERROR(value)
– Returns TRUE if the value is any error value.ISERR(value)
– Returns TRUE if the value is any error value except#N/A
.ISNA(value)
– Returns TRUE if the value is the#N/A
error value.IFNA(value, value_if_na)
– Returns the value you specify if the expression resolves to