Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bitte um Hilfe... Interpolation
#1
Question 
Hallo zusammen,

die Formel:

y = f(x1) + (x-x1) / (x2-x1) * (f(x2) - f(x1))

ist die Formel für eine lineare Interpolation. Damit ermittele ich wieviel 'GND ROLL (m)' ich bei welcher 'PA IN FEET' (siehe I6) benötige. Das Ergebnis soll dann im I8 angezeigt werden. Das funktioniert mit der Formel auch supi nur, wird dabei die Temperatur (I6) dabei völlig außer Acht gelassen.

Mein Wunsch wäre eine Formel für:

Wieviel 'GND ROLL' benötige ich bei einer bestimmten 'PA IN FEET', die ich in das Feld I5 eintragen möchte UND bei welcher Temperatur, dessen Wert ich im Feld I6 eintragen möchte? Sicher kann ich die Werte aus der Tabelle ablesen, aber mich interessiert auch die Werte dazwischen. Erschwerend kommt noch hinzu, dass die Werte leider nicht linear sind (siehe Diagramm). 22

Leute Ihr wäret meine Helden, wenn Ihr mir hier helfen könnt... Vielen Vielen Dank vorab.

Cheers
Clipper
.xlsx   Performance Beispiel.xlsx (Größe: 15,79 KB / Downloads: 7)
Antwortento top
#2
Hallo nochmal,

ich komme der Lösung immer näher. Habe einfach mal versucht Excel zu erklären: "Wenn du größer bist als A aber kleiner als B dann benutze die Formel, wenn du größer bist als B aber kleiner als C dann diese Formel!" Und so sieht das dann aus.


=WENN(UND(I5>=A5;I5<=A6);(B5)+(I5-A5)/(A6-A5)*(B6-B5);
WENN(UND(I5>=A6;I5<=A7);(B6)+(I5-A6)/(A7-A6)*(B7-B6);
WENN(UND(I5>=A7;I5<=A8);(B7)+(I5-A7)/(A8-A7)*(B8-B7);
WENN(UND(I5>=A8;I5<=A9);(B8)+(I5-A8)/(A9-A8)*(B9-B8);
WENN(UND(I5>=A9;I5<=A10);(B9)+(I5-A9)/(A10-A9)*(B10-B9);
WENN(UND(I5>=A10;I5<=A11);(B10)+(I5-A10)/(A11-A10)*(B11-B10);
WENN(UND(I5>=A11;I5<=A12);(B11)+(I5-A11)/(A12-A11)*(B12-B11);
WENN(UND(I5>=A12;I5<=A13);(B12)+(I5-A12)/(A13-A12)*(B13-B12)))))))))

Die Formel sieht komplizierter aus als es wirklich ist: ABER damit kann ich nun nicht linear interpolieren, ist das cool oder was?!

ABER:

Noch immer wird die Temperatur nicht berücksichtigt. Ich muss es schaffen Excel folgenden Satz aufzuschwatzen:

"Wenn du größer bist als A und kleiner als B UND größer als 0°C und kleiner als 10°C dann nutze die Formel, wenn du.... usw usw"

Hoffe ich komme zur einer Lösung und werde es hier berichten. Eure Hilfe wäre super. Vielen Dank.


Gruß
Clipper


Angehängte Dateien
.xlsx   Performance Beispiel.xlsx (Größe: 16,03 KB / Downloads: 4)
Antwortento top
#3
Hi Clipper,

was soll den passieren, wenn deine Temperaturwerte unter oder über deinen Grenzwerten liegen, also kleiner Null oder größer 10 Grad?
Mit freundlichen Grüßen  :)
Michael
Antwortento top
#4
Hallo Michael,

vielen Dank für die prompte Antwort.

Also

1.) Wenn die Temperatur unter 0°C eingegeben wird, dann soll das Ergebnis aussehen als hätte ich exakt 0°C eingegeben. Also unter 0°C ist gleich 0°C.

2.) Wenn die Temperatur zwischen 0°C und 9°C eingegeben wird, dann soll das Ergbenis die Interpolation aus der Spalte B nehmen. Zwischen 10°C und 19°C die Spalte C usw

3.) Wenn die Temperatur über 40°C eingegeben wird, dann soll das Ergebnis aussehen als hätte ich exakt 40°C eingegeben. Also über 40°C ist gleich 40°C.

Danke

Cheers
Clipper
Antwortento top
#5
Hallo nochmal,

fast gelöst. Aber eben nur fast: Nun werden auch die Temperaturen berücksichtigt (auch außerhalb der Grenzwerten) aber die Interpolation zwischen den Temperaturen sind noch nicht eingearbeitet. Also die Temperatur muss exakt <=0, 10, 20, 30 oder >=40 sein. Aber seht selbst. Wie schaffe ich es nun die zweite Interpolation hier einzugliedern? Irgendwelche Ideen?

=WENN (UND(UND (I5>=A5  ;I5<=A6 );I6<=B1);       (B5 )+(I5-A5 ) / (A6 -A5 ) * (B6 -B5 );          
 WENN (UND(UND (I5>=A6  ;I5<=A7 );I6<=B1);       (B6 )+(I5-A6 ) / (A7 -A6 ) * (B7 -B6 );
 WENN (UND(UND (I5>=A7  ;I5<=A8 );I6<=B1);       (B7 )+(I5-A7 ) / (A8 -A7 ) * (B8 -B7 );
 WENN (UND(UND (I5>=A8  ;I5<=A9 );I6<=B1);       (B8 )+(I5-A8 ) / (A9 -A8 ) * (B9 -B8 );          
 WENN (UND(UND (I5>=A9  ;I5<=A10);I6<=B1);       (B9 )+(I5-A9 ) / (A10-A9 ) * (B10-B9 );
 WENN (UND(UND (I5>=A10 ;I5<=A11);I6<=B1);       (B10)+(I5-A10) / (A11-A10) * (B11-B10);
 WENN (UND(UND (I5>=A11 ;I5<=A12);I6<=B1);       (B11)+(I5-A11) / (A12-A11) * (B12-B11);
 WENN (UND(UND (I5>=A12 ;I5<=A13);I6<=B1);       (B12)+(I5-A12) / (A13-A12) * (B13-B12);

 WENN (UND(UND (I5>=A5  ;I5<=A6 );I6=C1);       (C5 )+(I5-A5 ) / (A6 -A5 ) * (C6 -C5 );          
 WENN (UND(UND (I5>=A6  ;I5<=A7 );I6=C1);       (C6 )+(I5-A6 ) / (A7 -A6 ) * (C7 -C6 );
 WENN (UND(UND (I5>=A7  ;I5<=A8 );I6=C1);       (C7 )+(I5-A7 ) / (A8 -A7 ) * (C8 -C7 );
 WENN (UND(UND (I5>=A8  ;I5<=A9 );I6=C1);       (C8 )+(I5-A8 ) / (A9 -A8 ) * (C9 -C8 );
 WENN (UND(UND (I5>=A9  ;I5<=A10);I6=C1);       (C9 )+(I5-A9 ) / (A10-A9 ) * (C10-C9 );
 WENN (UND(UND (I5>=A10 ;I5<=A11);I6=C1);       (C10)+(I5-A10) / (A11-A10) * (C11-C10);
 WENN (UND(UND (I5>=A11 ;I5<=A12);I6=C1);       (C11)+(I5-A11) / (A12-A11) * (C12-C11);
 WENN (UND(UND (I5>=A12 ;I5<=A13);I6=C1);       (C12)+(I5-A12) / (A13-A12) * (C13-C12);

 WENN (UND(UND (I5>=A5  ;I5<=A6 );I6=D1);       (D5 )+(I5-A5 ) / (A6 -A5 ) * (D6 -D5 );          
 WENN (UND(UND (I5>=A6  ;I5<=A7 );I6=D1);       (D6 )+(I5-A6 ) / (A7 -A6 ) * (D7 -D6 );
 WENN (UND(UND (I5>=A7  ;I5<=A8 );I6=D1);       (D7 )+(I5-A7 ) / (A8 -A7 ) * (D8 -D7 );
 WENN (UND(UND (I5>=A8  ;I5<=A9 );I6=D1);       (D8 )+(I5-A8 ) / (A9 -A8 ) * (D9 -D8 );
 WENN (UND(UND (I5>=A9  ;I5<=A10);I6=D1);       (D9 )+(I5-A9 ) / (A10-A9 ) * (D10-D9 );
 WENN (UND(UND (I5>=A10 ;I5<=A11);I6=D1);       (D10)+(I5-A10) / (A11-A10) * (D11-D10);
 WENN (UND(UND (I5>=A11 ;I5<=A12);I6=D1);       (D11)+(I5-A11) / (A12-A11) * (D12-D11);
 WENN (UND(UND (I5>=A12 ;I5<=A13);I6=D1);       (D12)+(I5-A12) / (A13-A12) * (D13-D12);

 WENN (UND(UND (I5>=A5  ;I5<=A6 );I6=E1);       (E5 )+(I5-A5 ) / (A6 -A5 ) * (E6 -E5 );          
 WENN (UND(UND (I5>=A6  ;I5<=A7 );I6=E1);       (E6 )+(I5-A6 ) / (A7 -A6 ) * (E7 -E6 );
 WENN (UND(UND (I5>=A7  ;I5<=A8 );I6=E1);       (E7 )+(I5-A7 ) / (A8 -A7 ) * (E8 -E7 );
 WENN (UND(UND (I5>=A8  ;I5<=A9 );I6=E1);       (E8 )+(I5-A8 ) / (A9 -A8 ) * (E9 -E8 );
 WENN (UND(UND (I5>=A9  ;I5<=A10);I6=E1);       (E9 )+(I5-A9 ) / (A10-A9 ) * (E10-E9 );
 WENN (UND(UND (I5>=A10 ;I5<=A11);I6=E1);       (E10)+(I5-A10) / (A11-A10) * (E11-E10);
 WENN (UND(UND (I5>=A11 ;I5<=A12);I6=E1);       (E11)+(I5-A11) / (A12-A11) * (E12-E11);
 WENN (UND(UND (I5>=A12 ;I5<=A13);I6=E1);       (E12)+(I5-A12) / (A13-A12) * (E13-E12);

 WENN (UND(UND (I5>=A5  ;I5<=A6 );I6>=F1);       (F5 )+(I5-A5 ) / (A6 -A5 ) * (F6 -F5 );          
 WENN (UND(UND (I5>=A6  ;I5<=A7 );I6>=F1);       (F6 )+(I5-A6 ) / (A7 -A6 ) * (F7 -F6 );
 WENN (UND(UND (I5>=A7  ;I5<=A8 );I6>=F1);       (F7 )+(I5-A7 ) / (A8 -A7 ) * (F8 -F7 );
 WENN (UND(UND (I5>=A8  ;I5<=A9 );I6>=F1);       (F8 )+(I5-A8 ) / (A9 -A8 ) * (F9 -F8 );
 WENN (UND(UND (I5>=A9  ;I5<=A10);I6>=F1);       (F9 )+(I5-A9 ) / (A10-A9 ) * (F10-F9 );
 WENN (UND(UND (I5>=A10 ;I5<=A11);I6>=F1);       (F10)+(I5-A10) / (A11-A10) * (F11-F10);
 WENN (UND(UND (I5>=A11 ;I5<=A12);I6>=F1);       (F11)+(I5-A11) / (A12-A11) * (F12-F11);
 WENN (UND(UND (I5>=A12 ;I5<=A13);I6>=F1);       (F12)+(I5-A12) / (A13-A12) * (F13-F12)))))))))))))))))))))))))))))))))))))))))

Anbei nochmal die Datei.

Gruß
Clipper


Angehängte Dateien
.txt   fORMEL.txt (Größe: 3,6 KB / Downloads: 3)
.xlsx   Performance Beispiel.xlsx (Größe: 16,62 KB / Downloads: 5)
Antwortento top
#6
Hallo Clipper

Wie meinst du das mit:

Zitat:aber die Interpolation zwischen den Temperaturen ist noch nicht eingearbeitet

Was erwartest du konkret beim unten aufgeführten Beispiel?

Spalte mit Bedingung

 
HI
5PA IN FEET0
6TEMP15 °C
7
8ERGEBNIS?

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

 
Gruss Sepp
Antwortento top
#7
N'Abend Sepp,

EDIT: Bild konnte nicht hinzugefügt werden.


Die Temperaturen zwischen 0°C und 40°C ergänzt werden. Also die Werte für 0° und 10° sind ja bekannt, aber was ist mit 3°C? Bsp.:

1.) Geg.: PA IN FEET 1500 & Temp 10°C:
     Ergb. 319,5 m
Das da oben kann meine Formel. Die Werte sind in der 10°C Spalte bekannt und die 1500 ft ist eine Interpolation zwischen 1000 ft und 2000 ft.

2.) Geg.: PA IN FEET 1500 & Temp 3°C:
     Ergb. ???
Das kann meine Formel noch nicht. Es muss aber zwischen 296 m (das wäre bei 0°C) und 319,5 m (das wäre bei 10°C) liegen.

Die Formel soll also nicht nur die Spalte A interpolieren sondern auch zusätzlich die Zeile 1. Klar, ich könnte vielleicht die Spalten hinzufügen (hätte dann 40 Spalten) und die Fragezeichen mit einem Trend zwischenfüllen. Aber es sollen eben keine 40 Spalten sein sondern lediglich eine Interpolation.

Ich versuche gleich nochmal was zu machen und melde mich dann.


Hoffe das war verständlich.

Und danke für die Antwort.

Gruß
Clipper
Antwortento top
#8
Also ich habe nun eine neue Datei eingefügt. Diese enthält nun 40 Spalten für Temperaturen von 0°C, 1°C, 2°C usw bis einschließlich 40°C.

Habe mich für diese Variante entschieden da ich mit den Formeln den Überblick zu verlieren schien. Jetzt funktioniert alles. Habe die Formel aber noch nicht zu Ende gemacht. Ab 7°C muss ich weitermachen.

Bis dann. Ich melde mich nochmal.

Clipper


Angehängte Dateien
.xlsx   Performance Beispiel.xlsx (Größe: 14,37 KB / Downloads: 4)
Antwortento top
#9
Hallo,

für diese Tabelle würde ich die Formel nehmen:


Code:
=INDEX(B5:AP13;VERGLEICH(B15;A5:A13;1);VERGLEICH(MAX(0;B16);B1:AP1;1))
Gruß
Opa Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antwortento top
#10
Hallo Clipper
 
Mit deinem bisherigen Ansatz wirst du das nie schaffen.
Deine bisherige Formel bis 7°C hat schon 4109 Zeichen
Maximale Anzahl von Zeichen in Formeln ist aber  bei Excel 2010 auf 8192 begrenzt


Hier deshalb ein Lösungsvorschlag von mir.
 
Tabelle1 (2)

  " />
AB
15PA IN FEET1500
16TEMP-1 °C
17
18ERGEBNIS296
Formeln der Tabelle
ZelleFormel
B18=INDEX(INDEX(B5:AP14;0;MIN(40;MAX(0;B16))+1)+(B15-A5:A14)*(INDEX(B6:AP15;0;MIN(40;MAX(0;B16))+1)-INDEX(B5:AP14;0;MIN(40;MAX(0;B16))+1))/(A6:A15-A5:A14);VERGLEICH(B15;A5:A14;1))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

 
Ich werde später noch versuchen, eine Lösung ohne diese 40 Spalten, mit Hilfe von Interpolation zu realisieren. Das wird mir aber frühestens heute Abend möglich sein.
 
Gruss Sepp
Antwortento top


Gehe zu:


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