Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Haeufigkeit eines Wertes im Tabellenbereich

Haeufigkeit eines Wertes im Tabellenbereich
29.12.2007 10:55:32
Gregory
Hallo,
in einem Tabellenbereich (A1:D50) sind alphanummerische Werte in Zelle hinterlegt. Es kann vorkommen, dass in einer Zelle mehrere Werte eingetragen sind.
1. Ich moechte gerne die Haeufigkeit fuer den im Kombifeld "cboFehler" gewaehlten Wert in einem Textfeld "txtHaeufigkeit" darstellen.
2. Ich moechte die zehn haeufigsten Fehler darstellen.
Leider weiss ich nicht weiter und hoffe auf Eure Hilfe.
Gruesse
Gregor

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Haeufigkeit eines Wertes im Tabellenbereich
29.12.2007 11:44:44
Erich
Hallo Gregor,
wie oft eine Zeichenkette in einem Bereich vorkommt, kannst du in Excel mit einer Matrixformel bestimmen:
 EF
1xyz4

Formeln der Tabelle
ZelleFormel
F1{=(SUMME(LÄNGE($A$1:$D$50))-SUMME(LÄNGE(WECHSELN($A$1:$D$50;E1;""))))/LÄNGE(E1)}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Die Formel stammt von
http://www.excelformeln.de/formeln.html?welcher=248
In VBA könnte das so aussehen:

Sub WortAnzahl()
Dim ii As Long, strT As String
strT = "xyz"
ii = Evaluate("=(SUM(LEN(A1:D50))-SUM(LEN(SUBSTITUTE(A1:D50,""" & _
strT & """,""""))))/LEN(""" & strT & """)")
MsgBox ii
End Sub

Wie das dann in deiner Umgebung (Userform?) aussehen müsste,
hängt eben von deiner hier nicht bekannten Umgebung ab. Eine Beispielmappe wäre sicher hilfreich.
Ich hoffe, das hilft dir schon mal weiter.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Haeufigkeit eines Wertes im Tabellenbereich
30.12.2007 12:19:00
Daniel
Hi
zur 1. Frage
ich gehe mal davon aus, daß jeder Fehlertext innerhalb einer Zelle nur einmal vorkommt, dann
kannst du die Häufigkeit eines Wertes auch mit der ZählenWenn-Funktion feststellen, auch wenn der Wert nur ein Teilstring des gesamten Zellinhalts ist.
wichtig sind in diesem Fall die Sternle am Anfang und Ende des Textes als Platzhalter für beliebigen weiteren Text:

=Zählenwenn(A1:D50;"*deinText*")


innerhalb eines Makros kann man dann die Excelformeln verwenden, in dem man die Funktion WORSHEETFUNCTION nutzt:


txtHäufigkeit.text = Worksheetfunction.CountIf(Range("A1:D50"), "*" & cboFehler.value & "*")


zur 2. Frage
hier würde ich so vorgehen:
1. alle möglichen Fehlertexte in einer Schleife durchlaufen und alle Fehlertexte und ihre Anzahl in einer separaten Hilfstabelle ablegen
2. diese Hilfstabelle nach der Anzahl absteigend sortieren
3. von dieser Hilfstabelle die ersten 10 Zeilen anzeigen
Gruß, Daniel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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