Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Gleichung der trendlinie in zelle schreiben

Gleichung der trendlinie in zelle schreiben
09.03.2007 13:27:00
miho
Hallo,
ich habe folgendes Problem.
Ich habe messwerte diese werden in einem Liniendiagramm
dann berechne ich einen trend mit einem polynom 4 Ordn. und lasse mir die Gleichung und das bestimmtheitsmas anzeigen.
kann ich das auch in zellen schreiben x^4 x^3 ..... und r
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:02:00
Cardexperte
Hallo miho,
schicke dir mal ein Basisbeispiel, was die Trendfunktion (hier 3. Ordnung in Zelle D2) reinschreibt, wenn du die Trendfunktion im Diagramm auf Ordnung 4 stellst wird auch diese Formel dort reingeschrieben, war mal ein Arbeitsprojekt, wo aber auch die Berechnungswerte der Formeln (Exponenten und Koeffizienten) ausgelesen werden sollten, um damit weiter rechnen zu können, brauchst du ja dann nicht.
Gruss WS
https://www.herber.de/bbs/user/41009.xls
Anzeige
AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:15:36
Daniel
Hallo
eine automatische Funktion, die das erledigt, ist mir nicht bekannt (was nicht heißen muss, daß es sie nicht gibt).
Bleibt also nur ein eigenes Makro.
Du kannst mit dem Befehl
Formeltext = ActiveChart.SeriesColon(1).Trendlines(1).DataLabel.Characters.Text
den Funktionstext der Trendlinie auslesen. Das Ergebnis sieht dann in etwa so aus:
"y = 0,0008x4 - 0,0296x3 + 0,2441x2 + 0,5355x + 3,6739"
das kannst du natürlich direkt in eine Zelle schreiben, rechnen kannst du damit aber noch nicht , weils halt nur ein Text ist. Um damit Rechnen zu können du müsstest jetzt noch ein Makro schreiben, daß diesen Formeltext analysiert, dh. die Faktoren, die Potzenen und den Summanden herausliest und daraus eine für Excel verständliche Formel zusammenbastelt, Die müsste dann in etwa so aussehen (in der FormulaR1C1Local-Schreibweise, als X-Wert vewendet wird der Wert aus der Zelle links davon):
Cells(1,2).formulaR1C1Local = _
"=0,0008*POTENZ(ZS(-1);4)-0,0296*POTENZ(ZS(-1);3)+0,2441*POTENZ(ZS(-1);2)+0,5355*ZS(-1)+3,739"
notwendige Funktionen, um den String zu analysieren sind normalerweise InStr() und MID() Reicht dir das bei VBA - GUT als Anregung? Gruß, Daniel
Anzeige
AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:22:00
fcs
Hallo miho,
hier mal zwei Beispiele, wie der Text aus dem Diagramm per Makro in die Tabelle eingetragen werden kann.
Das Makro muss gestartet werden, wenn die Tabelle mit den Daten angezeigt wird, oder du muss noch entsprechendne Festlegungungen für Tabellenobjekte treffen.
Gruss
Franz
Sub TrendformelEingebettet()
'Trendformel aus eingebettetem Diagramm auswerten
Dim DiagObj As ChartObject, Formel, Trendtext, Bestimmt
Set DiagObj = ActiveSheet.ChartObjects(1)
If DiagObj.Chart.SeriesCollection(1).Trendlines(1).DisplayEquation = True Then
Trendtext = DiagObj.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
Formel = Mid(Trendtext, InStr(1, Trendtext, "="), InStr(1, Trendtext, Chr$(10)) - InStr(1, _
Trendtext, _
"="))
Formel = Application.WorksheetFunction.Substitute(Formel, "x", "x^")
Formel = "'" & Application.WorksheetFunction.Substitute(Formel, "x^ ", "x ")
Bestimmt = Mid(Trendtext, InStr(1, Trendtext, Chr$(10)) + 1)
Range("D3").Value = Formel
Range("D4").Value = Bestimmt
Else
MsgBox "Formel der Trendlinie wird im Diagramm nicht angezeigt"
Range("D3").Value = ""
Range("D4").Value = ""
End If
End Sub
Sub TrendformelSeparat()
'Trendformel aus Diagramm in separatem Blatt auswerten
Dim Diag As Chart, Formel, Trendtext, Bestimmt
Set Diag = ActiveWorkbook.Charts("Diagramm1")
If Diag.SeriesCollection(1).Trendlines(1).DisplayEquation = True Then
Trendtext = Diag.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
Formel = Mid(Trendtext, InStr(1, Trendtext, "="), InStr(1, Trendtext, Chr$(10)) - InStr(1, _
Trendtext, _
"="))
Formel = Application.WorksheetFunction.Substitute(Formel, "x", "x^")
Formel = "'" & Application.WorksheetFunction.Substitute(Formel, "x^ ", "x ")
Bestimmt = Mid(Trendtext, InStr(1, Trendtext, Chr$(10)) + 1)
Range("D6").Value = Formel
Range("D7").Value = Bestimmt
Else
MsgBox "Formel der Trendlinie wird im Diagramm nicht angezeigt"
Range("D6").Value = ""
Range("D7").Value = ""
End If
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gleichung der Trendlinie in Zelle schreiben


Schritt-für-Schritt-Anleitung

  1. Diagramm erstellen: Zunächst musst Du ein Liniendiagramm mit Deinen Messwerten erstellen. Wähle die Daten aus und gehe zu Einfügen > Diagramm > Liniendiagramm.

  2. Trendlinie hinzufügen: Klicke mit der rechten Maustaste auf die Datenreihe im Diagramm und wähle Trendlinie hinzufügen. Wähle den Typ der Trendlinie, z.B. Polynom 4. Ordnung.

  3. Gleichung anzeigen: Aktiviere die Option Gleichung im Diagramm anzeigen, um die Trendlinie im Diagramm sichtbar zu machen.

  4. VBA-Makro erstellen: Um die Gleichung der Trendlinie in eine Zelle zu schreiben, benötigst Du ein VBA-Makro. Öffne den VBA-Editor mit ALT + F11 und füge ein neues Modul hinzu. Kopiere den folgenden Code:

    Sub TrendformelEingebettet()
       Dim DiagObj As ChartObject, Formel, Trendtext
       Set DiagObj = ActiveSheet.ChartObjects(1)
       If DiagObj.Chart.SeriesCollection(1).Trendlines(1).DisplayEquation = True Then
           Trendtext = DiagObj.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
           Formel = Mid(Trendtext, InStr(1, Trendtext, "="), InStr(1, Trendtext, Chr$(10)) - InStr(1, Trendtext, "="))
           Formel = Application.WorksheetFunction.Substitute(Formel, "x", "x^")
           Range("D3").Value = Formel
       Else
           MsgBox "Formel der Trendlinie wird im Diagramm nicht angezeigt"
       End If
    End Sub
  5. Makro ausführen: Führe das Makro aus, um die Gleichung der Trendlinie in die Zelle D3 zu schreiben.


Häufige Fehler und Lösungen

  • Fehler: "Formel der Trendlinie wird im Diagramm nicht angezeigt"
    Lösung: Stelle sicher, dass die Option Gleichung im Diagramm anzeigen aktiviert ist.

  • Problem: Gleichung wird nicht korrekt in die Zelle geschrieben
    Lösung: Überprüfe den Code auf Tippfehler und stelle sicher, dass Du das richtige Diagramm ausgewählt hast.


Alternative Methoden

  • Formel manuell eingeben: Du kannst die Gleichung der Trendlinie auch manuell in eine Zelle eingeben, indem Du die exakten Werte aus dem Diagramm abliest und diese in die Zelle einfügst.

  • Excel-Funktion verwenden: Nutze die TREND()-Funktion in Excel, um die Werte der Trendlinie zu berechnen und diese in Zellen anzuzeigen.


Praktische Beispiele

  • Beispiel 1: Du hast eine Datensammlung über die Verkaufszahlen über mehrere Monate. Erstelle ein Diagramm und füge eine Trendlinie hinzu. Verwende das VBA-Makro, um die Gleichung in Zelle D3 zu speichern.

  • Beispiel 2: Berechne die Ausgleichsgerade für eine Reihe von Messwerten und zeige die Gleichung in Zelle B2 an. Verwende die Formel =0,0008*POTENZ(A1;4)-0,0296*POTENZ(A1;3)+0,2441*POTENZ(A1;2)+0,5355*A1+3,6739 für die Berechnung.


Tipps für Profis

  • VBA anpassen: Passe das VBA-Makro an, um mehrere Diagramme in einem Rutsch auszuwerten, indem Du eine Schleife für die Diagrammobjekte hinzufügst.

  • Bestimmtheitsmaß: Du kannst ebenfalls das Bestimmtheitsmaß (R²) aus dem Diagramm auslesen und in eine separate Zelle schreiben, um die Genauigkeit Deiner Trendlinie zu bewerten.


FAQ: Häufige Fragen

1. Wie kann ich die Trendlinie ohne Diagramm anzeigen?
Du kannst die Werte der Trendlinie mit der TREND()-Funktion berechnen und diese in Zellen anzeigen, ohne ein Diagramm zu verwenden.

2. Ist es möglich, die Trendlinie in einer anderen Excel-Version zu verwenden?
Ja, die beschriebenen Methoden sind in den meisten modernen Excel-Versionen anwendbar, einschließlich Excel 2016, 2019 und Microsoft 365. Achte darauf, dass die VBA-Funktionalität aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige