Funkcja NPer

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Zwraca wartość typu Podwójna precyzja określającą liczbę okresów raty rocznej na podstawie okresowych, stałych płatności i stałej stopy procentowej.

Składnia

NPer(rate, pmt,pv [, wp ] [, typ ] )

W składni funkcji NPer występują następujące argumenty:

Argument Opis
Oceń Argument wymagany. Liczba podwójnej precyzji określająca stopę procentową na okres. Na przykład w przypadku kredytu samochodowego o rocznej stopie oprocentowania (RSO) wynoszącej 10%, ze spłatami miesięcznymi, stopa procentowa na okres wynosi 0,1/12, czyli 0,0083.
Pmt Argument wymagany. Liczba podwójnej precyzji określająca płatność dokonywaną w każdym okresie. Rata obejmuje zazwyczaj kapitał oraz odsetki i te wartości nie zmieniają się w okresie obowiązywania raty rocznej.
Pv Argument wymagany. Podwójna precyzja określająca bieżącą wartość serii przyszłych płatności lub wpływów. Na przykład, gdy pożyczysz pieniądze na zakup samochodu, kwota pożyczki jest obecną wartością dla pożyczkodawcy miesięcznych płatności samochodowych, które dokonasz.
Fv Argument opcjonalny. Wariant określający wartość przyszłą, czyli saldo kasowe, które ma zostać osiągnięte po dokonaniu ostatniej płatności. Na przykład w przypadku pożyczki wartość przyszła wynosi 0 zł, ponieważ tyle będzie wynosić saldo po dokonaniu ostatniej płatności. Natomiast w przypadku oszczędności na edukację dziecka, których celem jest zebranie 50 000 zł w ciągu 18 lat, wartość przyszła wynosi 50 000 zł. W razie pominięcia tego argumentu przyjmowana jest wartość 0.
typ Argument opcjonalny. Wariant wskazujący czas wymagalności płatności. Wartość 0 oznacza płatności na końcu okresu, a wartość 1 oznacza płatności na początku okresu. W razie pominięcia tego argumentu przyjmowana jest wartość 0.

    

Uwagi

Rata roczna to seria stałych płatności pieniężnych dokonywanych w danym okresie. Może to być pożyczka (na przykład kredyt hipoteczny) lub inwestycja (na przykład miesięczny plan oszczędnościowy).

Przy wszystkich argumentach środki wpłacane przez Ciebie, takie jak wpłaty na rachunki oszczędnościowe, wyrażone są liczbami ujemnymi, podczas gdy przychody, takie jak wypłaty z tytułu dywidend, wyrażone są liczbami dodatnimi.

Przykład kwerendy

Wyrażenie Rezultat
SELECT FinancialSample.*, INT(NPER([AnnualRate]/12,-[MonthlyRePayment],[LoanAmount],0,0)) AS MonthsRequired FROM FinancialSample; Zwraca wszystkie pola z tabeli "FinancialSample", oblicz liczbę okresów (miesiące w tym przykładzie) wymaganych do spłaty wartości "PożyczkaAmount" na podstawie wartości "AnnualRate" i "MonthlyRePayment" oraz wyświetla wyniki w kolumnie MonthsRequired. Funkcja INT służy do konwertowania danych wyjściowych "Double" na wartość całkowitą.

Przykład języka VBA

Uwaga

Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji NPer w celu zwrócenia liczby okresów, w których należy spłacać pożyczkę, której wartość znajduje się w PVal. Podane są również stopy procentowe dla każdego okresu (APR / 12), spłata (Payment), przyszła wartość pożyczki (FVal) i liczba wskazująca, czy płatność jest należna na początku lub końcu okresu płatności (PayType).

Dim FVal, PVal, APR, Payment, PayType, TotPmts
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1
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.
Payment = InputBox("How much do you " & _
          "want to pay each month?")
PayType = MsgBox("Do you make payments " & _
          "at the end of month?", vbYesNo)
If PayType = vbNo Then 
    PayType = BEGINPERIOD 
    Else PayType = ENDPERIOD
End If
TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
If Int(TotPmts) <> TotPmts Then 
    TotPmts = Int(TotPmts) + 1
End If
MsgBox "It will take you " & TotPmts & _
" months to pay off your loan."