Emin hat eine Reihe von Zellen, in denen es entweder Text oder Zahlen geben kann.

Er braucht einen Weg, um die kleinste gerade Zahl im Bereich zu bestimmen. Emin fragt sich, ob dies mit einer Formel möglich ist oder ob er eine benutzerdefinierte Funktion benötigt.

Es gibt verschiedene Möglichkeiten, wie Sie dieses Problem angehen können. Eine Methode, die Sie ausprobieren können, ist die Verwendung der DMIN-Funktion. Sie müssen lediglich sicherstellen, dass Ihre Datenspalte einen Header enthält (z. B. „MyData“), und anschließend an einer abgelegenen Stelle ein kleines Kriterienfeld erstellen. Beispielsweise möchten Sie möglicherweise das Kriterienfeld erstellen, indem Sie eine Kopfzeile (z. B. „Min Even“) in Zelle F1 einfügen und die Formel = ISEVEN (MyData) in Zelle F2 einfügen. Zelle F2 ergibt einen #WERT! Fehler, aber das ist in diesem Fall in Ordnung. Sie können dann die folgende Formel in einer anderen Zelle verwenden:

=DMIN(A1:A100, 1, F1:F2)

Wenn Sie möchten, können Sie eine Array-Formel verwenden, um den niedrigsten geraden Wert zu ermitteln. Da Ihr Datenbereich sowohl Text als auch Zahlen enthalten kann, funktionieren jedoch nicht alle Arrayformeln. Das Folgende erzeugt beispielsweise einen Fehler, wenn sich im Datenbereich alles andere als Zahlen befinden:

=MIN(IF(MOD(A1:A100,2)=0,A1:A100))

Um sicherzustellen, dass Sie keine Fehler erhalten, müssen Sie die Formel überprüfen:

=MIN(IF(ISNUMBER(A1:A100),IF(NOT(MOD(A1:A100,2)=0),"",A1:A100)))

Denken Sie auch hier daran, dass dies eine Array-Formel ist. Sie müssen sie daher mit Umschalt + Strg + Eingabetaste eingeben.

Wenn Sie möchten, können Sie eine benutzerdefinierte Funktion erstellen, die den gewünschten Wert zurückgibt:

Function MinEven(rng As Range)

Dim rCell As Range     Dim bNotFound As Boolean

Application.Volatile     MinEven = 9.99 * 10 ^ 307     bNotFound = True     For Each rCell In rng         If Application.WorksheetFunction.IsNumber(rCell) Then             If rCell Mod 2 = 0 Then                 If rCell < MinEven Then                     MinEven = rCell                     bNotFound = False                 End If             End If         End If     Next     If bNotFound Then MinEven = CVErr(xlErrNum)

End Function

Um dieses Makro zu verwenden, verwenden Sie einfach Folgendes mit einer Zelle Ihres Arbeitsblatts:

=MinEven(A1:A100)

Wenn der Bereich keine geraden Zahlen enthält, gibt die Funktion einen # Number-Fehler zurück.

_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 (119) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: