Guten Morgen Community,
im Anhang ist eine Beispieldatei zur Erläuterung meines Problems.
Ich möchte gerne bei y=6 den zugehörigen x-Wert. Dazu verwende ich eine Geradengleich durch zwei Punkte (Trendlinie hilft mir nicht weiter!). Um die Gerade auf zu stellen muss ich den gelb markierten Bereich als Variable einlesen. Wie könnte ich das realisieren?
Grüße Abi
Hallo,
lineare Interpolation:
[html]
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E |
3 | x | y | | | |
4 | 100 | 0 | | 6 | 117,5 |
5 | 105 | 2 | | | |
6 | 110 | 3 | | | |
7 | 115 | 5 | | | |
8 | 120 | 7 | | | |
9 | 125 | 19 | | | |
10 | 130 | 79 | | | |
11 | 135 | 79 | | | |
12 | 140 | 82 | | | |
13 | 145 | 82 | | | |
Zelle | Formel |
E4 | =(INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)+1-ZÄHLENWENN($B$4:$B$10;D4))-INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)))/(INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)+1-ZÄHLENWENN($B$4:$B$10;D4))-INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)))*(D4-INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)))+INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)) |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
[/html]
Hallo Edgar,
vielen Dank für deine Lösung! Eigentlich dachte ich eher an eine VBA Lösung, die Formel ist doch schon sehr komplex, aber funktionieren tut sie gut! Bis auf wenn zufällig mal ein y-Wert von 6 gemessen wurde.
Vielen Dank und Grüße
Abi
Hallo,
dann geht das so:
Code:
=WENN(ZÄHLENWENN($B$4:$B$10;D4);INDEX(A:A;VERGLEICH(D4;B:B;0));(INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)+1-ZÄHLENWENN($B$4:$B$10;D4))-INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)))/(INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)+1-ZÄHLENWENN($B$4:$B$10;D4))-INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)))*(D4-INDEX($B$4:$B$10;VERGLEICH(D4;$B$4:$B$10;1)))+INDEX($A$4:$A$10;VERGLEICH(D4;$B$4:$B$10;1)))
Vielen Dank für deine Formel Edgar!
Eine einfache VBA Lösung wäre für meine Anwendung glaube ich aber hilfreicher. Die eingelesenen Variablen würde ich später gebrauchen können.
Gruß Abi
Hallo Edgar,
nochmals vielen Dank für deinen Beitrag, dieser hat mir sehr geholfen. Nun stellst sich mir noch eine Frage. Es gibt fälle, in denen eine lineare Interpolation nicht möglich ist, da der Bereich das einfach nicht zulässt.
Konkret in diesem Beispiel: Es wird nie ein Wert von 6 im Y-Bereich erreicht, die Formel will aber bei 6 linear interpolieren (Was sie natürlich nicht kann, weil der Wert nicht erreicht wird)
Die Formel zeigt dann #BEZUG! an. Wie könnte ich das denn Lösen? Wäre cool wenn dann dort erscheint: "Bereich nicht vorhanden" oder so. (Erstelle ein Analysebericht per Makro mit Textbausteinen)
Vielen Dank und Grüße
Dirk
Welches X willst Du haben bei Y=79 oder Y=82? Das müsste ja auch eine Art Meldung ergeben.
Was machst Du bei nicht streng monotonen Verläufen? Y zu ermitteln - kein Problem. X schon.
D7: 6
D9: =VERGLEICH(D7;B:B)
F7: =INDEX(A:A;D$9)
F8: =INDEX(A:A;D$9+1)
F9: =INDEX(B:B;D$9)
F10: =INDEX(B:B;D$9+1)
F12: =(D7-F9)/(F10-F9)*(F8-F7)+F7 gesuchtes X für streng monotone Steigungen
F13: =MIN(D7*5/{1.2.12.60}+{1140.1230.1405.1481}/12)+MAX(;(2-D7)*2,5) ergibt X ohne Hilfszellen für Y von 0 bis 79