Excel 2013: Werte schriftlich interpolieren ohne Graph

Diskutiere und helfe bei Excel 2013: Werte schriftlich interpolieren ohne Graph im Bereich Microsoft Office im Windows Info bei einer Lösung; Moin liebe Community! Ich halte mich derzeit an einem Interpolationsproblem auf und hoffe hier auf die Macht des crowdgesourceten Wissens. :- Es... Dieses Thema im Forum "Microsoft Office" wurde erstellt von malkaffeemalte, 11. August 2020.

  1. Excel 2013: Werte schriftlich interpolieren ohne Graph


    Moin liebe Community!


    Ich halte mich derzeit an einem Interpolationsproblem auf und hoffe hier auf die Macht des crowdgesourceten Wissens. :-

    Es geht um Folgendes: Ich habe Messungen verschiedener Sensoren zu krummen Zeiten, aber nicht jeder Sensor misst zu jeder Zeit. Nun möchte ich eine abgeleitete Tabelle erstellen mit einer äquidistanten Zeitachse. Ich veranschauliche das mal in folgender Tabelle:

    Messzeit sSensor 1 Sensor 2
    1,52332
    2,240
    2,3
    5,778
    66589

    Zwischen den Werten soll linear interpoliert werden Abstände sind klein genug. Und das Ganze soll dann wie gesagt in eine Tabelle mit Zeitwerten wie 1, 2, 3, 4, 5, 6, sodass ich eine lückenlose Tabelle hab und bspw. schätzen kann, welcher Wert zum Zeitpunkt 4s herrscht.


    Danke bereits für Eure Hilfe!


    Beste Grüße aus einem viel zu heißen Büro,

    malkaffeemalte
     
  2. Andreas Killer Win User

    Excel (2013): Werte schriftlich interpolieren (ohne Graph)

  3. malkaffeemalte Win User

    Excel (2013): Werte schriftlich interpolieren (ohne Graph)

    Andreas!

    Das falsche Modul war die Lösung! Ich hab (wie oben beschrieben) das Code-Fenster mit Rechtsklick->Code anzeigen geöffnet. Dann hat sich ein Code-Fenster mit dem Titel "Tabelle1 (Code)" geöffnet. Das interessiert natürlich niemanden, denn "Modul1" ist das
    richtige Fenster, aber immerhin hat sich dadurch der VB Editor geöffnet. :) Nachdem ich den Code da eingefügt habe, hat es astrein funktioniert. Die Werte werden perfekt interpoliert und normiert! Ganz große Klasse!

    Vielen Dank nochmal für deine umfangreiche Hilfe! Das hat mir Stunden, wenn nicht sogar Tage geschenkt (da ich überhaupt nicht im Thema stehe :D).

    Ich hoffe, dieser Thread und deine Lösung können noch vielen anderen Usern hier kostbare Zeit sparen! :)

    Beste Grüße aus einem nun etwas kühleren Büro,

  4. Andreas Killer Win User

    Excel (2013): Werte schriftlich interpolieren (ohne Graph)

    nachdem ich den Code sorgfältig in den Editor verfrachtet habe, wollte ich über "=IPL" die Funktion aufrufen, aber weder erscheint dann die Autovervollständigung, noch funktioniert es,
    Dann ist der Code im falschen Modul. Hast Du über Einfügen \ Modul ein reguläres Modul hinzugefügt?

    Alternativ, kannst Du auf OneDrive zugreifen?

    https://1drv.ms/x/s!AsEpmlJLteash3n3dXhsFQbnoBtK?e=G6PQpV

    Wenn das auch nicht hilft, kann man Dir per Mail Dateien zuschicken?

    Andreas.
  5. Andreas Killer Win User

    Excel (2013): Werte schriftlich interpolieren (ohne Graph)

    Ja klar, das geht.

    Klicke mit der rechten Maustaste auf die Blattregisterkarte

    Wähle "Code anzeigen"

    Klick im Menü auf Einfügen \ Modul

    Füge den Code unten ein

    Schließe den VBA-Editor

    Ich habe jetzt 2 Tabellen formatiert und diese Formel benutzt, das geht natürlich nur wenn Du die gleichen Tabellennamen und Überschriften hast.

    F2: =IPL([@Zeit];Tabelle1[Sensor 1 ];Tabelle1[Messzeit (s)])

    Daher wandel ich die Formel mal auf normale Zellbezüge um, runter und nach rechts ziehen:

    F2: =IPL($E2;$B$2:$B$6;$A$2:$A$6)

    Alles klar? Falls nicht, kannst Du auf OneDrive zugreifen?

    Andreas.

    Option Explicit
    
    Function IPL(ByVal X, Yvalues As Range, Xvalues As Range)
    
     Dim Xa, Ya, Xb, Yb
    
     Dim i As Long
    
     Xa = Xvalues.Value
    
     Ya = Yvalues.Value
    
     Xb = Array()
    
     Yb = Array()
    
     For i = 1 To UBound(Xa)
    
     If Not IsEmpty(Ya(i, 1)) Then
    
     ReDim Preserve Xb(0 To UBound(Xb) + 1)
    
     ReDim Preserve Yb(0 To UBound(Yb) + 1)
    
     Xb(UBound(Xb)) = Xa(i, 1)
    
     Yb(UBound(Yb)) = Ya(i, 1)
    
     End If
    
     Next
    
     IPL = InterpolateLinear(X, Xb, Yb, ScaleBeyondEdges:=True)
    
    End Function
    
    Function InterpolateLinear(ByVal X As Double, ByVal Xvalues, ByVal Yvalues, _
    
     Optional ByVal Count As Long = 1, Optional ByVal Interval As Variant, _
    
     Optional ByVal ScaleBeyondEdges As Boolean = False) As Variant
    
     'Returns an array 1..Count of double with interpolated Y values
    
     ' Xvalues and Yvalues must be an one dimensional array same size with numerical values
    
     ' Xvalues must be unique and in ascending or descending order
    
     ' Interval is a number, optional with a char in front to interpolate dates:
    
     ' y=Year, q=Quarter, m=Month, w=Week, d=Day, h=Hour, n=Minute, s=Second
    
     Dim i As Long, j As Long, l As Long, h As Long
    
     Dim Data() As Double
    
     Dim a As Double, b As Double, Increment As Double
    
     Dim Order As Boolean
    
     If IsMissing(Interval) Then
    
     Interval = 0
    
     Increment = 0
    
     ElseIf VarType(Interval) = vbString Then
    
     On Error Resume Next
    
     Increment = CDbl(Mid$(Interval, 2))
    
     On Error GoTo 0
    
     If Increment = 0 Then Increment = 1
    
     Interval = LCase(Left$(Interval, 1))
    
     Select Case Interval
    
     Case "y": Interval = "yyyy"
    
     Case "w": Interval = "ww"
    
     End Select
    
     Else
    
     Increment = Interval
    
     End If
    
     If Count <= 0 Then
    
     InterpolateLinear = Array()
    
     Exit Function
    
     End If
    
     ReDim Data(1 To Count) As Double
    
     l = LBound(Xvalues)
    
     h = UBound(Xvalues)
    
     Order = Xvalues(l) < Xvalues(h)
    
     For j = 1 To Count
    
     If X < Xvalues(l) = Order Then
    
     'Hunt down
    
     i = 1
    
     Do
    
     l = l - i
    
     If l <= LBound(Xvalues) Then
    
     l = LBound(Xvalues)
    
     Exit Do
    
     End If
    
     If X > Xvalues(l) = Order Then Exit Do
    
     i = i * 2
    
     Loop
    
     ElseIf X > Xvalues(h) = Order Then
    
     'Hunt up
    
     i = 1
    
     Do
    
     h = h + i
    
     If h >= UBound(Xvalues) Then
    
     h = UBound(Xvalues)
    
     Exit Do
    
     End If
    
     If X < Xvalues(h) = Order Then Exit Do
    
     i = i * 2
    
     Loop
    
     End If
    
     'We will find the right place in the table by means of bisection
    
     Do While h - l > 1
    
     i = (h + l) / 2
    
     If X > Xvalues(i) = Order Then
    
     l = i
    
     Else
    
     h = i
    
     End If
    
     Loop
    
     'Limit the scale at edges?
    
     If Not ScaleBeyondEdges Then
    
     If Order Then
    
     'Ascending
    
     If X < Xvalues(l) Then
    
     'Beyond the lower limit
    
     Data(j) = Yvalues(l)
    
     GoTo NextX
    
     End If
    
     If X > Xvalues(h) Then
    
     'Beyond the upper limit
    
     Data(j) = Yvalues(h)
    
     GoTo NextX
    
     End If
    
     Else
    
     If X > Xvalues(l) Then
    
     Data(j) = Yvalues(l)
    
     GoTo NextX
    
     End If
    
     If X < Xvalues(h) Then
    
     Data(j) = Yvalues(h)
    
     GoTo NextX
    
     End If
    
     End If
    
     End If
    
     'Calculate the linear value
    
     b = (Yvalues(h) - Yvalues(l)) / (Xvalues(h) - Xvalues(l))
    
     a = Yvalues(h) - b * Xvalues(h)
    
     Data(j) = a + b * X
    
    NextX:
    
     If VarType(Interval) = vbString Then
    
     X = DateAdd(Interval, Increment, X)
    
     Else
    
     X = X + Increment
    
     End If
    
     Next
    
     InterpolateLinear = Data
    
    End Function
    
    
  6. Andreas Killer Win User

    Excel (2013): Werte schriftlich interpolieren (ohne Graph)

    Fangen wir mal ganz einfach an wir separieren die Sensoren und entfernen die Leerzeilen und haben Spalte A:B


    [​IMG]


    Dann schreiben wir die gewünschten Zeiten in Spalte D und rechnen mal.

    Das Problem ist das Deine Daten insgesamt keinen linearen Verlauf haben, also müssen wir die richtigen Zeitpunkte und Messwerte für den zu schätzenden Zeitpunkt nehmen.

    E2: =SCHÄTZER(D2;$B$2:$B$3;$A$2:$A$3)

    E3: =SCHÄTZER(D3;$B$2:$B$3;$A$2:$A$3)

    E4: =SCHÄTZER(D4;$B$3:$B$4;$A$3:$A$4)

    E5: =SCHÄTZER(D5;$B$3:$B$4;$A$3:$A$4)

    E6: =SCHÄTZER(D6;$B$3:$B$4;$A$3:$A$4)

    E7: =SCHÄTZER(D7;$B$3:$B$4;$A$3:$A$4)

    Man kann sich sicherlich einen Formelkonstrukt mit VERGLEICH INDEX BEREICH.VERSCHIEBEN als Matrixformel basteln um die richtigen Werte für den Schätzer zu holen... aber bei dem Wetter, muss das sein? :)

    Andreas.
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Excel 2013: Werte schriftlich interpolieren ohne Graph - Microsoft Office

Die Seite wird geladen...

Excel 2013: Werte schriftlich interpolieren ohne Graph - Similar Threads - Excel 2013 Werte

Forum Datum

Excel - Wert ändern

Excel - Wert ändern: Guten Tag,ich benötige eine Formel, die folgendes tut:Spalte B1 hat beispielsweise diesen Inhalt: "700g/m², Grau RAL7042, 2,9m x 11m, Saum, oval 42x22mm verzinkt"Andere Spalten haben einen anderen...
Microsoft Office 6. Januar 2024

Excel - Werte übernehmen

Excel - Werte übernehmen: Vorab - ich bin Laie - Bitte um Hilfe/Lösung :In einer Spalte M7 bis M37 = z.B. 1.1.24 bis 31.1.24 werden täglich Energiewerte eingetragen .Der jeweilige Tageswert sollen dann in Zelle F7...
Microsoft Office 24. November 2023

Excel-Funktion für "Nachbarn suchen + linear Interpolieren"

Excel-Funktion für "Nachbarn suchen + linear Interpolieren": Hallo zusammen,ich frage mich, ob es eine Möglichkeit bzw. Funktion dafür gibt, dass Excel automatisch die beiden nächsten "Nachbarn" einer Zahl aus einer Datenreihe findet und anschließend zu...
Microsoft Office 10. November 2022

MSGraph, Excel Graph in Access 365

MSGraph, Excel Graph in Access 365: Hello, I would like to create a scatter plot in an Access form. The data will be illustrated from selected probands in the frontend MS Access application. I am working with Microsft 365. I...
Microsoft Office 3. April 2021

Excel --> Wenn zwischen zwei Werten

Excel --> Wenn zwischen zwei Werten: Hallo Möchte einen Bezug auf einen Wert machen der Zwischen 5000 und 6000 liegt. Wenn der Wert dazwischen ist soll er Test 1 ausgeben ansonsten Test2 Mit dieser Formal gibt er nur Test 2 aus?...
Microsoft Office 9. Januar 2021

EXCEL-Werte verknüpfen

EXCEL-Werte verknüpfen: Hallo Ich habe eine Quelldatei Q mit einer Tabelle, die Zeilen mit 10 Feldern (q1, q2, q3, ... q10) beinhaltet. Es sind aber nur 5 Werte in dieser Zeile vorhanden (in den Zellen q2, q4, q6, q8...
Microsoft Office 3. März 2018

Antwort im Audio nicht schriftlich

Antwort im Audio nicht schriftlich: Wie kann ich Cortana einstellen, wenn sie mir antworten soll (nicht in Schriftform)?
Windows Insider 6. Dezember 2017
Excel 2013: Werte schriftlich interpolieren ohne Graph solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.