Avatar billede juliemusen Nybegynder
24. januar 2012 - 20:11 Der er 7 kommentarer og
1 løsning

beregning af lån

Hejsa.

Hvis man skal beregne et lån i excel, hvor man også får alle afdrag med osv, hvordan kan man gøre det. Fx:

Hovedstol: 60.000 kr.
Rente: 8,750%
Afdrag 3000 kr

Hvis man nu skal beregne løbetiden ud fra dette, og man skal have den ud i en tabel, hvor alle beløbene kommer op, fx:

01.02-2012: 57.000
01.03-2012: 54.000
01.04-2012: 51.000

osv.

Mvh Julie
Avatar billede 220661 Ekspert
24. januar 2012 - 20:59 #1
Hent amortisering v1.1 her:
http://www.excel-regneark.dk/?pageIDX=28
Indsæt dine tal for lån og rente

Hovedstol        60.000,00
Antal terminer pr år        12
Nom. Rente/ år        8,75%
Løbetid i år        1,8

Og du vil få et afdrag meget tæt på 3000 kr
Avatar billede claes57 Ekspert
24. januar 2012 - 21:18 #2
og den sjove - nogle banker har lagt betaling ind hver måned, og kvartalsvis rentetilskrivning.
Så er der 4 terminer, og to ud af tre måneder vil låner betale 'forud' uden at få en 10-øre i rente. Der har banken så det indbetalte stående gratis.
Avatar billede juliemusen Nybegynder
24. januar 2012 - 22:01 #3
Hej igen.

Mange tak for svarene. 220661: Det var lige dette jeg skulle bruge, så ligger du ikke et svar :-)

Kh Julie
Avatar billede store-morten Ekspert
24. januar 2012 - 22:18 #4
Du kan også prøve i excel, at åbne et nyt ark.
Filer --> Nyt --> Eksempelskabeloner --> Afskrivning af lån.
Avatar billede 220661 Ekspert
24. januar 2012 - 22:56 #5
Kommer her :o)
Avatar billede arne_v Ekspert
25. januar 2012 - 01:05 #6
Jeg maa indroemme at jeg forstaar slet ikke hvor Excel skal bruges!

hovedstol = 60000
afdrag = 3000

=>

antal perioder = 60000 / 3000 = 20

Men:

ydelse = 3000

ville kraeve noget udregning.
Avatar billede juliemusen Nybegynder
25. januar 2012 - 17:50 #7
Hejsa Arne.

Nej Excel er absolut heller ikke nødvendigt til denne opgave, men opgaven gik ud på at finde måned for måned, hvor meget nedskrivningen gik ned med, rente pr måned osv osv.

Det var lidt nemmere at få excel til at regne alt sammen ud:

http://imageshack.us/f/651/ekspert.jpg/

Kh Julie
Avatar billede arne_v Ekspert
28. januar 2012 - 04:33 #8
Java !!

:-)


import java.math.BigDecimal;

public class LoanCalculations {
    private static void display(Loan loan) {
        while(!loan.isPaid()) {
            System.out.printf("%2d %10.2f %10.2f %10.2f %10.2f\n", loan.getPeriod(), loan.getPrincipalBalance(), loan.getInterestPaid(), loan.getPrincipalPaid(), loan.getPayment());
            loan.moveOnePeriod();
        }
    }
    public static void main(String[] args) {
        display(new FixedPrincipalPaidLoan(new BigDecimal("60000.00"), 0.08750/12, new BigDecimal("3000.00")));
        display(new FixedPrincipalPaidLoan(new BigDecimal("60000.00"), 0.08750/12, 20));
        display(new FixedPaymentLoan(new BigDecimal("60000.00"), 0.08750/12, new BigDecimal("3000.00")));
        display(new FixedPaymentLoan(new BigDecimal("60000.00"), 0.08750/12, 22));
        display(new FixedPaymentLoan(new BigDecimal("60000.00"), new BigDecimal("2961.78"), 22));
    }
}

abstract class Loan
{
    private BigDecimal principal;
    private double interest;
    private int period;
    public Loan(BigDecimal principal, double interest) {
        this.principal = principal;
        this.interest = interest;
        this.period = 1;
    }
    public boolean isPaid() {
        return principal.signum() < 1;
    }
    public void moveOnePeriod() {
        principal = principal.subtract(getPrincipalPaid());
        period++;
    }
    public int getPeriod() {
        return period;
    }
    public BigDecimal getPayment() {
        return getPrincipalPaid().add(getInterestPaid());
    }
    public BigDecimal getInterestPaid() {
        return principal.multiply(new BigDecimal(interest)).setScale(2, BigDecimal.ROUND_HALF_UP);
    }
    public BigDecimal getPrincipalPaid() {
        BigDecimal unadj = getPrincipalPaidUnadjusted();
        if(getPrincipalBalance().doubleValue() >= unadj.doubleValue()) {
            return unadj;
        } else {
            return getPrincipalBalance();
        }
    }
    public BigDecimal getPrincipalBalance() {
        return principal;
    }
    protected abstract BigDecimal getPrincipalPaidUnadjusted();
}

class FixedPrincipalPaidLoan extends Loan {
    private BigDecimal principalPaid;
    public FixedPrincipalPaidLoan(BigDecimal principal, double interest, int periods) {
        super(principal, interest);
        this.principalPaid = principal.divide(new BigDecimal(periods));
    }
    public FixedPrincipalPaidLoan(BigDecimal principal, double interest, BigDecimal principalPaid) {
        super(principal, interest);
        this.principalPaid = principalPaid;
    }
    public BigDecimal getPrincipalPaidUnadjusted() {
        return principalPaid;
    }
}

class FixedPaymentLoan extends Loan {
    private static final double EPS = 0.00000001;
    private static double alfa(double interest, int periods) {
        return (1 - Math.pow(1 + interest, -periods)) / interest;
    }
    private static double invalfa(double targetalfa, int periods) {
        double interest = 0.0001;
        double previnterest;
        do {
            previnterest = interest;
            interest = interest - (alfa(interest, periods) - targetalfa) / ((alfa(interest + EPS, periods) - alfa(interest, periods)) / EPS);
        } while(Math.abs(interest - previnterest) > EPS);
        return interest;
    }
    private BigDecimal payment;
    public FixedPaymentLoan(BigDecimal principal, double interest, BigDecimal payment) {
        super(principal, interest);
        this.payment = payment;
    }
    public FixedPaymentLoan(BigDecimal principal, double interest, int periods) {
        super(principal, interest);
        this.payment = new BigDecimal(principal.doubleValue() / alfa(interest, periods)).setScale(2, BigDecimal.ROUND_HALF_UP);
    }
    public FixedPaymentLoan(BigDecimal principal, BigDecimal payment, int periods) {
        super(principal, invalfa(principal.doubleValue() / payment.doubleValue(), periods));
        this.payment = payment;
    }
    public BigDecimal getPrincipalPaidUnadjusted() {
        return payment.subtract(getInterestPaid());
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester