functions
DESCRIPTION
hTRANSCRIPT
Name
NameSourceDescriptionSyntax
ACCRINTAnalysis ToolPakReturns the accrued interest for a security that pays periodic interest=ACCRINT(Issue,First_Interest,Settlement,Rate, Par,Frequency,Basis)
ACCRINTMAnalysis ToolPakReturns the accrued interest for a security that pays interest at maturity=ACCRINTM(Issue,Settlement,Rate,Par,Basis)
AMORDEGRCAnalysis ToolPakReturns the depreciation for each accounting period using the French accounting system=AMORDEGRC(Cost,Date_purchased,First_period, Salvage,Period,Rate,Basis)
AMORLINCAnalysis ToolPakReturns the depreciation for each accounting period using the French accounting system=AMORLINC(Cost,Date_purchased,First_period, Salvage,Period,Rate,Basis)
COUPDAYBSAnalysis ToolPakReturns the number of days from the beginning of the coupon period to the settlement date using the specified or default day counting basis=COUPDAYBS(settlement,maturity, frequency,basis)
COUPDAYSAnalysis ToolPakReturns the number of days in the coupon period that contains the settlent date using the specified or default day counting basis=COUPDAYS(settlement,maturity, frequency,basis)
COUPDAYSNCAnalysis ToolPakReturns the number of days from the settlement date to the next coupon date using the specified or default day counting basis=COUPDAYSNC(settlement,maturity, frequency,basis)
COUPNCDAnalysis ToolPakReturns the next coupon date after the settlement date using the specified or default day counting basis=COUPNCD(settlement,maturity,frequency,basis)
COUPNUMAnalysis ToolPakReturns the number of coupons payable between the settlement date and maturity date using the specified or default day counting basis=COUPNUM(settlement,maturity,frequency,basis)
COUPPCDAnalysis ToolPakReturns the previous coupon date before the settlement date using the specified or default day counting basis=COUPPCD(settlement,maturity,frequency,basis)
CUMIPMTAnalysis ToolPakReturns the cumulative interest paid between two periods=CUMIPMT(rate,nper,pv,start_period,end_period, type)
CUMPRINCAnalysis ToolPakReturns the cumulative principal paid on a loan between two periods=CUMPRINC(rate,nper,pv,start_period,end_period, type)
DBBuilt InReturns the depreciation of an asset for a specified period, using the fixed declining balance method=DB(cost,salvage,life,period,month)
DDBBuilt InReturns the deoreciation of an asset for a specified period, using the double-declining balance method of some other method that is specified=DDB(cost,salvage,life,period,factor)
DISCAnalysis ToolPakReturns the discount rate for a security using the specified or default day counting basis=DISC(settlement,maturity,pr,redemption,basis)
DOLLARDEAnalysis ToolPakConverts a dollar price (expressed as a fraction) into a dollar price expressed as a decimal number=DOLLARDE(fractional_dollar,fraction)
DOLLARFRAnalysis ToolPakConverts a dollar price (expressed as a decimal number) into a dollar price expressed as a fraction=DOLLARFR(decimal_dollar,fraction)
DURATIONAnalysis ToolPakReturns the Macauley duration of a security with periodic interest payments using the specified or default day counting basis=DURATION(settlement,maturity,coupon,yld, frequency,basis)
EFFECTAnalysis ToolPakReturns the effective annual interest rate of a given nominal rate with its compounding frequency=EFFECT(nominal_rate,npery)
FVBuilt InReturns the future value of an investment=FV(rate,nper,pmt,pv,type)
FVSCHEDULEAnalysis ToolPakReturns the future value of an initial principal after applying a series of compound interest rates=FVSCHEDULE(principal,schedule)
INTRATEAnalysis ToolPakReturns the interest rate for a fully invested security using the specified or default day counting basis=INTRATE(settlement,maturity,investment, redemption,basis)
IPMTBuilt InReturns the amount of the interest element in a payment for an investment for a given period=IPMT(rate,per,nper,pv,fv,type)
IRRBuilt InReturns the internal rate of return for a series of cash flows=IRR(values,guess)
ISPMTBuilt InReturns the interest associated with a specific loan payment=ISPMT(rate,per,nper,pv)
MDURATIONAnalysis ToolPakReturns the Macauley modified duration for a security with an assumed par value of $100 using the specified or default day counting basis=MDURATION(settlement,maturity,coupon,yld, frequency,basis)
MIRRBuilt InReturns the modified internal rate of return based on different finance and reinvestment rates for negative and positive cash flows=MIRR(values,finance_rate,reinvest_rate)
NOMINALAnalysis ToolPakReturns the nominal rate equivalent to a given annual effective with a given compounding frequency for the nominal rate=NOMINAL(effect_rate,npery)
NPERBuilt InReturns the number of periods for an investment=NPER(rate, pmt, pv, fv, type)
NPVBuilt InReturns the net present value of an investment based upon a series of periodic cash flows and a discount rate where the first cash flow is received at the end of the first period=NPV(rate,value1,value2, ...)
ODDFPRICEAnalysis ToolPakReturns the price per $100 face value of a security with an odd first period using the specified or default day counting basis=ODDFPRICE(settlement,maturity,issue, first_coupon,rate,yld,redemption, frequency,basis)
ODDFYIELDAnalysis ToolPakReturns the yield of a security with an odd first period using the specified or default day counting basis=ODDFYIELD(settlement,maturity,issue, first_coupon,rate,pr,redemption, frequency,basis)
ODDLPRICEAnalysis ToolPakReturns the price per $100 face value of a security with an odd last period using the specified or default day counting basis=ODDLPRICE(settlement,maturity,last_interest, rate,yld,redemption,frequency,basis)
ODDLYIELDAnalysis ToolPakReturns the yield of a security with an odd last period using the specified or default day counting basis=ODDLYIELD(settlement,maturity,last_interest, rate,pr,redemption,frequency,basis)
PMTBuilt InReturns the periodic payment for an annuity=PMT(rate,nper,pv,fv,type)
PPMTBuilt InReturns the amount of principal element in a payment for an investment for a given period=PPMT(rate,per,nper,pv,fv,type)
PRICEAnalysis ToolPakReturns the price per $100 face value of a security that pays periodic interest using the specified or default day counting basis=PRICE(settlement,maturity,rate,yld,redemption, frequency,basis)
PRICEDISCAnalysis ToolPakReturns the price per $100 face value of a discounted security using the specified or default day counting basis=PRICEDISC(settlement,maturity,discount, redemption,basis)
PRICEMATAnalysis ToolPakReturns the price per $100 face value of a security that pays interest at maturity using the specified or default day counting basis=PRICEMAT(settlement,maturity,issue,rate, yld,basis)
PVBuilt InReturns the present value of an investment=PV(rate,nper,pmt,fv,type)
RATEBuilt InReturns the interest rate per period of an annuity=RATE(nper,pmt,pv,fv,type,guess)
RECEIVEDAnalysis ToolPakReturns the amount received at maturity for a fully invested security using the specified or default day counting basis=RECEIVED(settlement,maturity,investment, discount,basis)
SLNBuilt InReturns the straight-line depreciation of an asset for one period.=SLN(cost,salvage,life)
SYDBuilt InReturns the sum of years' digits depreciation of an asset for a specified period=SYD(cost,salvage,life,per)
TBILLEQAnalysis ToolPakReturns the bond-equivalent yield for a treasury bill=TBILLEQ(settlement,maturity,discount)
TBILLPRICEAnalysis ToolPakReturns the price per $100 face value for a Treasury bill=TBILLPRICE(settlement,maturity,discount)
TBILLYIELDAnalysis ToolPakReturns the yield for a treasury bill=TBILLYIELD(settlement,maturity,pr)
VDBBuilt InReturns the depreciation of an asset for a specified or partial period using a variable declining balance method=VDB(cost,salvage,life,start_period,end_period, factor,no_switch)
XIRRAnalysis ToolPakReturns the annual effective interest rate for a schedule of cash flows received at specified dates=XIRR(values,dates,guess)
XNPVAnalysis ToolPakReturns the net present value for a schedule of cash flows received at specified dates=XNPV(rate,values,dates)
YIELDAnalysis ToolPakReturns the yield on a security that pays periodic interest using the specified or default day counting basis=YIELD(settlement,maturity,rate,pr,redemption, frequency,basis)
YIELDDISCAnalysis ToolPakReturns the annual yield for a discounted security using the specified or default day counting basis.=YIELDDISC(settlement,maturity,pr,redemption, basis)
YIELDMATAnalysis ToolPakReturns the annual yield of a security that pays interest at maturity using the specified or default day counting basis=YIELDMAT(settlement,maturity,issue,rate,pr, basis)
SHAPE \* MERGEFORMAT
Financial Function Arguments
ArgumentDescription
Basis(For Securities Functions)Year basis to be used: 0 or omitted 360 (NASD); 1 = Actual; 2 = 365; 3 = 360 (European)
CostCost of the asset
CouponThe security's annual coupon rate
Date_purchasedDate of purchase of the asset. Entered as an acceptable date in quotation marks or as a serial number or function returning a date serial number
DatesA schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order
Decimal_dollarA decimal number
DiscountThe security's discount rate
Effect_rateThe effective interest rate
End_periodLast period number
FactorThe rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method)
Finance_rateThe interest rate you pay on the money used in the cash flows
First_couponThe security's first coupon date
First_InterestA security's first interest date entered as an acceptable date in quotation marks or as a serial number or function returning a date serial number
First_periodDate of the end of the first period. Entered as an acceptable date in quotation marks or as a serial number or function returning a date serial number
FractionThe integer to use in the denominator of the fraction
Fractional_dollarA number expressed as a fraction
FrequencyThe number of coupon payments per year for a security.
FVFuture Value
GuessA number that you guess is close to the result of IRR
InvestmentThe amount invested in the security
IssueA security's issue date entered as an acceptable date in quotation marks or as a serial number or function returning a date serial number
Last_interestThe security's last coupon date
LifeThe number of periods over which the asset is being depreciated (sometimes called the useful life of the asset)
MaturityThe security's maturity date
Month (For DB function)The number of months in the first year. If month is omitted, it is assumed to be 12
No_switchA logical value specifying whether to switch to straight-line depreciation when depreciation is greater than the declining balance calculation.If TRUE, Excel does not switch to straight-line depreciation even when the depreciation is greater than the declining balance calculation. FALSE or omitted, Excel switches to straight-line depreciation when depreciation is greater than the declining balance calculation
Nominal_rateThe nominal interest rate
NperThe number of periods
NperyThe number of compounding periods per year
ParA security's par value. (Default = $1,000)
PeriodThe number of the accounting period
PmtThe payment made each period
PrThe security's price per $100 face value
PrincipalThe present value
PVThe Present Value
Rate(For amortization functions)The interest rate per period
Rate(For Depreciation Functions)The rate of depreciation
Rate(For NPV and XNPV)The discount rate
Rate(For Securities Functions)A security's annual coupon rate
RedemptionThe security's redemption value per $100 face value
Reinvest_rateThe interest rate you receive on the cash flows as you reinvest them
SalvageSalvage value at the end of the life of the asset
ScheduleAn array of interest rates to apply
SettlementA security's settlement date, which is the date after the issue date when the security is traded to the buyer. Entered as an acceptable date in quotation marks or as a serial number or function returning a date serial number
Start_periodFirst period number
Type (Amortization functions)0 = Payment in arrears; 1 = payment in advance
Value1A numeric value
Value2,Second of 1 to n possible values (n=30 for AVERAGEA; n=29 for CHOOSE, NPV)
Values (IRR and MIRR)An array or a reference to cells that contain numbers for which you want to calculate the internal rate of return. Values must contain at least one positive value and one negative value to calculate the internal rate of return. If an array or reference argument contains text, logical values, or empty cells, those values are ignored.
Values (XIRR and XNPV)A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value
YldThe security's annual yield
Lookup & Reference Functions
NameSourceDescriptionSyntax
ADDRESSBuilt InCreates a cell address as text based on given row and column rumbers=ADDRESS(Row_num,Column_num,Abs_num, A1,Sheet_text)
AREASBuilt InReturns the number of areas in a reference=AREAS(reference)
CHOOSEBuilt InUses a specified index number to select one from up to 29 specified values=CHOOSE(index_num,value1,value2,...)
COLUMNBuilt InReturns the column number of the cell or a specified reference=COLUMN(reference)
COLUMNSBuilt InReturns the number of columns in an array or reference=COLUMNS(array)
HLOOKUPBuilt InLooks in the top row of a table or array and returns the value of the indicated cell=HLOOKUP(lookup_value,table_array, row_index_num,range_lookup)
HYPERLINKBuilt InCreates a shortcut that opens a document on your hard drive, a server or the internet=HYPERLINK(link_location,friendly_name)
INDEXBuilt InAlternative forms. Array form returns a value or array of values. Reference form returns a reference.=INDEX(array,row_num,column_num)=INDEX(reference,row_num,column_num, area_num)
INDIRECTBuilt InReturns a reference indicated by a value provided as text=INDIRECT(ref_text,a1)
LOOKUPBuilt InAlternative forms. Vector form looks up values in a one row or column range and returns a value in a second one row or column range. Array form looks in the first row or column of an array for the specified value and returns a value from the same position in the last row or column of the array=LOOKUP(lookup_value,lookup_vector, result_vector)=LOOKUP(lookup_value,array)
MATCHBuilt InReturns the relative position of an item in an array that matches a specified value in a specified order=MATCH(lookup_value,lookup_array, match_type)
OFFSETBuilt InReturns a reference to a range that is a specified number of rows and columns from a cell or range of cells=OFFSET(reference,rows,cols,height,width)
ROWBuilt InReturns the row number of a reference=ROW(reference)
ROWSBuilt InReturns the number of rows in a reference=ROWS(array)
RTDBuilt InRetrieves real-time data from a program that supports COM automation=RTD(ProgID,server,topic1,[topic2],...)
TRANSPOSEBuilt InTransposes vertical or horizontal arrays. Entered as an array formula in same number of cells as array.=TRANSPOSE(array)
VLOOKUPBuilt InLocates a specified value in the leftmost column of a specified table, and returns the value in the same row from a specified column in the table=VLOOKUP(lookup_value,table_array, col_index_num,range_lookup)
Lookup & Reference Function Arguments
ArgumentDescription
A1A logical value that specifies the A1 (TRUE) or R1C1 (FALSE) reference style
Abs_numThe type of reference to return:1 = Absolute; 2 = Abs Row / Rel Col; 3 = Rel Row / Abs Col; 4 = Relative
Area_numSelects a range in reference from which to return the intersection of row_num and column_num
ArrayAn array or array formula, or a reference to a range of cells
Col_index_numThe column number in table_array from which the matching value must be returned
ColsThe number of columns, to the left (-) or right (+), that you want the upper-left cell of the result to refer to
Column_numColumn number
Friendly_nameThe jump text or numeric value that is displayed in the cell
HeightThe height, in number of rows, that you want the returned reference to be. Height must be a positive number
Index_numSpecifies which value argument is selected. Index_num must be a number between 1 and 29, or a formula or reference to a cell containing a number between 1 and 29
Link_locationThe path and file name to the document to be opened as text
Lookup_arrayA contiguous range of cells containing possible lookup values. Lookup_array must be an array or an array reference
Lookup_valueThe value to be found
Lookup_vectorA range that contains only one row or one column. The values in lookup_vector can be text, numbers, or logical values
Match_typeThe number -1, 0, or 1. Match_type specifies how Microsoft Excel matches lookup_value with values in lookup_array:1 = (default) largest value less than or equal to look_up value; 0 = first value to exactly equal lookup value-1 = smallest value greater than or equal to look_value
ProgIDThe name of the ProgID of a registered COM automation add-in that has been installed on the local computer. Enclose the name in quotation marks
Range_lookupA logical value that specifies whether you want to find an exact match or an approximate match. If TRUE = approximate match is returned FALSE = Exact
Ref_textRefers to another workbook (an external reference),
ReferenceReference to a cell or range of cells and can refer to multiple areas. If you want to specify several references as a single argument, then you must include extra sets of parentheses so that Microsoft Excel will not interpret the comma as a field separator
Result_vectorA range that contains only one row or column. It must be the same size as lookup_vector
Row_index_numThe row number in table_array from which the matching value will be returned
Row_numRow number
RowsThe number of rows, up (-) or down (+), that you want the upper-left cell to refer to
ServerName of the server where the add-in should be run. If there is no server, and the program is run locally, leave the argument blank. Otherwise, enter quotation marks ("") around the server name
Sheet_textText specifying the name of the worksheet to be used as the external reference. If sheet_text is omitted, no sheet name is used
Table_arrayA table of information in which data is looked up
Topic1First of up to 28 parameters that together represent a unique piece of real-time data
Topic2,Second of up to 28 parameters that together represent a unique piece of real-time data
Value1A numeric value
Value2,Second of 1 to n possible values (n=30 for AVERAGEA; n=29 for CHOOSE, NPV)
WidthThe width, in number of columns, that you want the returned reference to be. Width must be a positive number
Logical Functions
NameSourceDescriptionSyntax
ANDBuilt InReturns TRUE if all its arguments are TRUE=AND(Logical1,Logical2,)
FALSEBuilt InReturns the logical value FALSE=FALSE()
IFBuilt InReturns one value specified condition evaluates to TRUE and another value if it evaluates to FALSE=IF(logical_test,value_if_true,value_if_false)
NOTBuilt InReverses the logic of its argument=NOT(Logical)
ORBuilt InReturnsTRUE if any argument is TRUE=OR(logical1,logical2,...)
TRUEBuilt InReturns the logical value TRUE=TRUE()
Logical Function Arguments
ArgumentDescription
LogicalA value or expression that can be evaluated to TRUE or FALSE
Logical_testAny value or expression that can be evaluated to TRUE or FALSE
Logical1Condition to be tested. Argument must evaluate to a logical value or be arrays or references that contain logical values
Logical2,Second of up to 30 conditions you want to test that can be either TRUE or FALSE
Value_if_falseThe value that is returned if logical_test is FALSE
Value_if_trueThe value that is returned if logical_test is TRUE
Date & Time Functions
NameSourceDescriptionSyntax
DATEBuilt InReturns the sequential Excel date / time serial number that represents a particular date=DATE(year,month,day)
DATEDIF*Analysis ToolPakCalculates differences between two dates in terms of specified units and assumptions=DATEDIF(start_date,end_date,unit)
DATEVALUEBuilt InConverts a date text form to an Excel date / time serial number=DATEVALUE(date_text)
DAYBuilt InConverts an Excel date / time serial number to the day of a month=DAY(serial_number)
DAYS360Built InCalculates the number of days between two dates using a specified 30 day month 360 day year method=DAYS360(start_date,end_date,method)
EDATEAnalysis ToolPakReturns the Excel date / time serial number of the date that is the indicated number of months before or after the specified number of months from the start_date=EDATE(start_date,months)
EOMONTHAnalysis ToolPakReturns the Excel date / time serial number of the last day of the month before or after a specified number of months from start_date=EOMONTH(start_date,months)
HOURBuilt InConverts an Excel date / time serial number to an hour=HOUR(serial_number)
MINUTEBuilt InConverts an Excel date / time serial number to a minute=MINUTE(serial_number)
MONTHBuilt InConverts an Excel date / time serial number to a month number=MONTH(serial_number)
NETWORKDAYSAnalysis ToolPakReturns the number of whole working days between two dates excluding specified holidays=NETWORKDAYS(start_date,end_date,holidays)
NOWBuilt InReturns the Excel date / time serial number of the current date and time=NOW()
SECONDBuilt InConverts an Excel date / time serial number to a second=SECOND(serial_number)
TIMEBuilt InReturns the decimal portion of an Excel date / time serial number for a particular time=TIME(hour,minute,second)
TIMEVALUEBuilt InConverts the time in an acceptable form of text enclosed in quotation marks to the decimal portion of an Excel date / time serial number=TIMEVALUE(time_text)
TODAYBuilt InReturns the Excel date / time serial number of today's date=TODAY()
WEEKDAYBuilt InConverts an Excel date / time serial number to the number of the day of the week based upon counting system of return_type=WEEKDAY(serial_number,return_type)
WEEKNUMAnalysis ToolPakReturns the weeknumber in the year based upon return_type counting basis=WEEKNUM(serial_num,return_type)
WORKDAYAnalysis ToolPakReturns the Excel date / time serial number of the date before or after a specified number of workdays excluding holidays=WORKDAY(start_date,days,holidays)
YEARBuilt InConverts an Excel date / time serial number to a year=YEAR(serial_number)
YEARFRACAnalysis ToolPakReturns the difference between start_date and end_date expressed as a number of years including decimal fraction of a year.=YEARFRAC(start_date,end_date,basis)
Notes:* See Appendix 2. DATEDIF really does exist! It is an Excel built in function. It doesn't appear in the listings in the function wizard and the only documentation reference is in the Help files for Excel 2000.
Date and Time Function Arguments
ArgumentDescription
Basis(For Securities Functions)The type of day count basis to use: 0 or omitted = US(NASD) 30/3601 = Actual / Actual 2 = Actual / 3603 = Actual / 365 4 = European 30/360
Date_textA date enclosed in quotation marks that is in a date text form acceptable to Excel. Note that acceptable date forms vary with system and Excel settings.
DayA number representing the day of the month. If day is greater than the number of days in the month specified, day aggregates the month and year arguments appropriately and day represents the balance after this aggregation
DaysThe number of nonweekend and nonholiday days before or after start_date. A positive value for days yields a future date; a negative value yields a past date
End_dateThe last date as an acceptable date in inverted commas or as a serial number
HolidaysAn optional range of one or more dates to exclude from the working calendar. The list can be either a range of cells that contains the dates or an array constant of the serial numbers that represent the dates
HourA number from 0 to 32767 representing the hour. Any value greater than 23 will be divided by 24 and the remainder will be treated as the hour value
MethodFALSE or omitted = US (NASD) 30/360 method; TRUE = European 30/360 method
MinuteA number from 0 to 32767 representing the minute. Any value greater than 59 will be converted to hours and minutes
Month(For DATE function)A number representing the month of the year. If month is greater than 12, month adds that number of months to the first month in the year specified
MonthsThe number of months before or after start_date
Return_type(WEEKDAY only)A number that determines the type of return value: 1 (or omitted) 1 = Sunday; 2 = 1 = Monday; 3 = 0 = Monday
Return_type(WEEKNUM only)A number that determines on which day the week begins; 1 (or omitted) = starts Sunday nums 1 to 7; 2 = starts Monday nums 1 to 7
SecondA number from 0 to 32767 representing the second. Any value greater than 59 will be converted to hours, minutes, and seconds
Serial_numA date / time serial number. Dates should be entered by using the DATE function, or as results of other formulas or functions
Serial_NumberAn Excel date / time serial number. Dates should be entered by using the DATE function, or as results of other formulas or functions. The Excel date serial number varies according to setting of 1900 or 1904 date system in Tools > Options > Calculation.
Start_dateThe first date as an acceptable date in inverted commas or as a serial number
Time_textA text string enclosed in quotation marks that represents a time in any one of the Excel time formats
Unit"y" = years; "m" = months; "d" = days; "md" = days ignoring months and years; "ym" = years and months; "yd" = years and days
YearThe year number as one to four digits