Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Häufigkeit von Zahlen in einzelner Zelle bestimmen

Häufigkeit von Zahlen in einzelner Zelle bestimmen
15.01.2019 14:05:05
Zahlen
Hallo zusammen,
ich brauche eure Hilfe! Gibt es eine Möglichkeit die Häufigkeit (Anzahl) von Zahlen, die alle gemeinsam in einer Zelle stehen zu bestimmen?
Bspweise. in Range(G2): 5,5,6,7,7
in Range(G3): 6,6,6,7,7,5,6
In H2 sollen dann 5(2), 6(1), 7(2) stehen (die Anzahl in Klammern)
In H3 soll dann 5(1),6(5),7(2) stehen
Zahlen jeweils absteigend sortiert
Kennt jmd eine Möglichkeit wie ich das umsetzen könnte?
Vielen Dank für eure Tipps!

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
5(2), 6(1), 7(2) - da ist nichts absteigend ?
15.01.2019 14:18:23
WF
.
AW: entschuldigung - gemeint habe ich aufsteigend
15.01.2019 14:28:51
Anna
Hallo WF,
ich meinte natürlich nach Größe sortieren aufsteigend. Entsschuldige diese Verwirrung!
Sortierung der Zahlen (unabhängig von der Häufigkeit) nach Größe aufsteigend sortiert.
AW: entschuldigung - gemeint habe ich aufsteigend
15.01.2019 14:52:03
UweD
Hallo
so?
Modul2
Option Explicit 
 
Sub Anzahl() 
    Dim Arr, ArrN, z1 As Integer, Sp As Integer, LR As Long 
    Dim i As Long, Kompl As String, Anz As Integer, Eintr, Neutxt As String 
     
    z1 = 2 'erste Zeile mit Daten 
    Sp = 7 'Spalte G 
     
    With Sheets("Tabelle2") 
     
        LR = .Cells(.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte 
   
        For i = z1 To LR 
            Kompl = .Cells(i, Sp) 
            If Kompl <> "" Then 
                 
                Arr = Split(Zell_sort(Kompl, ","), ",") 
                Neutxt = "" 
                For Each Eintr In Arr 
                      
                    If InStr(Neutxt, Eintr & "(") = 0 Then 
                        Anz = Len(Kompl) - Len(Replace(Kompl, Eintr, "")) 
                        Neutxt = Neutxt & Eintr & "(" & Anz & ")" & ", " 
                    End If 
                Next 
                Neutxt = Left(Neutxt, Len(Neutxt) - 2) 'letzte Komma weg 
                .Cells(i, Sp + 1) = Neutxt 
            End If 
        Next 
    End With 
End Sub 
 
'Unterprogramm zum Sortieren 
Function Zell_sort(zahlenstring As String, Optional trenner As String) As String 
    Dim Count As Integer 
    Dim Count2 As Integer 
    Dim Temp As String 
    Dim ainput 
     
    If IsMissing(trenner) Then 
        trenner = " " 
    End If 
    ainput = Split(zahlenstring, trenner) 
    If Ubound(ainput) = 0 Then 
        Zell_sort = "#?trenner?#" 
        Exit Function 
    End If 
    For Count = 0 To Ubound(ainput) 
        For Count2 = Count To Ubound(ainput) 
        If ainput(Count) > ainput(Count2) Then 
            Temp = ainput(Count) 
            ainput(Count) = ainput(Count2) 
            ainput(Count2) = Temp 
        End If 
        Next Count2 
    Next Count 
     
    Zell_sort = Join(ainput, trenner) 
End Function 

LG UweD
Anzeige
AW: Dankeschön
15.01.2019 21:11:11
Anna
Hallo Uwe,
Vielen Dank! Die Ausführung funktioniert super - und nach ein bisschen Testen versteh ich jetzt auch den Code Schritt für Schritt! Danke schön
Liebe Grüße
AW: Häufigkeit von Zahlen in einzelner Zelle bestimmen
15.01.2019 14:45:46
Zahlen
Vernünftige Tabelle bauen - ohne jede Menge durch Kommas getrennten Zahlen in einer einzigen Zelle.
Wozu gibt es Spalten?
Wenn du deine Tabelle so aufbaust, wirst du später noch viel grössere Probleme damit bekommen.
AW: Häufigkeit von Zahlen
15.01.2019 21:13:28
Zahlen
Hallo onur,
vielen Dank für deine Anmerkung. Ich habe die Tabelle von einem Freund bekommen, damit wir sie zusammen ein bisschen "verständlicher" machen können. Das ist eine sehr große Excel Arbeitsmappe und so ist es für uns im ersten Schritt einfacher und verständlicher erschienen damit man damit arbeiten kann.
Liebe Grüße
Anzeige
AW: Häufigkeit von Zahlen in einzelner Zelle bestimmen
15.01.2019 15:39:11
Zahlen
HI
per VBA könnte man sich eine Funktion programmieren, die sowas erzeugt.
zumindest wenn die Sortierung nicht wichtig ist, geht's recht einfach:
folgenden Code in ein allgemeines Modul (wobei du dir auch gerne einen besseren Funktionsnamen ausdenken kannst)
Function FürAnna(Wert As String) As String
Dim TeilTexte
Dim dicErg
Dim TT
Set dicErg = CreateObject("Scripting.Dictionary")
For Each TT In Split(Replace(Wert, " ", ""), ",")
dicErg(TT) = dicErg(TT) + 1
Next
For Each TT In dicErg.Keys
FürAnna = FürAnna & ", " & TT & "(" & dicErg(TT) & ")"
Next
FürAnna = Mid(FürAnna, 3)
End Function

und in H2 dann die Formel: =fürAnna(G2)
Gruß Daniel
Anzeige
Dankeschön
15.01.2019 21:14:48
Anna
Hallo Daniel,
vielen lieben Dank! Dein Code funktioniert super und auch schritt für schritt einzeln gut nachzuvollziehen für mich! Danke
Liebe Grüße
Formel (nur Zahlen von 1-99)
15.01.2019 16:24:56
1-99)
=WECHSELN(WECHSELN(TEXTVERKETTEN(",";;WENN(
LÄNGE(","&A1)-LÄNGE(WECHSELN(","&A1;","&ZEILE($1:$99)&",";","));ZEILE($1:$99)&"("&(
LÄNGE(","&A1)-LÄNGE(WECHSELN(","&A1;","&ZEILE($1:$99)&",";",")))/(2+KÜRZEN(LOG10(ZEILE($1:$99))))&"), ";""));", ";);",";", ")
kleine Korrektur
15.01.2019 16:48:03
lupo1
=WECHSELN(WECHSELN(TEXTVERKETTEN(",";;WENN(
LÄNGE(","&A1&",")-LÄNGE(WECHSELN(","&A1&",";","&ZEILE($1:$99)&",";","));ZEILE($1:$99)&"("&(
LÄNGE(","&A1&",")-LÄNGE(WECHSELN(","&A1&",";","&ZEILE($1:$99)&",";",")))/(2+KÜRZEN(LOG10(ZEILE($1:$99))))&"), ";""));", ";);",";", ")
(die letzte Zahl wurde ignoriert, wenn ihr kein Komma mehr folgte; ist jetzt nicht mehr nötig)
Anzeige
weiterer Fehler
15.01.2019 16:51:50
lupo1
Ich muss nochmal über die Länge der Einzel-Einträge schauen; statt 5(4) zeigt er nur 5(2); liegt wohl an der Einstelligkeit. Das LOG10 rechnet noch nicht so, wie ich will.
AW: weiterer Fehler
15.01.2019 21:09:26
Anna
Hallo lupo1,
super Danke für deine Mühen. Mit dem habe ich mich auch abgekämpft :)
Liebe Grüße

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige