Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

logarithmische Interpolation

Forumthread: logarithmische Interpolation

logarithmische Interpolation
02.01.2007 19:23:46
neo1380
Hallo an alle,
ich habe ein Problem mit einer logarithmischen Interpolation. Ich habe 2 Werte zwischen denen ich interpolieren möchte. Habe es erst in excel mit folgender Formel probiert:
E = A*(1+w)^t
für w = Exp((LN(E)-LN(A))/t) - 1
Dort klappt es perfekt. Nun möchte ich das über VBA machen. Allerdings funktioniert das mit folgender formel leider nicht:
w = (Exp(Application.WorksheetFunction.Ln(Cells(j, 16).Value) - Application.WorksheetFunction.Ln(Cells(i, 4).Value))) / (Cells(j, 14).Value - Cells(j, 13).Value) - 1
Für w spuckt er immer den Wert null aus und nicht den Wert den ich händisch per Excel errechnet habe. Ich hoffe es kann mir jemand helfen. Danke im voraus.
Gruß neo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: logarithmische Interpolation
02.01.2007 20:32:37
ingUR
Hallo, neo,
hier scheint ein Klammerfehler vorzuliegen:
w = (Exp(Application.WorksheetFunction.Ln(Cells(j, 16).Value) - Application.WorksheetFunction.Ln(Cells(i, 4).Value)) / (Cells(j, 14).Value - Cells(j, 13).Value)) - 1
Unabhängig davon könntst Du auch m.E. die VBA-eigene Funktion LOG einsetzen (ohne Apllication.Worksheetfuntion).
Alles ohne weitere Prüfung!
Gruß,
Uwe
Anzeige
AW: logarithmische Interpolation
02.01.2007 20:44:41
neo1380
Hallo Uwe,
danke für deine Antwort, aber das war leider nicht der Bug. Die Log funktion hat meines Wissens eine natürliche Zahl als Basis und nicht e. Daher dieser kleine Umweg. Allerding glaube ich nicht, dass es an der Ln bzw Log Funktion scheitert, sondern eher an der Exp(....) Formel.
Wenn ich das Makro ausführe bekomme ich als ergebnis: 3,59382822616728E-171 im Ergebnisfeld bei einer interpolation von zwei Wertepaaren (3,95 & 3,69) über t = 90
Da muss also etwas mit dem Exponenten nicht stimmen, glaub ich.
Gruß
neo
Anzeige
AW: logarithmische Interpolation
02.01.2007 20:58:22
ingUR
Hallo, neo,
da war ein Fehler in meiner Korrektur, daher hier noch einmal die richtige Klammerung, wie sie sich auch aus der Umformung nach dem Ausgabgsansatz ergbt:
w = Exp((Application.WorksheetFunction.Ln(Cells(j, 16).Value) - Application.WorksheetFunction.Ln(Cells(i, 4).Value)) / (Cells(j, 14).Value - Cells(j, 13).Value) - 1
Sowohl mit dieser, aber auch mit der "VBA"-LOG bekomme ich wie im Zellenformelansatz immer den gleichen Wert:
 
 ABCD
13,953,69900,000757
Formeln der Tabelle
D1 : =EXP((LN(A1)-LN(B1))/C1)-1
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
VBA-Prozedur dazu:
Sub logInterpolation() Dim w w = Exp((Log(Cells(1, 2).Value) - Log(Cells(1, 1).Value)) / Cells(1, 3).Value) - 1 w = Exp((Application.WorksheetFunction.Ln(Cells(1, 2).Value) - _ Application.WorksheetFunction.Ln(Cells(1, 1).Value)) / _ (Cells(1, 3).Value)) - 1 End Sub
Gruß,
Uwe
Anzeige
;
Anzeige

Infobox / Tutorial

Logarithmische Interpolation in Excel und VBA


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass du zwei Werte hast, zwischen denen du interpolieren möchtest. Zum Beispiel: A1 = 3,95 und B1 = 3,69.

  2. Formel für logaritmische Interpolation nutzen:

    • In einer Zelle kannst du die Formel verwenden:
      =EXP((LN(A1)-LN(B1))/C1)-1
    • Hierbei ist C1 der Zeitwert oder der Parameter, über den interpoliert werden soll.
  3. VBA-Prozedur erstellen:

    • Öffne den VBA-Editor (ALT + F11) und erstelle ein neues Modul.
    • Verwende den folgenden Code:
      Sub logInterpolation()
       Dim w As Double
       w = Exp((Log(Cells(1, 2).Value) - Log(Cells(1, 1).Value)) / Cells(1, 3).Value) - 1
       MsgBox w
      End Sub
    • Dieser Code berechnet den Wert w basierend auf den Zellen A1, B1 und C1.

Häufige Fehler und Lösungen

  • Fehler in der Klammerung: Achte darauf, dass du die Klammern korrekt setzt. Ein häufiger Fehler ist, dass die Klammern nicht richtig platziert sind, was zu falschen Berechnungen führen kann.

  • Ergebnis gleich Null: Wenn der Wert w immer Null ausgibt, überprüfe die Werte in den Zellen. Stelle sicher, dass die Werte nicht gleich sind und richtig eingegeben wurden.

  • Verwendung von LN vs. LOG: Beachte, dass LN die natürliche Logarithmus-Funktion ist, während LOG eine andere Basis verwendet. In der logarithmischen Interpolation ist es wichtig, die richtige Funktion zu wählen.


Alternative Methoden

  • Logarithmische Interpolation ohne VBA: Du kannst die log interpolation excel direkt in den Zellen von Excel durchführen, ohne VBA zu verwenden. Die oben genannte Formel funktioniert hervorragend in einer Zelle.

  • Nutzung von Diagrammen: Du kannst auch Diagramme in Excel verwenden, um die interpolierten Werte visuell darzustellen. Dies erleichtert das Verständnis und die Analyse der Daten.


Praktische Beispiele

  1. Beispiel mit festen Werten:

    • Angenommen, du hast folgende Werte:
      • A1: 3,95
      • B1: 3,69
      • C1: 90
    • Verwende die Formel:
      =EXP((LN(A1)-LN(B1))/C1)-1
    • Das Ergebnis sollte den interpolierten Wert liefern.
  2. VBA zur Iteration:

    • Wenn du mehrere Werte interpolieren möchtest, kannst du eine Schleife in VBA verwenden, um durch eine Liste von Werten zu iterieren und die logarithmische Interpolation für jeden Wert anzuwenden.

Tipps für Profis

  • Fehlerüberprüfung: Verwende Debug.Print in VBA, um den Wert von w während der Berechnungen auszugeben und mögliche Fehlerquellen zu identifizieren.

  • Dokumentation: Halte deine VBA-Prozeduren gut dokumentiert, um später leichter Änderungen vorzunehmen oder Fehler zu finden.

  • Excel-Funktionen kombinieren: Nutze die Möglichkeiten von Excel, um verschiedene Funktionen miteinander zu kombinieren. Zum Beispiel kann die Verwendung von INDEX und VERGLEICH dir helfen, dynamischere Interpolationen zu erstellen.


FAQ: Häufige Fragen

1. Wie funktioniert LN? Der LN-Befehl in Excel berechnet den natürlichen Logarithmus eines Wertes. Er wird häufig in logaritmischen Interpolationsberechnungen verwendet.

2. Was ist der Unterschied zwischen LOG und LN in Excel? LOG berechnet den Logarithmus mit einer Basis, die du angibst, während LN immer den natürlichen Logarithmus (Basis e) berechnet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige