Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1of 34

Time Value of Money Functions

NPER Returns the number of periods for an investment


RATE Returns the interest rate per period of an annuity
PV Returns the present value of an investment
FV Returns the future value of an investment
PMT Returns the periodic payment for an annuity
PPMT Returns the payment on the principal for an investment for a given period
IPMT Returns the interest payment for an investment for a given period
NPV Returns the net present value of an investment based on a series of periodic cash flows a
IRR Returns the internal rate of return for a series of cash flows

Example 1a - Basic Formula


On January 1, 2021 PT A borrowed IDR 100 million from a bank with an interest of 12% p.a.
Debt is paid in equal installments every year for 5 years.
How much installments are paid per year? Installments are paid at the end of each period (31 December).

Input
PV 100,000,000 (current loan amount)
RATE 12% (interest rate per period)
NPER 5 (number of periods)
Period 2
Output PPMT IPMT
PMT -Rp27,740,973 (Rp17,629,889.98) (Rp10,111,083.22)

Example 1b - Basic Formula (variation)


On January 1, 2021 PT A borrowed IDR 100 million from a bank.
The debt is paid in equal installments of IDR 28 million every year for 5 years.
What is the effective interest per year? Installments are paid at the end of each period (31 December).

Input
PV 100,000,000 (current loan amount)
PMT 28,000,000 (amount of installment payment, sign must be negative)
NPER 5 (number of periods)

Output
RATE

Example 2 - Loan Amortization Schedule


Prepare an amortization schedule for the loans in Example 1a.

PMT IPMT
Period Beginning Balance Payment Intereset Payment
1
2
3
4
5

Note
PMT (total payment) = IPMT (interest component) + PPMT (principal component)
Ending balance = Beginning balance - Principal payment
Be careful with the +/- signs for formulas

Example 3 - NPV and IRR


Calculate the NPV and IRR based on the following cash flow information.

Input Output
RATE 10% NPV
IRR
Cash Flow Stream Note: The value of the current cash flow (period 0) is not inclu
Period Cash Flow
0 - 1,000 >> initial investment is assumed in period 0 (current)
1 100
2 125
3 150
4 175
5 200
6 225
7 250
8 275
9 300
10 325
11 350
12 375

Depreciation Formula
SLN Returns the straight-line depreciation of an asset for one period
DDB Returns the depreciation of an asset for a specified period using the double-declining balance method or some
SYD Returns the sum-of-years' digits depreciation of an asset for a specified period

Example 4 - Depreciation Schedule


On January 1, 2021 PT A purchased machine tools worth IDR 200 million.
The useful life of the machine is estimated at 8 years with an estimated salvage value of IDR 50 million.
prepare a depreciation schedule with various types of depreciation methods.

Input
Cost 200,000,000
Salvage 50,000,000
Life 8

Output
Depreciation Schedule - Straight Line Method
Period Beginning Balance Depreciation Expense Accumulated Depreciation
1 200,000,000 18,750,000
2
3
4
5
6
7
8
Note
Ending balance = Beginning balance - Depreciation expense
OR Ending balance = Cost - Accumulated Depreciation
Be careful with the +/- signs for formulas

Depreciation Schedule - Double Declining Method


Period Beginning Balance Depreciation Expense Accumulated Depreciation
1 200,000,000
2
3
4
5
6
7
8

Depreciation Schedule - Sum of the Years Digit


Period Beginning Balance Depreciation Expense Accumulated Depreciation
1 200,000,000
2
3
4
5
6
7
8
PMT = PPMT +IPMT

nvestment for a given period


nt for a given period
nt based on a series of periodic cash flows and a discount rate
of cash flows

Formula note:
st of 12% p.a. PMT(rate, nper, pv, [fv], [type])
Rate Required. The interest rate for the loan.
each period (31 December). Nper Required. The total number of payments for the loan.
Pv Required. The present value, or the total amount that a series of
Fv Optional. The future value, or a cash balance you want to attain a
Type Optional. The number 0 (zero) or 1 and indicates when payme
Set type equal to If payments are due
0 or omitted At the end of the period
1 At the beginning of the period

Formula note:
RATE(nper, pmt, pv, [fv], [type], [guess])
The RATE function syntax has the following arguments:
h period (31 December). Nper Required. The total number of payment periods in an annuit
Pmt Required. The payment made each period and cannot change
Pv Required. The present value — the total amount that a series o
Fv Optional. The future value, or a cash balance you want to attain
Type Optional. The number 0 or 1 and indicates when payments a

Formula note:
IPMT(rate, per, nper, pv, [fv], [type])
The IPMT function syntax has the following arguments:
PPMT Rate Required. The interest rate per period.
Principal Payment Ending Balance Per Required. The period for which you want to find the interest a
Nper Required. The total number of payment periods in an annuit
Pv Required. The present value, or the lump-sum amount that a se
Fv Optional. The future value, or a cash balance you want to attain
Type Optional. The number 0 or 1 and indicates when payments a
Set type equal to If payments are due
0 or omitted At the end of the period
1 At the beginning of the period

429
16.3%
the current cash flow (period 0) is not included in the NPV formula!

e double-declining balance method or some other method you specify

e value of IDR 50 million.

Formula note:
Ending Balance SLN(cost, salvage, life)
The SLN function syntax has the following arguments:
Cost Required. The initial cost of the asset.
Salvage Required. The value at the end of the depreciation (some
Life Required. The number of periods over which the asset is depr

Formula note:
Ending Balance DDB(cost, salvage, life, period, [factor])
The DDB function syntax has the following arguments:
Cost Required. The initial cost of the asset.
Salvage Required. The value at the end of the depreciation (some
Life Required. The number of periods over which the asset is bein
Period Required. The period for which you want to calculate the d
Factor Optional. The rate at which the balance declines. If factor is

Formula note:
Ending Balance SYD(cost, salvage, life, per)
The SYD function syntax has the following arguments:
Cost Required. The initial cost of the asset.
Salvage Required. The value at the end of the depreciation (some
Life Required. The number of periods over which the asset is depr
Per Required. The period and must use the same units as life.
nts for the loan.
amount that a series of future payments is worth now; also known as the principal.
ance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (zero), that is, the future value of a loan is 0.
d indicates when payments are due.

ent periods in an annuity.


eriod and cannot change over the life of the annuity. Typically, pmt includes principal and interest but no other fees or taxes. If pmt is omi
al amount that a series of future payments is worth now.
lance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (the future value of a loan, for example, is 0)
icates when payments are due.

ant to find the interest and must be in the range 1 to nper.


ent periods in an annuity.
mp-sum amount that a series of future payments is worth right now.
lance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (the future value of a loan, for example, is 0)
icates when payments are due. If type is omitted, it is assumed to be 0.
the depreciation (sometimes called the salvage value of the asset).
r which the asset is depreciated (sometimes called the useful life of the asset).

the depreciation (sometimes called the salvage value of the asset). This value can be 0.
r which the asset is being depreciated (sometimes called the useful life of the asset).
u want to calculate the depreciation. Period must use the same units as life.
ance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method).

the depreciation (sometimes called the salvage value of the asset).


r which the asset is depreciated (sometimes called the useful life of the asset).
e same units as life.
he future value of a loan is 0.

her fees or taxes. If pmt is omitted, you must include the fv argument.

ue of a loan, for example, is 0). If fv is omitted, you must include the pmt argument.

ue of a loan, for example, is 0).


Mathematical Functions
ABS Returns the absolute value of a number
ROUND Rounds a number to a specified number of digits
SUM Adds its arguments
SUMPRODUCT Returns the sum of the products of corresponding array components

Example 1 - Absolute value


Absolute value is used to generate absolute (positive) numbers and ensure formulas used work correctly.

Input
Revenue 100,000,000 >> input for revenue is usually positive
Expense - 40,000,000 >> if not specified, input for expense can be positive or negative

Output
Profit (with ABS, it will always be true under all input expense conditions)
Profit (without ABS, only true if input expense is positive)

Note
The profit formula uses ABS so that the profit calculation remains correct, regardless of the sign of the expense value.
To ensure the consistency of filling in the input (whether it must be filled in positive/negative for example) input validatio

Example 2 - Rounding
ROUND formula is used to perform rounding, for example the number of the quantity.

Input Output
Value/number 123,445.6789 Rounded value
Decimal places -
Example of decimal places/num_digits
>> If decimal places is 0, it will be rounded to the nearest unit.
>> If decimal places is 2, it will round to 2 decimal places after the comma
>> If decimal places is -3, it will round up to the nearest thousand (000).

Example 3 - Sum Formulas


Used to sum a series of values.
Calculate the total revenue from the following table

Input
Period Price Quantity Revenue
1 1068 50
2 1011 60
3 1061 70
4 1002 80
5 1025 90
6 1050 100
7 1060 110
8 1010 120
9 1096 130
10 1070 140

Output
Alternative 1 - SUM with the help of the Revenue column
Total Revenue

Alternative 2 - SUM without the help of the Revenue column


Total Revenue

Alternative 3 - SUMPRODUCT without the help of the Revenue column


Total Revenue

Note
SUM is used to sum a series of values with the same unit and produce a meaningful interpretation.
Total quantity for 10 periods >> meaningful because it is cumulative
The total price for 10 periods >> is not meaningful, it will be more meaningful to calculate the average price.

Average Price >> not considering of the weighted quantity for each pe
Weighted average Price >> considering the weighted quantity of each period
nding array components

s used work correctly.

positive or negative

ut expense conditions)

ss of the sign of the expense value.


e/negative for example) input validation can be carried out (to be discussed further in session 2).

Formula note
ROUND(number, num_digits)
The ROUND function syntax has the following
number Required. The number that you w
num_digits Required. The number of digit
interpretation.

lculate the average price.

g of the weighted quantity for each period


e weighted quantity of each period
syntax has the following arguments:
The number that you want to round.
red. The number of digits to which you want to round the number argument.
Date and Time Functions
EDATE Returns the serial number of the date that is the indicated number of months b
EOMONTH Returns the serial number of the last day of the month before or after a specifie
DAYS Returns the number of days between two dates

Example 1 - Time Period Table


Prepare a table of time periods based on the inputs given

Input
Start date 3-Jan-20
Interval (months) 3 >> number in months

Output
Period Date (EDATE) End of Month Number of Days Between Periods
0
1
2
3
4
5
6
7
8
9
10
dicated number of months before or after the start date
nth before or after a specified number of months
Lookup Functions
CHOOSE Chooses a value from a list of values
INDEX Uses an index to choose a value from a reference or array
OFFSET Returns a reference offset from a given reference
LOOKUP Looks up values in a vector or array
MATCH Looks up values in a reference or array

Example 1 - Array Lookup


Used to select values in an array (only 1 row or 1 column)
For the following AA products, return the value based on the column period input.

Input
Product 1 2 3
AA 100 200 300

Select period column 4

Output
CHOOSE
INDEX
OFFSET
LOOKUP

Example 2 - Table Lookup


Used to select values in a table with >1 row and column.
From the following table, return the value based on two inputs: product and period.

Input
Product 1 2 3
AA 100 200 300
BB 101 202 303
CC 102 204 306

Select product AA
Select period column 3

Output
INDEX + MATCH
reference or array

4
404

4
404
404
408
Logic Functions
AND Returns TRUE if all its arguments are TRUE
FALSE Returns the logical value FALSE
IF Specifies a logical test to perform
NOT Reverses the logic of its argument
OR Returns TRUE if any argument is TRUE
TRUE Returns the logical value TRUE

Example 1 - Classification
From the following table, determine how the sales pattern of each product by category:
Better: If it increases consistently over a period of 1 to 3
OK: If there is an increase in either period 1-2 or period 2-3
Worse: If there is no improvement

Input
Product 1 2 3
AA 100 200 300
BB 100 300 200
CC 300 100 200
DD 300 200 100

Output
AA
BB
CC
DD
AND OR
1 TRUE
FALSE TRUE
FALSE TRUE
FALSE FALSE
Text Functions
CONCATENATE Joins several text items into one text item
TEXT Formats a number and converts it to text

Example 1 - Concatenation
Input
Text 1 Income Statement
Text 2 Company A

Output
Combined texts >> using concatenate
Combined texts >> using text string

Example 2 - Convert to Text


Input
Value/number 0.1222222 >> assume it is an interest rate
Decimal places 3

Output
Using "Round"
Using "Text"

Formula note
TEXT(value, format_text)
The TEXT function syntax has the following arguments:
Argument Name Description
value A numeric value that you want to be converted into text.
format_text A text string that defines the formatting that you want to be applied to the supplied value.

Here are some popular examples, which you can copy directly into Excel to experiment with on your own. Notice the form
Formula Description
=TEXT(1234.567,"$#,##0.00") Currency with a thousands separator and 2 decimals, like $1,234
=TEXT(TODAY(),"MM/DD/YY") Today’s date in MM/DD/YY format, like 03/14/12
=TEXT(TODAY(),"DDDD") Today’s day of the week, like Monday
=TEXT(NOW(),"H:MM AM/PM") Current time, like 1:29 PM
=TEXT(0.285,"0.0%") Percentage, like 28.5%
=TEXT(4.34 ,"# ?/?") Fraction, like 4 1/3
=TRIM(TEXT(0.34,"# ?/?")) Fraction, like 1/3. Note this uses the TRIM function to remove th
=TEXT(12200000,"0.00E+00") Scientific notation, like 1.22E+07
=TEXT(1234567898,"[<=9999999]###-####;(###) ###-##Special (Phone number), like (123) 456-7898
=TEXT(1234,"0000000") Add leading zeros (0), like 0001234
=TEXT(123456,"##0° 00' 00''") Custom - Latitude/Longitude
he supplied value.

your own. Notice the format codes within quotation marks.

nd 2 decimals, like $1,234.57. Note that Excel rounds the value to 2 decimal places.

M function to remove the leading space with a decimal value.


Other Functions
TRANSPOSE Returns the transpose of an array
ISERROR Returns TRUE if the value is any error value

Example 1 - Transpose
Transpose is used if we want to change the dimensions of the table from rows to columns or vice versa

Input (product by column)


AA BB CC DD
11 22 33 44

Output (product by row)

Example 2 - Error Checking


In certain cases, for example when calculating a ratio with a divisor of 0, an error #DIV/0! will appear. Will we replace thi

Account Period 1 Period 2 Period 3


Revenue 0 100 120
Net Income -10 5 25
Net Income margin
Net Income margin
pear. Will we replace this error with another value/information?

>> formulas without error checking


>> formulas with error checking
Debt Financing Schedule - INPUT
Opening Balance
Debt 0

Debt Issuance
Year Amount Due Periods Interest Rate
2022 15,000,000 10 8.5%
2025 3,000,000 5 9.0%
2030 2,000,000 5 10.0%

insert input above this line


Debt Financing Schedule - WORKINGS
Year 2022 2023 2024 2025

Debt Payment Schedule (Principal + Interest)


2,286,116 2,286,116 2,286,116 2,286,116
0 0 0 771,277
0 0 0 0
0 0 0 0
insert above this line, and copy formula
Total debt payments 2,286,116 2,286,116 2,286,116 3,057,393

Interest Expense (Effective Interest Method)


1,275,000 1,189,055 1,095,805 994,629
0 0 0 270,000
0 0 0 0
0 0 0 0
insert above this line, and copy formula
Total interest expense 1,275,000 1,189,055 1,095,805 1,264,629

Debt Financing Balance


Opening Balance 0 13,988,884 12,891,824 11,701,513
Plus: Issuance 15,000,000 0 0 3,000,000
Minus: Payment (Principal only) 1,011,116 1,097,060 1,190,311 1,792,764
Closing Balance 13,988,884 12,891,824 11,701,513 12,908,749
2026 2027 2028 2029 2030 2031 2032

2,286,116 2,286,116 2,286,116 2,286,116 2,286,116 2,286,116 0


771,277 771,277 771,277 771,277 0 0 0
0 0 0 0 527,595 527,595 527,595
0 0 0 0 0 0 0

3,057,393 3,057,393 3,057,393 3,057,393 2,813,711 2,813,711 527,595

884,852 765,745 636,513 496,297 344,163 179,097 0


224,885 175,710 122,109 63,683 0 0 0
0 0 0 0 200,000 167,241 131,205
0 0 0 0 0 0 0

1,109,737 941,455 758,622 559,981 544,163 346,337 131,205

12,908,749 10,961,094 8,845,155 6,546,384 4,048,972 3,779,424 1,312,051


0 0 0 0 2,000,000 0 0
1,947,656 2,115,938 2,298,771 2,497,412 2,269,548 2,467,373 396,390
10,961,094 8,845,155 6,546,384 4,048,972 3,779,424 1,312,051 915,661
Version/ FAST Standard 02d February 2022

The FAST Acronym


Flexible

Appropriate

Structured

Transparent

Section 1 - Workbook Design


The high-level layout of a model must reflect the requirements of two fundamentally different groups of interest
drivers (users of financial models) and mechanics (modellers).

FAST 1.01
The rules in this section apply generally to workbook design and/or all worksheets in a model.

FAST 1.01-01

FAST 1.01-02

FAST 1.01-03

FAST 1.01-04
FAST 1.01-05

FAST 1.01-06

FAST 1.01-07

FAST 1.01-08

FAST 1.01-09

FAST 1.01-10

FAST 1.01-11

FAST 1.02

FAST 1.02-01

FAST 1.02-02

FAST 1.02-03
FAST 1.02-04

FAST 1.02-05

FAST 1.03

FAST 1.03-01

FAST 1.03-02

FAST 1.03-03

FAST 1.03-04
sion/ FAST Standard 02d February 2022

e FAST Acronym
Model design and modelling techniques must allow models to be both flexible in the immediate term and adaptab

Models must allow users to run scenarios and sensitivities and make modifications over an extended period as new
becomes available -- even by different modellers.
Models must reflect key business assumptions directly and faithfully without being over-built or cluttered with un

The modeller must not lose sight of what a model is: a good representation of reality, not reality itself.
Rigorous consistency in model layout and organisation is essential to retain a model’s logical integrity over time, pa
author may change.
Models must rely on simple, clear formulas that can be understood by other modellers and non-modellers alike.

tion 1 - Workbook Design


high-level layout of a model must reflect the requirements of two fundamentally different groups of interested parties:
ers (users of financial models) and mechanics (modellers).

General Workbook Design Principles


rules in this section apply generally to workbook design and/or all worksheets in a model.

Separate worksheets by type: Foundation, Workings, Presentation and Control.


Foundation: sheets for inputs, timing flags, indexation factors: the model’s chassis or main underpinnings.
Workings, i.e. the build-ups of calculations leading to presented results: the model’s ‘engine’
Presentation, including financial statements, charts, primary commercial inputs, and summary results: the model’s
primary showroom selling points
Control, e.g. check sheets, control of sensitivities and scenarios, change-tracking, list of pending changes, version co
contents: the model’s main control devices and engine status indicators.
Issue: the dual role of inputs - on the one hand foundation and on the other presentation and/or control. >> expla
Worksheet Design.

Maintain consistent column structure across all sheets.


Set up a standard column definition and apply this across all sheets if at all possible, even if this causes a requireme
columns on some sheets.
For instance, the column used for labels, constants, units, and first column of given time series can usually be confor
in a model.

Maintain a consistent time ruler throughout the model


Except when multiple time resolutions are required
Presuming the model can be designed with a consistent time resolution throughout (e.g. monthly, quarterly, annual
the model should have an identical time axis.

Ensure primary time rulers span time frames of secondary rulers


For example a ‘secondary’, monthly resolution construction period followed by a ‘primary’ quarterly operations per
Ensure that the primary time ruler encompasses the higher-resolution time period such that summarisation of dat
can be effected more easily.

Proliferate links to maximise navigational efficiency


Repeated links in the model have the dual benefit of increasing formula comprehension by co-locating ingredients,
as precedents, alongside the formula itself,within a single calculation block.
Links have the additional benefit of increasing navigational efficiency within a model.

Mark exports with red font and imports with blue font
Normally the argument for not following the Standard convention comes down to personal preference on the part
which, as aesthetically sensitive as the individual may be, is outweighed by the industry network-effect of shared co
protocols.

Calculate only once


A given calculation should appear only once in a model. Ensure that subsequent requirements to display or use a se
created by a direct link back to the source calculation, not by repeating a calculation.
The rationale for this principle is similar to the rationale that an input assumption must appear only once in a model

Use normally positive convention on Workings sheets


The normally positive convention sees all figures in a model as positive and the direction of the value – whether it i
out – is suggested by the label.

Use in-flow / out-flow convention on Presentation sheets


Flows can be of two types, either an inflow or an outflow. In order to comply with user expectation and thereby enh
readability, inflows should be represented as a positive value and outflows should be represented as a negative va
inflow / outflow convention.

Do not overuse macros

Never release a model with purposeful use of circularity

Sheet Organisation

Arrange sheets so that calculation order flows left to right


Except to group Input and Results sheets
The rationale for this is to improve general readability and detection of inadvertent logical circularities, not calculati
Grouping Input and Results sheets at the front of a model can assist readability and comprehension.

Do not attempt to optimise calculation layout and user interface / presentation on the same worksheet
Trade-off: design layouts that are optimised for clarity of calculation and those that are optimised for user interface
Separate these objectives between Calculation and Presentation sheets to prevent a model design that is poor on b

Workings sheets need not (and probably should not) look ‘pretty’ or be particularly printable.

Separate flags and factors onto dedicated sheets


Time sheets should contain all flags and partial period factors (PFFs). If timing logic is simple, then indexation factors
this logic on ‘timing and escalation’ sheets, often labelled T&E sheets.

Separate Workings sheets into functional ‘chapters’


Workings sheets should be functionally sub-divided, for example revenues, costs, financing, tax, accounting and so c
wonders” should be avoided.

Minimise inter-linking between sheets


Organising calculations across worksheets in a workbook should, in part, also be driven by an effort to minimise Exp

High density of sheet inter-linkages is a sign of poor allocation of logic to specific worksheets.

Multiple Workbook Models

Do not split a model across multiple workbooks


Except when more than one modeller must work concurrently
Except when different files should be sent to different recipients
Except when a single workbook would be too large and intimidating

Avoid direct (external file) links


Except when the logic flows back and forth between workbooks

Use import / export sheets for line items passed between workbooks
Data should be organised into a single ‘exported data’ sheet in the one file and an ‘imported data’ sheet in the seco

External file links should be Named


Excel functions (by category)
https://support.microsoft.com/en-us/office/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb

Excel Crash Course for Finance Professionals 2019


https://www.youtube.com/playlist?list=PLl3-0Xe_motSqc7469g3hPoyRymclkgIL

Top Excel Shortcuts For Finance and Modeling From an Ex-JP Morgan Investment Banking Analyst
https://www.youtube.com/watch?v=oDjhg57XH-A

How to build a financial model


https://www.f1f9.com/how-to-build-a-financial-model/

You might also like