Ist Excel SVERWEIS die beste Wahl für meine Anwendung?

Ist Excel SVERWEIS die beste Wahl für meine Anwendung?

Ich habe eine Excel-Datei, die den maximalen Sonnenstand im Jahresverlauf verfolgt, eine Zeile pro Tag, bei einem bestimmten Breiten-/Längengrad. Wenn ich den Breiten-/Längengrad bearbeite, ändert sich die tägliche maximale Höhe.

Ich möchte eine Formel schreiben, die die gesamte Datenbank (2 Spalten, 366 Zeilen) abfragt und mir den Tag angibt, an dem die Sonne erstmals eine bestimmte Höhe erreicht, und dann noch einmal, wenn sie diese Höhe nicht mehr erreicht.

Beispielsweise erreicht Honolulu am 1. Mai einen maximalen Sonnenhöhenwinkel von 80 Grad und bleibt bei 80 Grad oder mehr (einmal täglich), bis die Temperatur am 19. August wieder unter 80 Grad fällt.

Ich hätte gerne eine Excel-Funktion die diese beiden Daten generiert, da ich die Höhendaten bereits habe.

Danke!

Antwort1

INDEX()Die Lösung besteht hier darin, eine Kombination aus und MATCH()in einer Array-Formel zu verwenden .

Ich habe zwei Array-Formeln geschrieben, die das Problem lösen.

Startdatum: {=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 0), 1)}

Endtermin: {=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 1), 1)}

So funktionieren sie

  • Elevationist ein benannter Bereich, der alle Höhenangaben für das Jahr enthält, Find_Elevationist ein benannter Bereich, der der ist, nach dem wir suchen. In Ihrem Beispiel ist dies80
  • Der Ausdruck (Elevation>=Find_Elevation)gibt ein Array von TRUEund zurück FALSE(weshalb dies eine Array-Formel sein muss). Er gibt TRUEimmer dann etwas zurück, wenn die Höhe für jeden Tag größer oder gleich der gesuchten Höhe ist.
  • Die MATCH()Funktion mit dem dritten Argument 0gibt den Index des ersten Mals zurück, an dem sie auftritt TRUE. Dies ist der Index des ersten Tages, an dem die Sonne über der von Ihnen gesuchten Höhe steht.
  • Wenn Sie das dritte Argument 1in der MATCH()Funktion verwenden, wird der letzte Zeitpunkt zurückgegeben, an dem angezeigt wurde TRUE. Dies ist der Index des letzten Tages, an dem die Sonne über der von Ihnen gesuchten Höhe steht.
  • Wir übergeben beide als zweites Argument an INDEX(), und es gibt das Datum zurück, das dem von zurückgegebenen Wert entspricht.MATCH()

Ich habe FormulaChop verwendet, um die obigen Formeln zu generieren (vollständige Offenlegung: Ich habe FormulaChop geschrieben). Hierist ein Screenshot davon, wie FormulaChop diese Formel anzeigt.Hierist ein Link zu einer Tabelle, die die Formel veranschaulicht. Bitte entschuldigen Sie, dass ich die Sonnenhöhen erfinden musste.

verwandte Informationen