Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Großbuchstaben in einer Zelle zählen

Großbuchstaben in einer Zelle zählen
Frank
Hallo Excel-Freunde,
in einer Excelliste habe ich eine Auswertung eines Mathewettbewerbs (Känguru-Wettbewerb). Dort stehen in einer Spalte die Antwortbuchstaben (ohne Leerzeichen), wobei ein Großbuchstabe eine richtige Antwort bedeutet, ein Kleinbuchstabe eine falsche Antwort, ein "-" (ohne die Anführungszeichen) bedeutet, dass gar keine Antwort gemacht wurde.
Ein Beispiel:
In einer Zelle steht
BC---CBDCCABa----D------
Also hat der Schüler die ersten beiden Fragen richtig beantwortet (weil dort Großbuchstaben stehen), dann hat er drei Antworten ausgelassen (drei "-" hintereinander), dann wieder sieben richtige Antworten (Großbuchstaben), dann eine falsche (Kleinbuchstabe) usw.
Nun möchte ich für die Auswertung zweierlei Sachen auswerten:
- Zum einen interessiert mich, wie viele Antworten richtig waren.
Ich benötige also die Anzahl an Großbuchstaben in einer Zelle.
(Im obigen Beispiel wäre das also 10.)
- Zum anderen interessiert mich die längste Kette von richtigen Antworten hintereinander.
Ich benötige also die längste Kette von Großbuchstaben in einer Zelle hintereinander.
(Im obigen Beispiel wäre das also 7.)
Hat jemand von Euch eine Idee, wie man da rangehen könnte?
Eine Lösung mit Formeln wäre fantastisch!
Da ich mich mit VBA leider fast gar keine Erfahrung habe, würde ich eine solche Lösung natürlich auch versuchen nachzuvollziehen, auch wenn ich Formeln bevorzuge. Bevor ich aber gar keine Auswertung hinbekomme, setze ich mich natürlich auch nochmal mit VBA auseinander.
Im Voraus schon einmal vielen Dank für alle Bemühungen!
Viele Grüße
Frank
Anzeige
AW: Großbuchstaben in einer Zelle zählen
26.03.2012 21:39:33
ransi
HAllo
Ich würde es tatsächlich mit VBA lösen.
Reguläre Ausdrücke bieten sich da gradezu an.
Ist für einen Anfänger (ohne Wertung) allerdings schwere Kost.
Tabelle1

 ABC
1BC---CBDCCABa----D------
107

Formeln der Tabelle
ZelleFormel
B1=countGOSSBUCHSTABEN(A1)
C1=countGOSSBUCHSTABENinFolge(A1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Function countGOSSBUCHSTABEN(zelle)
    Dim regex
    Dim objMatch As Object
    Set regex = CreateObject("vbScript.regexp")
    With regex
        .Pattern = "[A-ZÄÖÜ]"
        .Global = True
        .ignorecase = False
        Set objMatch = .Execute(zelle.Text)
        countGOSSBUCHSTABEN = objMatch.Count
    End With
End Function




Public Function countGOSSBUCHSTABENinFolge(zelle)
    Dim regex, Ding, tmp
    Dim objMatch As Object
    Set regex = CreateObject("vbScript.regexp")
    With regex
        .Pattern = "[A-ZÄÖÜ]+"
        .Global = True
        .ignorecase = False
        Set objMatch = .Execute(zelle.Text)
        For Each Ding In objMatch
            If Ding.Length > Len(tmp) Then tmp = Ding
        Next
    End With
    countGOSSBUCHSTABENinFolge = Len(tmp)
End Function


ransi
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 16:47:41
Frank
Hallo ransi,
mit Deinem VBA-Code habe ich es probiert.
Dazu habe ich den Code im Visual-Basic-Editor einfach reinkopiert und nix verändert, lediglich ein R beim Namen der Funktion hinzugefügt.
Dann habe ich in der entsprechenden Zelle die Funktion aufgerufen (=countGROSSBUCHSTABEN(E2)). Allerdings passiert nichts, in der Zelle steht nun #NAME?.
Was habe ich falsch gemacht?
Viele Grüße
Frank
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 16:51:40
Hajo_Zi
Hallo Frank,
wenn Du den Namen der Funktion im VBA Editor änderst, mußt Du das auch in der Zelle.

AW: Großbuchstaben in einer Zelle zählen
27.03.2012 17:45:01
Frank
Hallo Hajo,
das habe ich gemacht - zur Sicherheit habe ich den Text aus dem VB-Editor herauskopiert. Dennoch kommt die Fehlermeldung.
Kann es an den Makroeinstellungen liegen? Was muss ich dort anklicken?
Viele Grüße
Frank
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 17:48:26
Hajo_Zi
Hallo Frank,
die Sicherheit sollte max. auf Mittel stehen.
Nur wenge sehen Deine datei und können schreiben warum das nicht geht.
Gruß Hajo
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 18:21:08
Frank
Hallo Hajo,
nun habe ich die Datei einfach einmal hochgeladen. Vielleicht ist es so einfacher zu verstehen.
https://www.herber.de/bbs/user/79575.xls
Dabei ist mir auch aufgefallen, dass die Formellösung von ransi leider noch nicht so ganz hinhaut, auch wenn ich schwer begeistert bin, die Funktionsweise leider aber noch nicht ganz verstanden habe.
Viele Grüße
Frank
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 18:23:47
Hajo_Zi
Hallo Frank,
vielleicht solltest Du schreiben in welcher Zelle Du die Funktion benutzt. Ich mach mir nicht die Mühe und suche die Zelle.
Gruß Hajo
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 18:23:51
Hajo_Zi
Hallo Frank,
vielleicht solltest Du schreiben in welcher Zelle Du die Funktion benutzt. Ich mach mir nicht die Mühe und suche die Zelle.
Gruß Hajo
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 18:47:29
Frank
Oh, entschuldige, es handelt sich um die Zellen G2 und H2.
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 19:13:11
Hajo_Zi
Hallo Frank,
der Code gehört in ein Modul.
Gruß Hajo
Der Code gehört in ein Modul.
27.03.2012 19:16:34
ransi
HAllo Frank
Der Code gehört in ein Modul.
Erst dann kennt dein Excel die neuen Funktionen.
Schau es dir mal an:
Userbild
Hier deine überarbeitete Datei.
https://www.herber.de/bbs/user/79576.xls
ransi
Anzeige
AW: Der Code gehört in ein Modul.
28.03.2012 22:18:14
Frank
Hallo ransi,
wow, vielen Dank für die Hilfe, damit hat es super geklappt!
Auch vielen Dank für die tolle Anleitung mit dem Minivideo.
(Kannst Du zufällig sagen, wie Du das gemacht hast?)
Natürlich auch einen Dank an Hajo, dass Du Dich damit auseinandergesetzt hast.
Viele Grüße
Frank
Anzeige
AW: Großbuchstaben in einer Zelle zählen
26.03.2012 21:53:41
Josef

Hallo Frank,
Tabelle5

 ABCD
1Code Anzahl GroßbuchstabenLängste Serie
2BC---CBDCCABa----D------ 107
3aC---CB--DCCABa----aBb------ 95

Formeln der Tabelle
ZelleFormel
C2=SUMMENPRODUKT((CODE(TEIL(A2;ZEILE($A$1:INDEX(A:A;LÄNGE(A2))); 1))>=65)*(CODE(TEIL(A2;ZEILE($A$1:INDEX(A:A;LÄNGE(A2))); 1))<=90))
D2=SUMMENPRODUKT((CODE(TEIL(A2;ZEILE($A$1:INDEX(A:A;LÄNGE(A2)-1)); 1))>=65)*(CODE(TEIL(A2;ZEILE($A$1:INDEX(A:A;LÄNGE(A2)-1)); 1))<=90)*(CODE(TEIL(A2;ZEILE($A$2:INDEX(A:A;LÄNGE(A2))); 1))>=65)*(CODE(TEIL(A2;ZEILE($A$2:INDEX(A:A;LÄNGE(A2))); 1))<=90))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

« Gruß Sepp »

Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 07:54:56
Peter
Hallo Sepp
Deine Lösung hat mich auch interessiert und ich habe diese mit dem VBA-Lösungsansatz verglichen.
Bei den Zeilen 5, 6 und 10 habe ich unterschiedliche Resultate erhalten. Bin jedoch nicht schlau geworden, warum das so ist.
Gruss, Peter
https://www.herber.de/bbs/user/79568.xlsm
Anzeige
AW: Großbuchstaben in einer Zelle zählen
27.03.2012 20:05:24
Josef

Hallo Peter,
das liegt daran, dass die Serien-Formel schlicht und einfach nonsense ist;-((

« Gruß Sepp »

Anzeige
AW: Großbuchstaben in einer Zelle zählen
28.03.2012 22:20:15
Frank
Hallo Sepp,
trotzdem vielen Dank für Deine Hilfe. Die Formel hat ja zumindest für das Zählen der Großbuchstaben geklappt.
Bisher habe ich die Formel zwar noch nicht komplett verstanden, aber ich bin beeindruckt und danke herzlich dafür.
(Falls Du Lust und Zeit hast, kannst Du mir sie gerne erklären - musst Du aber nicht, ich habe ja immerhin eine Lösung.)
Viele Grüße
Frank
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Großbuchstaben in einer Zelle zählen


Schritt-für-Schritt-Anleitung

Um die Anzahl der Großbuchstaben in einer Zelle zu zählen, kannst Du folgende Schritte ausführen:

  1. Öffne das Excel-Dokument, in dem Du die Großbuchstaben zählen möchtest.
  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code in das Modul ein:
Public Function countGROSSBUCHSTABEN(zelle As Range) As Long
    Dim regex As Object
    Dim objMatch As Object
    Set regex = CreateObject("vbScript.regexp")

    With regex
        .Pattern = "[A-ZÄÖÜ]"
        .Global = True
        .ignorecase = False
        Set objMatch = .Execute(zelle.Text)
        countGROSSBUCHSTABEN = objMatch.Count
    End With
End Function
  1. Füge nun die Funktion für die längste Kette von Großbuchstaben hinzu:
Public Function countGROSSBUCHSTABENinFolge(zelle As Range) As Long
    Dim regex As Object
    Dim Ding As Object
    Dim tmp As String

    Set regex = CreateObject("vbScript.regexp")

    With regex
        .Pattern = "[A-ZÄÖÜ]+"
        .Global = True
        .ignorecase = False
        Set objMatch = .Execute(zelle.Text)

        For Each Ding In objMatch
            If Ding.Length > Len(tmp) Then tmp = Ding
        Next
    End With

    countGROSSBUCHSTABENinFolge = Len(tmp)
End Function
  1. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Arbeitsblatt.
  2. Verwende die Funktionen in den Zellen, z.B. =countGROSSBUCHSTABEN(A1) und =countGROSSBUCHSTABENinFolge(A1).

Häufige Fehler und Lösungen

  • Fehlermeldung #NAME?: Überprüfe, ob Du den Namen der Funktion korrekt eingegeben hast. Achte darauf, dass der Name im VBA-Editor mit dem Aufruf in Excel übereinstimmt.
  • Makros sind deaktiviert: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Trust Center-Einstellungen > Makroeinstellungen und wähle die passende Einstellung.
  • Funktion nicht gefunden: Stelle sicher, dass der Code im richtigen Modul eingefügt wurde und dass Excel die neuen Funktionen erkennt.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch mit Formeln arbeiten. Hier ist eine Formel, um die Anzahl der Großbuchstaben zu zählen:

=SUMMENPRODUKT((CODE(TEIL(A1;ZEILE($A$1:INDEX(A:A;LÄNGE(A1)));1))>=65)*(CODE(TEIL(A1;ZEILE($A$1:INDEX(A:A;LÄNGE(A1)));1))<=90))

Für die längste Kette von Großbuchstaben kannst Du eine ähnliche Formel verwenden, die allerdings komplexer ist.


Praktische Beispiele

Hier sind einige Beispiele für die Anwendung der Funktionen:

Zelle Eingabe Anzahl Großbuchstaben Längste Kette
A1 BC---CBDCCABa----D------ 10 7
A2 aC---CB--DCCABa----aBb------ 9 5

Verwende die entsprechenden Funktionen in den Zellen B1 und C1, um die Werte zu berechnen.


Tipps für Profis

  • Wenn Du oft mit Großbuchstaben in Excel arbeitest, erwäge, eine benutzerdefinierte Funktion zu erstellen, die Du in mehreren Arbeitsblättern verwenden kannst.
  • Nutze die Möglichkeit, die Funktionen in Kombination mit anderen Excel-Funktionen zu verwenden, um komplexere Datenanalysen durchzuführen.
  • Experimentiere mit den Regex-Mustern, um auch andere Buchstaben oder Zeichen zu zählen, falls nötig.

FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Großbuchstaben in einer Zelle zählen?
Du kannst die benutzerdefinierte Funktion countGROSSBUCHSTABEN verwenden, die wir im VBA-Editor erstellt haben.

2. Kann ich die Anzahl der Großbuchstaben ohne VBA zählen?
Ja, Du kannst auch eine komplexe Formel verwenden, um die Großbuchstaben zu zählen, allerdings kann dies komplizierter sein.

3. Warum funktioniert meine Funktion nicht?
Überprüfe, ob Du die Funktion im richtigen Modul gespeichert hast und dass die Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige