Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


PPMT function in Excel

Posted on 2001-07-10
Medium Priority
Last Modified: 2012-05-04
Hello, Experts!

I have met PPMT function in excel. I found information ow to use it, but dunnow what this functuion presents from itself.

It would be great to hear from you the formul, how is made this PPMT.

Best regards and hope on you help,
Question by:sviksna
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +5
LVL 13

Expert Comment

ID: 6269970
See under PPMT and PV in Help|Content&Index: Find. Then delete _both_ questions (you posted in duplicate)

Author Comment

ID: 6270041
Could you tell me the diference of the PPMT an VP. I am not very good at that all, so i'd realy like to hear from you that! :)


Expert Comment

ID: 6270173

The following two paragraphs are right out of the Help, Contents and Index description for both items from Excel.  I agree with cri that you delete this question and use the help from Excel itself to answer this question.

PPMT:  Returns the payment on the principal for a given period for an investment based on periodic, constant payments and a constant interest rate.

PV:  Returns the present value of an investment. The present value is the total amount that a series of future payments is worth now. For example, when you borrow money, the loan amount is the present value to the lender.

Hope this helps.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 22

Expert Comment

ID: 6270810
There's also a fairly nice site here, though it does not contain that particular function:

Author Comment

ID: 6272284
I don't need to know what it retunrs and how to use it.. i wana know the formula it presents inside this PPMT!

let's say so.. function myCalculations(rate, value, count) needs 3 (PPMT also is function also got n parameters) parameters and it looks in action like myCalculations(45%, 1/2, 45);

so, you get output, say 34% from value;

but how we get it???????

we get it becouse

myCalculations(rate, value, count)
myCalculations.value_to_return =  value / count * rate

"value / count * rate"

so... THIS IS the FORMULA of myCalculations!!!

I wana know, what operations are made and what formula is hidden in the PPMT function!!!

That is the anwer i'd like to hear!?!?


Expert Comment

ID: 6274741
This question is better suited for a Finance forum in Experts-Exchange!

Here is pseudocode to show roughly how ppmt works

Function ppmt(Rate, Per, NPer, PV)
' Rate = Interest rate per period
' Per = Which period you want to calculate principal payment
' Nper = # Periods in the annuity or loan
' PV = Present Value of the annuity or loan

' Calculate the payment per period
ThisPmt = Application.WorksheetFunction.Pmt(Rate, NPer, PV)

' Loop through each year up to Per
For i = i to Per
     ' Calculate the Interest portion for this period
     Int = Rate * PV
     ' Calculate the Principal portion for this period
     Prin = ThisPmt - Int
     ' Calculate the new PV at the end of Period I
     PV = PV - Prin
Next i

PPmt = Prin

End Function


Author Comment

ID: 6276058
thanx for VB code but i need it for PHP :)

Maybe you could tell me where is that Finance forum?

Accepted Solution

jelen earned 400 total points
ID: 6276349
Sorry - it is a mythical finance forum ;-)

Check out the code snippet forums at

This code will get you the monthly payment amount.  

I don't know PHP.  If I can convert the VBA to English, can you convert it to PHP?

Monthly Payment = Result from above code snippet
Monthly Interest Rate = Annual Interest Rate / 12
Present Value = Amount Financed from code snippet
Loop from 1 to the period number in question
  Calculate the Interest for this Period as Present Value * Monthly Interest Rate
  Calculate This month's principal payment as Monthly Payment - Interest for this Period.
  Calculate Present Value as Present Value - This months principal payment
End Loop

Display that the PPMT is This Months Principal Payment from the last iteration of the loop.


Expert Comment

ID: 6277187

The payments are calculated by iteration rather than by a direct formula; take a formula for any of the annuities or perpetuities and plug in the other variables until you get a result. If you do this by binary iteration (dividing the remaining data in half), you should get a good result in ten tries. Note that Excel has a default of 10 iteration tries in its options"
Since the payments include interest that is usually variable depending on the specific date, you should be able to calculate it for that specific date, then simply substract the interest portion and you will get the principal portion of the payment.

ex. Future Value of an annuity due (use & for an exponent):
FVA=PMT[((1+r)&n - 1)/r]&(1+r)


Expert Comment

ID: 6415660
If no objections are made in the next 5 days, I will force accept the contribution by jelen.

Community Support Moderator @ Experts-Exchange

P.S. This post is made as part of the general effort to clean up this topic area, meaning, looping through all the open questions with no activity since 21 days.

Expert Comment

ID: 6690958
Answer accepted by:

Community Support Moderator

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question