4.6k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe in Spalte "A" verschiedenen Einträge A, B, C,....Dabei können einzelne Buchstaben mehrfach in den jeweiligen Zeilen auftreten. ich möchte die maximale Anzahl eines Auftretens und den jeweiligen Buchstaben ermitteln - also z.B. "D" ist am häufigsten mit 22 Duplikaten aufgetreten...
Hat jemand eine Idee?
Gruß
Andreas

17 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Andreas,

folgende Artray Formel.
=SUMME(LÄNGE(A1:A15))-SUMME(LÄNGE(WECHSELN(A1:A15;"D";"")))
Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Hajo,
danke für deinen Vorschlag, aber das ist noch nicht mein Problem.....
Sicher muss ist das noch besser beschreiben.....
Also in der Spalte "A" steht jeweils nur ein Buchstabe, der aber beliebig oft wieder vorkommen kann. Ich will wissen, welcher Buchstabe am meisten mit wieviel Duplikaten vorkommt...
Gruß
Andreas
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Andreas,

Dafür würde sich eine Pivottabelle aufdrängen

Gruß

Paul1
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Paul,

daran hatte ich auch schon gedacht, nur muss ich dann bei vielen Datensätzen wieder den suchen und auszählen, der am häufigsten vorkommt. Die Realdatei besteht aus ca. 1500 Datensätzen...
Gruß
Andreas
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Andreas,

wenn die Pivottabelle absteigend sortiert wird, ist der am häufigsten vorkommende Begriff ohnehin an erster Stelle.

Gruß

Paul1
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Paul,

ich probier es einmal..... Obwohl mir der Aufwand etwas groß erscheint, da ich ja wirklich nur diese eine Aussage benötige: Welches Element kommt am häufigsten vor? Vlt. kennt jemand einen einfachen Code mit CountIf......
Danke und Gruß
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Andreas,

wenn es nur darum geht, welcher Begriff am Häufigsten vorkommt und nicht wie oft würde die nachfolgende Formel genügen, problematisch wird es allerdings wenn 2 Begriffe gleichhäufig vorkommen, da nur 1Begriff ausgewertet wird.

{=INDEX($A$1:$A$1500;VERGLEICH(MAX(ZÄHLENWENN($A$1:$A$1500;$A$1:$A$1500));ZÄHLENWENN($A$1:$A$1500;$A$1:$A$1500);0))}

[sub]Achtung Matrixformel:
die geschwungenen Klammern entfernen, anschließend mit Strg/Shift/Enter gleichzeitig abschließen[/sub]

Wenn auch die häufigste Anzahl des Begriffes gebraucht wird, dann wie folgt:

z.B. in G1 und runterkopieren:
=ZÄHLENWENN(A$1:A1;A1)

z.B. in H1:
=KGRÖSSTE(G:G;1)

z.B. in I1:
=INDEX(A:A;VERGLEICH(H1;G:G;0))

Auch hier wird bei Doppelgleisigkeiten nur 1 Begriff angeführt.

Ob es mit VBA besser geht kann ich leider nicht beurteilen, da wären die Spezialisten gefragt.

Gruß

Paul1
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Paul,

vielen Dank, suuuper Formel, funktioniert einwandfrei!!!!
Falls jemand noch eine Idee für einen Code hat, wäre das natürlich auch interessant.
Gruß
Andreas
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ein Beispiel fuer spalte a
ausgabe b1

gruss nighty

Sub GößteBuchstabe()
Dim Dat(26) As Integer, ZellG As Integer, VarIndexG As Integer, Buchst As Integer
Dim zelle As Variant, zeichen As Variant
Dim Bereich As Range
Set Bereich = Range("A1:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
zeichen = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Z", "ß")
For Each zelle In Bereich
For Buchst = 1 To Len(zelle)
Dat(Asc(UCase(Mid(zelle, Buchst, 1))) - 64) = Dat(Asc(UCase(Mid(zelle, Buchst, 1))) - 64) + 1
If Dat(Asc(UCase(Mid(zelle, Buchst, 1))) - 64) > ZellG Then
ZellG = Dat(Asc(UCase(Mid(zelle, Buchst, 1))) - 64)
VarIndexG = Asc(UCase(Mid(zelle, Buchst, 1)))
End If
Next Buchst
Next zelle
Range("B1") = zeichen(VarIndexG - 65) & Str(ZellG)
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

doppelte nicht mit einbezogen

gruss nighty
...