Registriert seit: 05.01.2015
Version(en): 2013
28.01.2015, 15:50
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2015, 15:50 von JustAStudent.)
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.
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
so:
Code:
=SUMME((HÄUFIGKEIT(A2:FAN2160;A2:FAN2160)>0)*1)
Quelle: www.herber.de/excelformeln und bitte suchen ...
Gruß Atilla
Registriert seit: 05.01.2015
Version(en): 2013
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?
Registriert seit: 11.04.2014
Version(en): Office 2007
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
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 01.11.2014
Version(en): 2007, 2010
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
Registriert seit: 05.01.2015
Version(en): 2013
28.01.2015, 19:29
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2015, 19:31 von JustAStudent.)
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!
Registriert seit: 05.01.2015
Version(en): 2013
Ahh mein Fehler, der Code ging ja noch weiter :P
Registriert seit: 05.01.2015
Version(en): 2013
Funktioniert beides, ich danke euch!
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo,
wobei ich bei den beiden VBA-Codes unterschiedliche Ergebnisse erhalte.
Bei diesem Tabellenaufbau
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B |
1 | | |
2 | a | b |
3 | a | c |
4 | a | |
5 | b | |
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.
Gruß
Peter
Registriert seit: 01.11.2014
Version(en): 2007, 2010
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