Wenn Sie Excel verwenden, um eine Gruppe von Zellen zu analysieren, die Text enthalten, möchten Sie möglicherweise die Anzahl der Zellen bestimmen, die Großbuchstaben enthalten, die Anzahl, die Kleinbuchstaben enthält, und die Anzahl, die Großbuchstaben enthalten.

Es gibt zwei Möglichkeiten, wie Sie sich dieser Aufgabe nähern können: Verwenden einer regulären Arbeitsblattformel oder Definieren Ihrer eigenen benutzerdefinierten Funktion.

Wenn sich der zu bewertende Text in Spalte A ab Zelle A1 befindet, können Sie in Zelle B1 die folgende Formel verwenden:

=IF(A1>"",IF(EXACT(UPPER(A1),A1),"Upper", IF(EXACT(LOWER(A1),A1),"Lower","Mixed")),"")

Die Formel prüft, ob in A1 etwas enthalten ist. Wenn dies der Fall ist, wird die EXACT-Funktion verwendet, um den Inhalt mit verschiedenen Konvertierungen des Zelleninhalts zu vergleichen. Die Formel gibt eine leere Zeichenfolge zurück, wenn die Zelle A1 leer ist oder die Wörter Upper, Lower oder Mixed.

Kopieren Sie die Formel in Spalte B so weit wie nötig, und verwenden Sie dann den folgenden Formeltyp, um die Anzahl zu bestimmen:

=COUNTIF(B:B,"Upper")

Ersetzen Sie „Upper“ durch „Lower“ oder „Mixed“, um die Anzahl der Zellen in Klein- oder Großbuchstaben zu ermitteln.

Wenn Sie Formeln auf diese Weise verwenden, müssen Sie Ihrem Arbeitsblatt natürlich eine Spalte hinzufügen. Es gibt einen anderen Formelansatz, den Sie verwenden können, bei dem auf diese Weise keine Zwischenspalte verwendet wird.

Betrachten Sie die folgende Formel, die die Anzahl der Zellen im Bereich A1: A100 zurückgibt, die nur Großbuchstaben enthalten:

=SUMPRODUCT(--(EXACT(A1:A100,UPPER(A1:A100))),--(A1:A100<>""))

Eine Variation dieser Formel kann verwendet werden, um die Anzahl der Kleinbuchstaben zurückzugeben. Das einzige, was im Folgenden geändert wird, ist die Verwendung der LOWER-Funktion anstelle der UPPER-Funktion:

=SUMPRODUCT(--(EXACT(A1:A100,LOWER(A1:A100))),--(A1:A100<>""))

Um Zellen zu bestimmen, die Groß- und Kleinschreibung enthalten, müssen Sie eine Mischung der beiden SUMPRODUCT-basierten Formeln erstellen:

=SUMPRODUCT(--(NOT(EXACT(A1:A100,UPPER(A1:A100)))),-- (NOT(EXACT(A1:A100,LOWER(A1:A100)))),--(A1:A100<>""))

Diese Formeln weisen einige Nachteile auf, die in den früheren Formeln nicht erkennbar sind. Wenn eine Zelle einen numerischen Wert enthält, zählen diese Formeln die Zelle zunächst als Großbuchstaben. Zweitens, wenn eine Zelle einen Fehlerwert enthält, gibt die Formel einen Fehler zurück.

Wenn Sie häufig Fälle zählen müssen, ist es wahrscheinlich besser, eine benutzerdefinierte Funktion zu erstellen, die das Zählen für Sie übernimmt. Es gibt viele Möglichkeiten, wie eine solche Funktion geschrieben werden könnte, aber die allgemeinen Richtlinien lauten wie folgt:

Schritt durch jede Zelle eines Bereichs Bestimmen Sie, ob es sich bei der Zelle um einen oberen, unteren oder gemischten Fall handelt. Inkrementieren Sie einen Zähler. Geben Sie einen Wert

zurück Das folgende Makro ist ein Beispiel dafür, wie das oben Gesagte implementiert werden kann:

Function CountCase(rng As Range, sCase As String) As Long     Dim vValue     Dim lUpper As Long     Dim lMixed As Long     Dim lLower As Long     Dim rCell As Range     lUpper = 0     lLower = 0     lMixed = 0

For Each rCell In rng         If Not IsError(rCell.Value) Then             vValue = rCell.Value             If VarType(vValue) = vbString _                 And Trim(vValue) <> "" Then                 If vValue = UCase(vValue) Then                     lUpper = lUpper + 1                 ElseIf vValue = LCase(vValue) Then                     lLower = lLower + 1                 Else                     lMixed = lMixed + 1                 End If             End If         End If     Next     Select Case UCase(sCase)

Case "U"

CountCase = lUpper         Case "L"

CountCase = lLower         Case "M"

CountCase = lMixed         Case Else             CountCase = CVErr(xlErrValue)

End Select End Function

Die Bestimmung, ob eine Zelle im oberen, unteren oder gemischten Fall ist, ist offensichtlich der Kern eines solchen Makros. Für eine solche Bestimmung wird derselbe Prozess wie in den Arbeitsblattformeln verwendet: Vergleichen Sie den Inhalt der Zelle mit der Konvertierung dieser Inhalte in Groß- oder Kleinbuchstaben. In diesem Makro wird der Wert der Zelle (vValue) mit vValue verglichen, das entweder mit der UCase- oder der LCase-Funktion transformiert wurde.

Die Funktion ignoriert auch Zellen, deren Auswertung nicht sinnvoll ist.

Zellen mit numerischen Werten, Booleschen Werten, Fehlerwerten, leeren Zellen und Zellen, die nur Leerzeichen enthalten, werden ignoriert. Wenn ein numerischer Wert als Text formatiert ist, zählt die Funktion diese Zelle als Großbuchstaben. Verwenden Sie zur Verwendung dieser benutzerdefinierten Funktion eine Formel wie die folgende in Ihrem Arbeitsblatt:

=COUNTCASE(A1:A100, "L")

Für das erste Argument verwenden Sie den Bereich, den Sie auswerten möchten. Das zweite Argument ist ein einzelnes Zeichen – L, M oder U -, das angibt, welche Anzahl zurückgegeben werden soll. Wenn Sie für das zweite Argument einen anderen Wert verwenden, gibt die Funktion einen 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 (3212) 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: