Zum Inhalt springen

Excel Problem


Empfohlene Beiträge

Geschrieben

Ich bin dabei ein Flugplanungs"programm" für die ES Citation X zu schreiben.

Dieses "Programm" schreibe ich in Excel und nun habe ich folgendes Problem:

 

Es gibt angaben zum Fuelverbrauch und der Flugzeit zu verschiedenen Distanzen und Flughöhen

 

Also etwa so

 

Flughöhe_____15000_______25000__________35000

Distanz

 

100________0:17 / 946____0:18 / 825________xxx

 

200________0:31 / 1713___0:30 / 1464______0:29 / 1320

 

300________0:45 / 2482____0:42 / 2104_____0:41 / 1885

 

 

und so weiter. (Die Striche musste ich machen, da sonst die Leerzeichen ignoriert würden, was die ganze Tabelle über den Haufen werfen würde.)

 

Nun möchte ich folgendes machen:

 

Aus der Distanz, die man natürlich angibt, und der gewünschten Flughöhe, sollte nun Excel das benötigte Fuel ausspucken.

 

Also wenn jemand bei Distanz 300NM und bei der Flughöhe 25000ft angegeben hat, sollte Excel in der Zelle zur Fuelberechnung nun prüfen ob die Distanz im Bereich 300-400 liegt und ob die Flughöhe im Bereich 25000-35000 liegt und sollte nun, da es herausgefunden hat, dass diese Werte stimmen, den Fuelverbrauch von 2104 lbs anzeigen.

 

Ich hoffe man versteht, was ich meine, ansonsten sagt es, ich wäre nämlich wirklich sehr froh, wenn ich dieses Problem irgendwie lösen könnte.

 

Ich habe es schon mit =WENN(Argument1,Argument2;...) versucht, aber die Funktion kennt offenbar keine zwei Argumente.

 

Mfg

Räffu

Geschrieben

Ich sitze wohl schon zu lange dahinter, die Lösung ist ganz einfach:D :

 

=WENN(UND(Argument1;Argument2);"FUEL";...)

 

Na ja, wie auch immer, ich liebe das Gefühl, wenn etwas funktioniert wie man will.:)

 

Mfg Räffu

Geschrieben

Hallo Räffu,

 

ja, manchmal ist die Lösung einfach - wenn man weiss wie.

 

Ich habe mir was Ähnliches zur Fuel-Berechnung der MD-11 gemacht.

Die Angaben zur optimalen Befüllung habe ich aus dem Manual des Programmierers errechnet. Nun macht dies bei mir auch die Excel-Tabelle.

Und ich bin wirklich froh, habe ich diese Tabelle, denn heute müsste ich mich wieder in die ganze Materie reindenken.

 

Das Ganze sieht bei mir so aus:

 

md11_notizen.jpg

 

Wie du im Formelbezug sehen kannst (für den Tank links) musste ich eine komplizerte WENN-Formel einfügen.

Die Berechnung basiert auf den Berechnungen des ZFW vom Load-Editor und der geschätzten Flugzeit.

Weiter berücksichtigt wird das max. Abfluggewicht sowie max. Fuel, wie natürlich auch die Ladekapazität der einzelnen Tanks.

 

Wird das max. Abfluggewicht überschritten, erscheint unter "Total Fuel" der Text "zuviel". Die übrigen Eingaben wie Flughöhe und Distanz sind nur informativ.

In den oberen Feldern kann ich wichtige Angaben zur Navigation eingeben.

 

Die ganze Tabelle ist so formatiert, dass sie als HTML-File abgespeichert im Kniebrett angezeigt werden kann. Dafür muss man die Datei im Ordner "Uries" als "nobrief.htm" abspeichern. So kann ich die ganzen Flugvorbereitungen vor Aufstarten des FS erledigen.

Geschrieben

Also die Methode mit =WENN(UND(Argument1;Argument2);"FUEL";...) hat nicht funktioniert, da diese Formel etwa 5'000 Zeichen lang wurde und etwa 180-fach verschachtelt war:D.

 

Aber es gibt einen anderen Weg, den ich kurz erläutern möchte, damit sich ein anderer Nerven sparen kann, falls er auch mal so etwas benötigt.

 

Es gibt da eine Formel =INDEX(Matrix;Zeile;Spalte)

 

Mithilfe dieser Formel kann man innerhalb einer Matrix (z.B. A1:H12) einen Wert anzeigen lassen, der auf Zeile x und in spalte y steht.

 

Also =INDEX(A1:H12;3;4) gibt den Wert zurück, der in der 3. Zeile (Also A1 ist die erste Zeile, A2 die zweite usw.) und in der 4. Spalte der Matrix steht.

 

Das ist der Grundstein.

 

Dazu kommt die Formel =VERGLEICH(Suchkriterium;Suchmatrix;Vergleichstyp)

 

Diese Formel gibt einem zurück, wieviele Zeilen oder Spalten (je nachdem, in welche Richtung die angegebene Matrix ihre Ausdehnung hat) Entfernung der unter Suchkriterium angegebene Wert zu finden ist.

 

Die Suchmatrix definiert den Bereich in dem Gesucht wird. Es können Suchmatrizen von maximum einer Zeile oder Spalte eingegeben werden, also A1:A12. A1:H12 würde nicht funktionieren.

 

Die Zahl bei Vergleichstyp kann entweder 1 (wenn nicht genau, auf nächstkleineres abrunden), 0 (genauer Wert muss gefunden werden) oder -1 (wenn nicht genau, auf nächstgrösseres aufrunden) sein

Für den Wert 1 müssen die zu durchsuchenden Werte vom Kleinsten zum Grössten angeordnet sein.

Für den Wer 0 spielt die Anordnung keine Rolle.

Für den Wert -1 müssen die zu durchsuchenden Werte vom Grössten zum Kleinsten angeordnet sein.

 

Also man sieht vielleicht worauf ich aus bin: Mit der Formel =INDEX lasse ich mir den gesuchten Wert anzeigen (also konkret das Fuel).

Da aber die Position der Fuel-menge natürlich von Höhe und Distanz abhängig ist, sind die Werte von "Zeile" und "Spalte" variabel.

 

Und bei dem Wert Zeile kommt die Formel VERGLEICH hin.

Als Suchkriterium kommt die vom Benutzer angegebene Distanz hin, die Suchmatrix ist die Spalte mit den Distanzen und der Vergleichstyp -1, da es immer die Fuel-menge für die nächstgrössere Distanz anzeigen soll, wenn die angegebene Distanz nicht genau so in der Tabelle steht.

 

Beim Wert Spalte kommt die selbe Formel hin,

nur ist das Suchkriterium die vom Benutzer angegebene Flughöhe, die Suchmatrix ist die Zeile mit den verschiedenen Flughöhen und der Vergleichstyp ist wieder -1.

 

Und fertig sieht das Ganze dann so aus (sorry für die quali, aber man erkennt, was man braucht)

FuelBurn.JPG

Die grau eingerahmte Formel ist diejenige, die bei Fuel im ebenfalls grau eingefärbten Kästchen steht.

 

Wichtig ist hier, dass die Suchmatrix bei der VERGLEICH Formel immer den Wert A1:... hat, obwohl in diesem Feld (A1) eigentlich kein Wert steht. Aber sonst liefert die Formel VERGLEICH das Ergebnis, dass Wert so und so in der 5. Zeile der Matrix steht (Weil die Matrix ja erst bei A2 beginnt, in Wirklichkeit steht er aber in der 6. Zeile.

Folgefehler dieser falschen Angaben wäre natürlich eine fehlerhafte Anzeige bei der Formel INDEX, die ja dann einen anderen Wert als den eigentlich gesuchten ausspuckt.

 

So, ich hoffe man kommt nach, was ich meine.

 

Grüsse

Räffu

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...