ترجع هذه الدالة Double الذي يحدد الدفعة الرئيسية لفترة معينة من المرتب الدوري استنادا إلى دفعات دورية ثابتة ومعدل فائدة ثابت.
بناء الجملة
PPmt(rate, per,nper,pv [, fv ] [, type ] )
يحتوي بناء جملة الدالة PPmt على الوسيطات التالية:
| الوسيطة | الوصف |
|---|---|
| التقييم | مطلوبة. معدل فائدة مزدوج يحدد لكل فترة. على سبيل المثال، إذا حصلت على قرض لشراء سيارة بمعدل نسبة مئوية سنوي قدره 10 بالمائة وقمت بسداد الدفعات شهريا، يكون المعدل لكل فترة 0.1/12 أو 0.0083. |
| لكل | مطلوبة. عدد صحيح يحدد فترة الدفع في النطاق من 1 إلى nper. |
| nper | مطلوبة. عدد صحيح يحدد العدد الإجمالي لفترات الدفع في المرتب الدوري. على سبيل المثال، إذا كنت تقوم بسداد دفعات شهرية لقرض مدته 4 سنوات لشراء سيارة، فسيكون إجمالي فترات سداد القرض 4 * 12 (أو 48). |
| PV | مطلوبة. تحديد مزدوج للقيمة الحالية، أو القيمة الحالية، لسلسلة من الدفعات أو الإيصالات المستقبلية. على سبيل المثال، عندما تقترض أموالا لشراء سيارة، يكون مبلغ القرض هو القيمة الحالية للمقرض من دفعات السيارة الشهرية التي ستدفعها. |
| fv | اختيارية. المتغير الذي يحدد القيمة المستقبلية أو الرصيد النقدي الذي تريده بعد سداد الدفعة النهائية. على سبيل المثال، القيمة المستقبلية لقرض هي 0 ر.س. لأن هذه هي قيمته بعد الدفعة النهائية. ومع ذلك ، إذا كنت تريد توفير 50000 دولار على مدى 18 عاما لتعليم طفلك ، فإن 50000 دولار هي القيمة المستقبلية. إذا تم حذف هذه القيمة، فسيتم افتراض أن القيمة 0. |
| النوع | اختيارية. متغير يحدد موعد استحقاق الدفعات. استخدم 0 إذا كانت الدفعات مستحقة في نهاية فترة الدفع، أو استخدم 1 إذا كانت الدفعات مستحقة في بداية الفترة. إذا تم حذف هذه القيمة، فسيتم افتراض أن القيمة 0. |
ملاحظات
إن المرتب الدوري عبارة عن دفعات نقدية ثابتة يتم دفعها على مدى فترة زمنية. يمكن أن يكون المرتب الدوري قرضا (مثل رهن عقاري لمنزل) أو استثمارا (مثل خطة ادخار شهرية).
يجب حساب الوسيطتين rateوnper باستخدام فترات الدفع المعبر عنها بالوحدات نفسها. على سبيل المثال، إذا تم حساب الوسيطة rate باستخدام الأشهر، فيجب أيضا حساب nper باستخدام الأشهر.
بالنسبة لجميع الوسيطات ، يتم تمثيل النقد المدفوع (مثل الودائع في المدخرات) بأرقام سالبة. يتم تمثيل المبالغ النقدية المستلمة (مثل شيكات الأرباح) بأرقام موجبة.
مثال استعلام
| التعبير | النتائج |
|---|---|
| SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; | إرجاع كافة الحقول من الجدول "FinancialSample"، حساب المبلغ الأساسي المدفوع في "per"(10 في هذا المثال)من "LoanAmount" استنادا إلى "AnnualRate" و"TermInYears" وعرض النتائج في العمود INTPaid. |
مثال VBA
ملاحظة
توضح الأمثلة التالية استخدام هذه الدالة في وحدة نمطية ل Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدلة بجوار "بحث" وأدخل مصطلح أو أكثر في مربع البحث.
يستخدم هذا المثال الدالة PPmt لحساب مقدار الدفعة المدفوعة لفترة معينة كرأس مال عندما تكون كافة الدفعات متساوية القيمة. وفيما يلي نسبة الفائدة لكل فترة (APR / 12)، وفترة السداد التي يكون الجزء الرئيسي المطلوب لها (Period)، والعدد الإجمالي للدفعات (TotPmts)، والقيمة الحالية أو رأس مال القرض (PVal)، والقيمة المستقبلية للقرض (FVal)، والرقم الذي يشير إلى ما إذا كانت الدفعة مستحقة في بداية فترة الدفع أو نهايتها (PayType).
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1 ' When payments are made.
NL = Chr(13) & Chr(10) ' Define newline.
TB = Chr(9) ' Define tab.
Fmt = "###,###,##0.00" ' Define money format.
FVal = 0 ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo) ' See if chart is desired.
If MakeChart <> vbNo Then
If TotPmts > 12 Then MsgBox "Only first year will be shown."
Msg = "Month Payment Principal Interest" & NL
For Period = 1 To TotPmts
If Period > 12 Then Exit For ' Show only first 12.
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
P = (Int((P + .005) * 100) / 100) ' Round principal.
I = Payment - P
I = (Int((I + .005) * 100) / 100) ' Round interest.
Msg = Msg & Period & TB & Format(Payment, Fmt)
Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
Next Period
MsgBox Msg ' Display amortization table.
End If