Finden des kleinsten geraden Werts (Microsoft Excel)
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: