Tabelle Interpolieren
#11
Hallo,

hier noch meine Variante mit LAMBDA().
Im Formeleditor:
Name:ZweiDimInterpolation
Formel:
Code:
=LAMBDA(BereichTab;x;y;LET(xA; SPALTEN(BereichTab);xB; ZEILEN(BereichTab);xC; INDEX(BereichTab;1; SEQUENZ(1;xA-1;2));xD; INDEX(BereichTab; SEQUENZ(xB-1;1;2); 1);xE; INDEX(BereichTab; SEQUENZ(xB-1;1;2); SEQUENZ(1;xA-1;2));iSp; VERGLEICH(x; xC; 1);iZ; VERGLEICH(y; xD; 1);xFu; INDEX(xC; iSp);xFo; INDEX(xC; iSp+1);xGu; INDEX(xD; iZ);xGo; INDEX(xD; iZ+1);xHu; INDEX(xE; iZ; iSp);xHo; INDEX(xE; iZ; iSp+1);xIu; INDEX(xE; iZ+1; iSp);xIo; INDEX(xE; iZ+1; iSp+1);xJ; (x-xFu)/(xFo-xFu)*(xHo-xHu)+xHu;xK; (x-xFu)/(xFo-xFu)*(xIo-xIu)+xIu;(y-xGu)/(xGo-xGu)*(xK-xJ)+xJ))
Aufruf(eigentlich selbsterklärend):=ZweiDimInterpolation(A10:O22;B5;B4)
zur Ergänzung: Läuft ab O2024.

Gruß Uwe
Antworten Top
#12
(08.01.2026, 12:39)LCohen schrieb: könnte es sein, dass Du da einen Gedankenfehler hast? Mit 2 x 2 Punkten bekommst Du nämlich nur eine glatte Kachel im Raum. 
Hast Du grad einen Stuhl mit 4 Beinen zur Hand? Also 2 x 2 Punkte = 4 Punkte insgesamt ja?

Das vordere rechte Bein steht auf dem Boden (Höhe 0).
Unter das hintere linke Bein legst Du Bücher in Höhe von 5 cm.
Unter das vordere linke Bein legst Du Bücher in Höhe von 1 cm.
Unter das hintere rechte Bein legst Du Bücher in Höhe von 2 cm.

Diese 4 Punkte ergeben keine Ebene / glatte Kachel, der Stuhl kippt. Deutlicher wird es wenn das vordere linke Bein auch auf dem Boden steht (Höhe 0).
   

Nur 3 Punkte ergeben immer eine flache Ebene.

Wenn diese 4 Punkte eine Ebene ergeben sollen, dann müssen vorne links und hinten rechts je 2,5cm drunter. und dann ist auch der Knick im 3D-Diagramm weg:
   

Andreas.
Antworten Top
#13
Ich sehe das anders. Denn die Kacheln sind rechtwinklig zu den Achsen. Die "Obendauf"-Sicht ist rechteckig (zu den Achsteilungen); die tatsächliche jeweilige schiefe Fläche einer Kachel aber ist durch die dritte Dimension verzerrt (also nicht notwendigerweise mit 90°-Ecken).

Somit geht sogar das mit den 4 Beinen auf, wenn man denn anerkennt, dass diese 4 Bein-Aufstellpunkte (anders als bei den meisten Stühlen) kein Rechteck, sondern ein Trapez abbilden.

---------
Hallo Uwe (Egon12), eine LAMBDA-Lösung ist auch bei meinem Link. Sieht Deiner sehr ähnlich (beide verwenden genau 21 einzelne Excel-Funktionen).
Antworten Top
#14
Schau ich mir, wenn ich wieder am PC bin an. 

Gruß Uwe
Antworten Top
#15
(08.01.2026, 13:47)LCohen schrieb: Ich sehe das anders. 

Okay, wenn Du den Knick nicht in den Diagrammen und Screenshots sehen kannst, dann ein letztes Wort zu dem Thema:

Du rechnest in Deiner Datei einen Wert von 1,17368 für Y49 und X61 aus. Wenn Du mir nicht glaubst, dann vielleicht dem hier:
Bilineare Interpolation

Für den Fall das der Link hier über das Forum nicht geht, der Online-Rechner gibt 1,2037 für die entsprechenden Werte aus.
https://www.omnicalculator.com/math/bili...erpolation

Andreas.
Antworten Top
#16
Ja, ich habe mir den Link angeschaut. Ich habe da aber nicht abgeschrieben, falls du darauf hinaus willst. Du meinst sicherlich Variablen + Parameter.
Ich hatte die Berechnung in deiner UDF als Vorlage für die Lambda genommen. Da habe ich von deinen Wissen etwas verwendet.
Dann habe ich noch mit einer symmetrischen Lösung experimentiert, welche aber nicht zum erwarteten Ergebis führte. Falls es dich interessiert:
Code:
=LAMBDA(BereichTab;x;y;LET(xA; SPALTEN(BereichTab);xB; ZEILEN(BereichTab);xC; INDEX(BereichTab;1; SEQUENZ(1;xA-1;2));xD; INDEX(BereichTab; SEQUENZ(xB-1;1;2); 1);xE; INDEX(BereichTab; SEQUENZ(xB-1;1;2); SEQUENZ(1;xA-1;2));xF; LAMBDA(xx;yy;LET(xSp; VERGLEICH(xx; xC; 1);xZ; VERGLEICH(yy; xD; 1);xGu; INDEX(xC; xSp);xGo; INDEX(xC; xSp+1);xHu; INDEX(xD; xZ);xHo; INDEX(xD; xZ+1);xI; INDEX(xE; xZ; xSp);xJ; INDEX(xE; xZ; xSp+1);xK; INDEX(xE; xZ+1; xSp);xL; INDEX(xE; xZ+1; xSp+1);xm; (xx-xGu)/(xGo-xGu)*(xJ-xI)+xI;xn; (xx-xGu)/(xGo-xGu)*(xL-xK)+xK;xo; (yy-xHu)/(xHo-xHu)*(xn-xm)+xm;xo));fxy; xF(x;y);fyx; xF(y;x);(fxy + fyx) / 2))


Gruß Uwe
Antworten Top
#17
Ich bin (war) soweit zufrieden mit meiner Lösung.

Sie ist reihenfolgeneutral (ich konnte ohne Änderung transponieren, das Ergebnis blieb gleich, egal, ob richtig oder falsch)

Ich habe die "omnicalculator"-Lösung noch nicht genauer angeschaut ... die Rechen-Terme sehen dort aber auf den ersten Blick nicht groß anders aus.

Vielleicht hast Du aber recht, da bei einem Trapez (wie ich es beschrieben habe) vielleicht ja nicht mehr parallel zu den Achsen interpoliert werden DÜRFTE (ich muss da noch mal rechnen).
_________
Uwe, "abschreiben" habe ich damit ja auch nicht gemeint. Schon wegen anderer Funktionen nicht.
Antworten Top
#18
Alles gut, ich habe deine Lambda jetzt nicht näher durchforstet. Irgendwo wird es immer mal irgendwelche Ähnlichkeiten oder gar Gleichheiten geben. 

Gruß Uwe
Antworten Top
#19
   
????
Antworten Top
#20
(08.01.2026, 14:53)Egon12 schrieb: Alles gut, ich habe deine Lambda jetzt nicht näher durchforstet. Irgendwo wird es immer mal irgendwelche Ähnlichkeiten oder gar Gleichheiten geben. 

Gruß Uwe

War nie mein Vorwurf. Immer gut, wenn man es selbst einmal entwirft. Und bei Dir sieht man es ja, dass Du nichts abgekupfert hast.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste