JustinGs Funktion funktioniert sehr gut (und schnell), bis die Anzahl der eindeutigen Elemente 32.767 überschreitet, aufgrund einer Art von Limit in Excel.
Ich habe festgestellt, wenn Sie seinen Code ändern
%Vor%und mach es als ...
%Vor%Es wird dann mehr einzigartige Gegenstände behandeln.
Hier ist eine VBA-Funktion, die für mich funktioniert.
Sie können es als Arbeitsblattfunktion , verweist auf einen Bereich, zB "= CountUnique (N8: O9)"
Es verarbeitet Text und numerische Werte und behandelt leere Zellen als einen Wert
Es muss nicht mit Array-Funktionen gearbeitet werden.
Für das Wörterbuchobjekt ist ein Verweis auf die Microsoft Scripting Library erforderlich.
%Vor%Sie können auch einfach einen Filter verwenden, um vorübergehend eindeutige Werte anzuzeigen und die Filterung zählen Werte.
Die Formel funktioniert für mich. Es gibt ein paar Dinge, die dazu führen könnten, dass dies nicht funktioniert. Zuerst müssen alle Zielzellen einen Wert in ihnen haben. Ein anderes Beispiel, wo dies möglicherweise nicht funktioniert, ist, wenn Sie eine Zelle mit dem Wert 31 und eine andere Zelle mit einem Textwert von "31" haben. Es wird diese als unterschiedliche Werte erkennen.
Du könntest das versuchen:
%Vor%Dies ist eine Array Formel. Anstatt nur zu drücken, um es zu bestätigen, müssen Sie Strg + Shift + Enter drücken.
Was ist von:
Nachdem ich das durchgelesen und dann weiter untersucht habe, habe ich eines, das besser für mich funktioniert als alles was ich hier sehe:
Array-Eingabe:
(Strg + Umschalt + Eingabetaste, und schließen Sie die geschweiften Klammern nicht ein)
Oder in VBA:
%Vor%Es funktioniert sowohl für Zahlen als auch für Text, behandelt leere Zellen, behandelt Fehler in referenzierten Zellen und funktioniert in VBA. Es ist auch eine der kompaktesten Lösungen, die ich je gesehen habe. Wenn es in VBA verwendet wird, behandelt es anscheinend automatisch die Notwendigkeit, eine Matrixformel zu sein.
Beachten Sie, dass Fehler nur dadurch behandelt werden, dass sie in die Anzahl der Uniques aufgenommen werden. Zum Beispiel, wenn Sie zwei Zellen haben, die # DIV / 0 zurückgeben! und drei Zellen, die #VALUE! zurückgeben, würden diese 5 Zellen 2 zur endgültigen Zählung der eindeutigen Werte hinzufügen. Wenn Fehler vollständig ausgeschlossen werden sollen, müsste dies geändert werden.
In meinen Tests funktioniert dieser von Jacob oben nur für Zahlen, nicht für Text, und behandelt keine Fehler in referenzierten Zellen (gibt einen Fehler zurück, wenn eine der referenzierten Zellen einen Fehler zurückgibt):
%Vor%Wenn jemand noch versucht, die JustinG-Dictionary-Methode zu verwenden, müssen Sie den Code leicht ändern, wenn Sie eine neuere Version von VBA verwenden.
Sie müssen auf "Microsoft Scripting Runtime" verweisen und die %code% -Begriffe wie folgt mit %code% voranstellen:
%Vor%Dies könnte ein effizienterer Weg sein, mit einer großen Anzahl von Zeilen umzugehen. Dies verwendet den integrierten AdvancedFilter-Befehl, anstatt jede Zelle gleichzeitig durchlaufen zu müssen.
%Vor%Sie können auch ein VBA-Makro schreiben (nicht sicher, ob Sie das wirklich wollen).
Etwas zum Effekt von (bei einer Tabellenkalkulation mit A1-A11 gefüllt und B1-B11 leer):
%Vor%Eine andere Möglichkeit, dies zu tun, ist dies:
%Vor%Sie müssen nur die aktive Zelle in Zeile 1 der Spalte haben, die Sie zählen.
Versuchen Sie:
%code%
BEARBEITEN: Das obige wird mit leeren Einträgen in der Spalte
umgehenSie können auch ein VBA-Makro schreiben (nicht sicher, ob Sie das wirklich wollen).
Etwas zum Effekt von (bei einer Tabellenkalkulation mit A1-A11 gefüllt und B1-B11 leer):
%Vor%Hier ist eine VBA-Funktion, die für mich funktioniert.
Sie können es als Arbeitsblattfunktion , verweist auf einen Bereich, zB "= CountUnique (N8: O9)"
Es verarbeitet Text und numerische Werte und behandelt leere Zellen als einen Wert
Es muss nicht mit Array-Funktionen gearbeitet werden.
Für das Wörterbuchobjekt ist ein Verweis auf die Microsoft Scripting Library erforderlich.
%Vor%JustinGs Funktion funktioniert sehr gut (und schnell), bis die Anzahl der eindeutigen Elemente 32.767 überschreitet, aufgrund einer Art von Limit in Excel.
Ich habe festgestellt, wenn Sie seinen Code ändern
%Vor%und mach es als ...
%Vor%Es wird dann mehr einzigartige Gegenstände behandeln.
Sie können auch einfach einen Filter verwenden, um vorübergehend eindeutige Werte anzuzeigen und die Filterung zählen Werte.
Wenn jemand noch versucht, die JustinG-Dictionary-Methode zu verwenden, müssen Sie den Code leicht ändern, wenn Sie eine neuere Version von VBA verwenden.
Sie müssen auf "Microsoft Scripting Runtime" verweisen und die Dictionary
-Begriffe wie folgt mit Scripting
voranstellen:
Die Formel funktioniert für mich. Es gibt ein paar Dinge, die dazu führen könnten, dass dies nicht funktioniert. Zuerst müssen alle Zielzellen einen Wert in ihnen haben. Ein anderes Beispiel, wo dies möglicherweise nicht funktioniert, ist, wenn Sie eine Zelle mit dem Wert 31 und eine andere Zelle mit einem Textwert von "31" haben. Es wird diese als unterschiedliche Werte erkennen.
Du könntest das versuchen:
%Vor%Dies ist eine Array Formel. Anstatt nur zu drücken, um es zu bestätigen, müssen Sie Strg + Shift + Enter drücken.
Was ist von:
Nachdem ich das durchgelesen und dann weiter untersucht habe, habe ich eines, das besser für mich funktioniert als alles was ich hier sehe:
Array-Eingabe:
(Strg + Umschalt + Eingabetaste, und schließen Sie die geschweiften Klammern nicht ein)
Oder in VBA:
%Vor%Es funktioniert sowohl für Zahlen als auch für Text, behandelt leere Zellen, behandelt Fehler in referenzierten Zellen und funktioniert in VBA. Es ist auch eine der kompaktesten Lösungen, die ich je gesehen habe. Wenn es in VBA verwendet wird, behandelt es anscheinend automatisch die Notwendigkeit, eine Matrixformel zu sein.
Beachten Sie, dass Fehler nur dadurch behandelt werden, dass sie in die Anzahl der Uniques aufgenommen werden. Zum Beispiel, wenn Sie zwei Zellen haben, die # DIV / 0 zurückgeben! und drei Zellen, die #VALUE! zurückgeben, würden diese 5 Zellen 2 zur endgültigen Zählung der eindeutigen Werte hinzufügen. Wenn Fehler vollständig ausgeschlossen werden sollen, müsste dies geändert werden.
In meinen Tests funktioniert dieser von Jacob oben nur für Zahlen, nicht für Text, und behandelt keine Fehler in referenzierten Zellen (gibt einen Fehler zurück, wenn eine der referenzierten Zellen einen Fehler zurückgibt):
%Vor%Tags und Links vba excel excel-formula