Clever-Excel-Forum

Normale Version: Verschiedene Werte in einer Matrix zählen.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo.

Ich habe 2160 Zeilen und 4096 Spalten (die 4096. Spalte ist die Spalte "FAN").

Nun möchte ich zählen wie viele unterschiedliche Werte sich in diesem Bereich befinden.
In jedem Feld steht ein Wert und die Werte gehen von 0 - 65355.

Gruß und vielen Dank im Voraus.
Hallo,

so:

Code:
=SUMME((HÄUFIGKEIT(A2:FAN2160;A2:FAN2160)>0)*1)

Quelle: www.herber.de/excelformeln und bitte suchen ...
Danke erstmal,

leider hängt sich bei mir Excel dann auf wenn ich die 8,8 Millionen Werte miteinander vergleichen will :/
Gibt's noch irgend eine ressourcensparendere Methode?
Hallo,

Du durchsuchst immerhin 8,8 Mio. Zellen! Könntest Du vielleicht VBA verwenden? Wenn ja, mache es mal so.

Code:
Sub prcZahlenzaehlen()
   Dim objDic As Object
   Dim rngZelle As Range
  
   Set objDic = CreateObject("Scripting.Dictionary")
  
   For Each rngZelle In Range("A2:FAN2160")
      objDic(rngZelle.Value) = 1
   Next rngZelle
   MsgBox objDic.Count
  
   Set objDic = Nothing
End Sub
Hi,

oder so:

Code:
Sub UnikateErmitteln()
Dim objDic As Object
Dim zelle As Range
  
Set objDic = CreateObject("Scripting.Dictionary")
  
With ActiveSheet
    For Each zelle In .Range("A2:FAN2160")
    
    If Not objDic.Exists(zelle.Value) Then
        If IsEmpty(zelle.Value) = False Then
            objDic.Add zelle.Value, zelle.Value
        End If
    End If
  
    Next zelle
    
    MsgBox "Es befinden sich " & objDic.Count & " Unikate im Bereich."
End With

Set objDic = Nothing

End Sub

Gruß
Max
Bin ziemlicher Noob in VBA.

Steffl, du hast "End Sub" vergessen oder?

mit End Sub hats funktioniert, und es spuckt mir eine Zahl aus, danke!
Ahh mein Fehler, der Code ging ja noch weiter :P
Funktioniert beides, ich danke euch!
Hallo,

wobei ich bei den beiden VBA-Codes unterschiedliche Ergebnisse erhalte.

Bei diesem Tabellenaufbau

Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1  
2ab
3ac
4a 
5b 
6  
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

gibt der Code von Steffl das Ergebnis 4 aus und der Code von Max das Ergebnis 3, wobei ich bei beiden Codes den Bereich auf A2:B10 geändert habe.
Hallo Peter,

das liegt darn, dass der Code von Stefan auch Leerzellen berücksichtigt.
Auch wenn der TS schrieb, jede Zelle sei gefüllt, habe ich diese Prüfung
trotzdem noch mit eingebaut.

Da in Deinem Bereich auch Leerzellen enthalten sind, erhältst Du einen Treffer mehr.

Gruß
Max
Seiten: 1 2