Stuart hat eine Reihe von Lesungen in einem Arbeitsblatt. In der ersten Spalte hat er Daten, die mit den Messwerten verknüpft sind, und in der zweiten Spalte hat er die tatsächlichen Messwerte. Stuart hätte gerne eine Formel, die das erste Datum zurückgibt, an dem ein Messwert negativ wurde. Mit anderen Worten, die Formel sollte in der zweiten Spalte nach dem ersten negativen Wert suchen und dann das diesem Wert zugeordnete Datum zurückgeben.

Die zweite Spalte kann mehrere negative Werte enthalten, er benötigt jedoch nur das Datum, das dem ersten negativen Wert zugeordnet ist.

Es gibt eine Reihe von Möglichkeiten, wie dieses Problem angegangen werden kann. Alle Methoden setzen voraus, dass die Daten in Spalte A in aufsteigender Reihenfolge vorliegen und dass die Messwerte in Spalte B in keiner erkennbaren Reihenfolge vorliegen. (Mit anderen Worten, die Messwerte können an jedem beliebigen Datum über und unter 0 springen.)

Vorausgesetzt, Sie haben eine gewisse Kontrolle über das Layout des Arbeitsblatts, können Sie in Spalte C eine Zwischenarbeitsspalte hinzufügen, die angibt, wann ein Wert negativ ist. Platzieren Sie einfach eine Formel wie diese in Spalte C rechts von jeder Lesung:

=IF(B1<0,A1,"")

Diese Formel gibt das Datum in Spalte A zurück, wenn der Wert in B unter 0 (negativ) liegt, andernfalls wird nichts zurückgegeben. Sie müssen dann nur noch nach dem Mindestwert in Spalte C suchen:

=MIN(C:C)

Formatieren Sie das Ergebnis als Datum und stellen Sie das Datum dar, an dem die Messwerte zum ersten Mal negativ wurden.

Ein anderer Ansatz besteht darin, auf die Verwendung der Zwischenspalte zu verzichten und eine Arrayformel zu verwenden, um das Datum zu bestimmen. Angenommen, die Daten liegen im Bereich A1: B42, können Sie eine der folgenden Formeln verwenden:

=MIN(IF(B1:B42<0,A1:A42,""))

=OFFSET($A$1,MATCH(TRUE,$B$1:$B$42<0,0)-1,,,)

=INDEX(A:A,MIN(IF(B1:B42<0,ROW(B1:B42))))

=INDEX(A1:A42,MATCH(TRUE,B1:B42<0,0))

=INDIRECT("A"&MIN(IF(B1:B42<0,ROW(B1:B42))),TRUE)

Denken Sie daran, dass dies alles Array-Formeln sind. Sie müssen also die gewünschte Formel eingeben, indem Sie Umschalt + Strg + Eingabetaste drücken. Formatieren Sie das Ergebnis als Datum und es ist die Antwort, die Sie suchen.

Wenn Sie möchten, können Sie auch ein einfaches Makro verwenden, um das Datum zu bestimmen:

Function GetFirstNegative(rngdata)

Dim c As Variant

For Each c In rngdata         If c < 0 Then             GetFirstNegative = c.Offset(0, -1)

Exit Function         Else             GetFirstNegative = "All Data is Positive"

End If     Next End Function

In Ihrem Arbeitsblatt würden Sie diese benutzerdefinierte Funktion folgendermaßen verwenden:

=GetFirstNegative(B1:B42)

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (12321) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.

Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: