This post is written by Paramdeep.
Today, let us learn how to use NPV() function in Excel & create a simple financial model.
NPV – Introduction:
If you are dealing with cash and valuations, you are bound to have come across the NPV function. If you don’t know the assumptions behind the same, I bet it could cost you your job!
Let’s take a simple project – You buy a MSFT stock for USD 100. You receive a dividend of USD 10 in the first year, USD 20 in the second year, USD 40 in the third year and then you sell it out for USD 140. If you could have alternatively put this money in bank at 10% interest rate, have you gained anything?
How do you model this in excel? In this tutorial we understand how you can use NPV to do this analysis and what kind of pitfalls you can land into!!
What is the NPV() function
Simply speaking, NPV function calculates present value of your cash flows. Let’s take a simple example first –
You invest $100 in a bank, which pays 10% interest
- What is its value 1 year down the line?
- I am sure, you don’t need any coffee to get that value – 100 x 10% is the interest and 100 is the principal that you had. So the value 100 x (1+10%) = 110
- What about 2 years?
- Simple 100 x (1 + 10%)^2 = 121
- So, if I were to ask you, the present value of a cash flow of 121, that you were to get 2 years down the line at 10% interest?
- Again simple, you told me initially, it was $100
NPV does exactly that – gets you the present value of your cash flows
The function is simple, it does all the difficult calculations for you and gets you the solution!
Beware – The function has its own assumptions!
Though the function is quite convenient, but it has its own pitfalls. And in my modelling experience I have seen a lot of people making that mistake! Lets model the situation described in the beginning (The MSFT Case). The cash flows are given to you as:
Let us see, internally what we get by modelling the NPV from the first principles and using the NPV function
You can clearly see that there are two ways of using NPV function (and each has its own assumption!)
So what is happening internally?
Usually when we start a project, we assume that the investment is made upfront (On day 0). Then the revenues, costs and the cash would start flowing in. Since the investment is made on day 0, it should not be discounted.
But when you use the NPV function, excel internally makes an assumption that even the first cash flow is at the end of the year (Per se, this is not wrong, but in normal circumstances, you make the payment upfront!).
So the right usage of the function would be to add the first cash without discounting and then use the NPV function to discount the rest of the cash flows.
If you just use the NPV function on all the cash flows, then the inherent assumption is that even the first cash flow is at the end of the year.
Few other ways of calculating NPV
When you are dealing with cash flows and valuations (typically that is when you come across the functions like NPV, etc) even small mistakes cost dear. You want to make sure that you are as accurate as you can ever be. At that point of time, if the cash is not flowing at the year ends, you can use a more powerful function in excel – XNPV. You can show it the cash and the exact dates and it would calculate the exact NPV for you. People don’t often use it as they don’t know the exact dates of cash flow!
How do you calculate the discounted cash values in your models?
I know the easiest way would be to use the NPV function. It is easy to use but at the same time could be tricky. So how do you implement such functionality in your models?
Templates to download
I have created a template for you, where the subheadings are given and you have use the functions to get the right values for you! You can download the same from here. You can go through the case and fill in the yellow boxes. I also recommend that you try to create this structure on your own (so that you get a hang of what information is to be recorded).
Also you can download this filled template and check, if the information you recorded, matches mine or not!
For any queries regarding the cash impact or financial modeling, feel free to put the comments in the blog or write an email to paramdeep@edupristine.com
Join our Financial Modeling Classes
We are glad to inform that our new financial modeling & project finance modeling online class is ready for your consideration.
Please click here to learn more about the program & sign-up.
Learn more about Financial Modeling:
Go thru these articles to learn more about Excel Financial Modeling:
- Excel Financial Modeling – 6 part tutorial
- Introduction to Project Finance
- Using MOD() function to implement frequency escalation in Excel
- Creating a P&L Reporting Model in Excel – 6 part tutorial
![]()
The article is written by Paramdeep from Pristine.
Chandoo.org has partnered with Pristine to launch a Financial Modeling Course. For details click here.














23 Responses to “Displaying Text Values in Pivot Tables without VBA”
Its possible to display up to 4 text values.
Have a look at the screen shot of an example that I had posted way back at the EHA and figure out how its done !
http://tinypic.com/r/muzywk/6
With Excel 2010 you can use Conditional Formatting to apply custom number formats which can display text. (In older versions you can only modify text color and cell background color, but not number formats.) Using CF allows for an even larger number of different display values.
[...] Display text values in Pivot Tables without VBA [...]
Hey,
Thanks, this helps. But how do you do it for multiple values where there is a huge amount of non repeating text?
@Soumya
The only way to do more than 4 values is to make the Pivot Table manually with formulas, of course then it isn't a Pivot table
You can of course do it with VBA
You may want to have a look at this description of how to do it here: http://www.clearlyandsimply.com/clearly_and_simply/2011/06/emulate-excel-pivot-tables-with-texts-in-the-value-area-using-vba.html
@Soumya
The only way to do more than 4 values is to make the Pivot Table manually with formulas, of course then it isn’t a Pivot table
You can of course do it with VBA
You may want to have a look at this description of how to do it here: http://www.clearlyandsimply.com/clearly_and_simply/2011/06/emulate-excel-pivot-tables-with-texts-in-the-value-area-using-vba.html
[...] Pivot Tables take tables of data and allow the user to summarise and consolidate the data at the same time. This is a great and very fast method of analysis but is restricted to handling mathematical functions on the value field resulting in numerical summaries. – read more [...]
[…] Read more here: Displaying Text Values in Pivot Tables without VBA […]
There is a very good way actually for handling text inside values area.
First you create a special column on the very left side and call it ID, and put unique ID (numbers only), and then create a pivot table with:
Row Labels and Column labels as you like, and in the Values labels use the unique ID number.
Move the unique ID number (copy paste) somewhere to the right and use vlookup to load the data you need using the ID as reference.
It is a bit longer way but for me it works perfectly to combine values as you like in any moment.
hope helps.
Regards,
Jon
Thank you! I finally understand pivot tables thanks to your clear, concise explanations and examples.
Good Day. This is exactly what i have been looking for. However when i try it on my pivot table or even when i try to recreate this exercise using the sample worksheet, i get this error:
"Microsoft Excel cannot use the number format you typed. Try using one of the built-in number formats."
Same thing here, Excel quite did not like the format in my PowerPivot. Any clues as to what may be going on? Thanks.
I have the same thing happening on my end. I'm running a normal pivot table on a .xlsm file.
@Danzi
What format did you use?
can you post the file ?
pls. help in table there is name, pan. amount. i have to make pivot table for example
NAME PAN AMOUNT
MR.X AAAAC1254T 500.00
MR.Y AAABR1258C
MR.A CFVDE2458T
MR.Z AAVCR12548C
MR.X AAAAC1254T
MR.Z AADCD245T
pls. help in table there is name, pan. amount. i have to make pivot table for example
NAME PAN AMOUNT
MR.X AAAAC1254T 500.00
MR.Y AAABR1258C 1000
MR.A CFVDE2458T 2000
MR.Z AAVCR12548C 5451
MR.X AAAAC1254T 45564
MR.Z AADCD245T 4500
how to get pivot tabe so i get PAN no. against Name.
I found an easy way to get text values in pivot table.
I create an other worksheet in wich each cell has a formula that copy the pivot table. The trick is that the formula does a lookup for the numbers in the pivot table.
The formula looks like that:
=IF(ISNUMBER(table!A1);VLOOKUP(table!A1;Code!$A$1:$B$65;2);IF(ISBLANK(table!A1);" ";table!A1))
Code is a worksheet where there is a liste of text /numbers correspondance.
As a bonus The new sheet is easier to format
Additional trick:
In my case, i encoded differents codeid with a power(2, codeId-1) so that summing then is equivalent to concatenate them.
1-A
2-B
4-C
8-D
yields :
5 - AC
14 - BCD
Hi
I want to ask if pivot can display dates in pivot field. As in a column i have customers and in row different items i want to know there last purchase date. anyone help in this??
Hello Guys, Need your help
I am doing some analysis of the cycle time of the product i.e how much time a product takes from manufacturing to the central warehouse.
I have batch numbers for the product and against them i have to pull out the diff. dates
Like the base date is from where the manufacturing start. So i have the batch number,against it's manuf. date. Now i have to pull out the date when it was quality released.
I have the quality released data but the data have duplicates, like i will have two dates or may be three for the same batch. So my main objective is to pull out the date which is latest among them.
BATCH NO. DATE of Mfg. DATE of Quality release
A1 12/4/2014 (HERE I HAVE TO PULL value)
Next Sheet
BATCH NO. DATE of Quality Release
A1 14/5/2014
a2 23/5/2016
A1 12/5/2014
A1 13/6/2014
From this sheet i have to pull up the latest date format of date here is dd/mm/yyy
TIA
[…] needed to present text instead of counts in a pivot table value column. Here is an excellent resource for Excel manipulation, in addition to an overview of pivot […]
This is great thank you.
Wow!!! Excellent!! It helped me a lot.
I am developing training tracking sheet for 200 employees with training completed date. Each employee will be attending 25 courses. How to indicate actual dates in pivot table value field.