Eindeutige Einträge in einer Daten-Variablen?

Hallöchen,

folgendes Problem:
ich möchte wissen, wie viele eindeutige Einträge in einer Variablen abgespeichert sind.

Das hier habe ich, es funktioniert aber nicht richtig:

=ANZAHL2(Variable)-ZÄHLENWENN(Variable;Variable)

Wie müßte es richtig aussehen?

Danke,
Michael

Grüezi Michael

ich möchte wissen, wie viele eindeutige Einträge in einer
Variablen abgespeichert sind.

Wei speicherst Du die Werte in einer Variablen?

Das hier habe ich, es funktioniert aber nicht richtig:

=ANZAHL2(Variable)-ZÄHLENWENN(Variable;Variable)

Wie müßte es richtig aussehen?

=SUMMENPRODUKT(1/ZÄHLENWENN(Variable;Variable))

könnte eine Möglichkeit sein. Wenn es nur Zahlenwerte sind ist auch

=SUMME(--(HÄUFIGKEIT(Variable;Variable)\>0))

denkbar.

Aber all das hängt stark davon ab um was für einen Variablentypen es sich handelt und wie du diese ‚gefüllt‘ hast.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallöchen,

Wei speicherst Du die Werte in einer Variablen?

Wie? Über Einfügen->Namen->Erstellen - oder was meinst Du?
Ich habe ein Array, in dem alle Einträge der Spalte drinnenstehen.

=SUMMENPRODUKT(1/ZÄHLENWENN(Variable;Variable))

Oweh… wenn ich das eingebe, schmiert mein Excel weg! O.o

könnte eine Möglichkeit sein. Wenn es nur Zahlenwerte sind ist auch

Nein, leider sind es nicht alphabetisch sortierte Strings, auf deren Inhalt ich außer „nichtleer“ keinen Einfluß beim Erstellen des Worksheets habe.

Aber all das hängt stark davon ab um was für einen Variablentypen es sich handelt und wie du diese ‚gefüllt‘ hast.

Variable hat in diesem Fall den Bezug Tabelle1!$D$5:blush:D$65536 … und wie gesagt, Strings.

Danke und Gruss,
Michael

Grüezi Mike

Wei speicherst Du die Werte in einer Variablen?

Wie? Über Einfügen->Namen->Erstellen - oder was meinst
Du?

Das ist keine Variable, sondern ein Bereichsname.

Ich habe ein Array, in dem alle Einträge der Spalte
drinnenstehen.

Arrays mit kompletten Spalten sind nicht machbar - Su musst mindestens eine Zeile weniger in den Datenbereich aufnehmen.

=SUMMENPRODUKT(1/ZÄHLENWENN(Variable;Variable))

Oweh… wenn ich das eingebe, schmiert mein Excel weg! O.o

…und was heisst das genau?

Eine Matrixformel sollte auch keinesfalls über eine komplette Spalte angewandt werden

könnte eine Möglichkeit sein. Wenn es nur Zahlenwerte sind ist auch

Nein, leider sind es nicht alphabetisch sortierte Strings, auf
deren Inhalt ich außer „nichtleer“ keinen Einfluß beim
Erstellen des Worksheets habe.

Wahrscheinlich musst Du hier auf andere Alternativen ausweichen.
Wie gross ist denn die zu erwartende Datenmenge - sind das in der Tat über 65000 Zeilen?

Aber all das hängt stark davon ab um was für einen Variablentypen es sich handelt und wie du diese ‚gefüllt‘ hast.

Variable hat in diesem Fall den Bezug Tabelle1!$D$5:blush:D$65536
… und wie gesagt, Strings.

Tja, vielleicht beschreibst Du mal konktret(er) was Du genau tun willst - ich denke, dass es da noch andere Möglichkeiten gibt, als mit Matrixformeln die Tabelle zu vergewaltigen (z.B. mit Hilfsspalten)


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

OT Excel abbruch bei Matrixformeln
Hallo Michael und Thomas,

ist echt spannend mitzulesen, so wie bei TV-Soaps bange ich mit, wann gelingt es einem preisgekrönten MVP einem Six Sigma MBB mal alle Würmer aus der Nase zu ziehen *kicher*

Oder endet es doch in einem profanen lade mal ne Beispieltabelle hoch, was ich begrüßen würde um durchzublicken was da Sache ist.

Jetzt zu Matrixformeln. Bei meinem XL2000, wenn ich da in z.B. A1 eine Matrixformel eingebe, diese mit Strg+c kopiere, dann A1:A10 markiere kommt eine Fehlermeldung. Ich glaube die ist normal *nixweiß*

Markiere ich A 2 :A10 klappt es mit Strg+v.

Markiere ich aber mehr Zeilen, so ab 15, ist auf einmal Excel weg, gelegentlich noch mit Fehlermeldung von Windows…
Ich muß dann Excel neu starten.

Bräuchte ich in vielen Zellen Matrixformeln wäre/ist das schon ein Riesenproblem.

Aber, da ich matrixformeln meide ist das nicht ganz wichtig und ich habs noch gar nicht auf meinem XL97 und XL2003 getestet um herauszufinden obs an meier XL2000 Version liegt.

Gruß
Reinhard

Grüezi Reinhard

Hallo Michael und Thomas,

ist echt spannend mitzulesen, so wie bei TV-Soaps bange ich
mit, wann gelingt es einem preisgekrönten MVP einem Six Sigma
MBB mal alle Würmer aus der Nase zu ziehen *kicher*

Oder endet es doch in einem profanen lade mal ne
Beispieltabelle hoch, was ich begrüßen würde um durchzublicken
was da Sache ist.

Ja, das ist auch meine Tendenz - inzwischen ziehe ich noch ein wenig an den Würmern… :wink:

Jetzt zu Matrixformeln. Bei meinem XL2000, wenn ich da in z.B.
A1 eine Matrixformel eingebe, diese mit Strg+c kopiere, dann
A1:A10 markiere kommt eine Fehlermeldung. Ich glaube die ist
normal *nixweiß*

Erstmal kommt es auf den Inhalt der Formel an; dass sie in einer einzelnen Zelle verwendet wird sagt ja noch nichts über den Umfang an Berechnungen aus, die sie zu bewältigen hat.

Markiere ich A 2 :A10 klappt es mit Strg+v.

Markiere ich aber mehr Zeilen, so ab 15, ist auf einmal Excel
weg, gelegentlich noch mit Fehlermeldung von Windows…
Ich muß dann Excel neu starten.

Da würde ich auf einen Overflow tippen, ausgelöst durch die Menge an Berechnungen.

Wie lautet denn konkret die Formel die Du verwendet hast *am Wurm zieh*?

Bräuchte ich in vielen Zellen Matrixformeln wäre/ist das schon
ein Riesenproblem.

Ja, das ist klar - sie sollten daher nur mit Bedacht eingesetzt werden und nicht einfach ‚weils so schön ist‘. Mit ein paar wenigen Matrixformeln ist Excel problemlos komplett lahmzulegen, was für die identische Auswertung mit geeigneten Hilfsspalten nicht der Fall ist (oder sein muss).


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo,

Das ist keine Variable, sondern ein Bereichsname.

Oki, wieder was Neues gelernt. Bis jetzt dachte ich, das seien Variablen. Danke :stuck_out_tongue:

Arrays mit kompletten Spalten sind nicht machbar - Su musst mindestens eine Zeile weniger in den Datenbereich aufnehmen.

Ist geschehen.

Oweh… wenn ich das eingebe, schmiert mein Excel weg! O.o

…und was heisst das genau?

Laut Task-Monitor: „Microsoft Excel - Keine Reaktion“ [Diese Applikation reagiert nicht mehr]

Eine Matrixformel sollte auch keinesfalls über eine komplette Spalte angewandt werden

Gibt es dafür spezielle Gründe?

Wie gross ist denn die zu erwartende Datenmenge - sind das in der Tat über 65000 Zeilen?

Naja, an die 50000 können es schon werden. Wobei sehr viele davon gleich sind.

Tja, vielleicht beschreibst Du mal konktret(er) was Du genau tun willst - ich denke, dass es da noch andere Möglichkeiten gibt, als mit Matrixformeln die Tabelle zu vergewaltigen (z.B. mit Hilfsspalten)

Es geht um einen Report über ein Tabellenblatt. In dem Report ist dann eines von vielen Feldern wo drin steht, wieviele verschiedene Einträge in dieser speziellen Spalte stehen.
Die Spalte selbst zu sortieren ist keine Option.

Wobei es als Alternative noch die Möglichkeit gäbe, den gesamten Report beim Aktivieren des Arbeitsblatts per VBA zu erstellen statt über Excel-Zellenformeln.

Gruss,
Michael

ist echt spannend mitzulesen, so wie bei TV-Soaps bange ich
mit, wann gelingt es einem preisgekrönten MVP einem Six Sigma
MBB mal alle Würmer aus der Nase zu ziehen *kicher*

Naja… ich bin in Ausbildung und habe von Excel nicht wirklich viel mehr Ahnung als wie man in ein Tabellenblatt was reinschreibt :confused:

Oder endet es doch in einem profanen lade mal ne Beispieltabelle hoch, was ich begrüßen würde um durchzublicken was da Sache ist.

Da müßte ich datenschutzrechtlich passen :frowning:

Jetzt zu Matrixformeln. Bei meinem XL2000, wenn ich da in z.B. A1 eine Matrixformel eingebe, diese mit Strg+c kopiere, dann A1:A10 markiere kommt eine Fehlermeldung. Ich glaube die ist normal *nixweiß*

Naja, bei mir ist es so, dass im Ursprungsfeld, welches herangezogen wird, statische Strings stehen und Excel sich direkt komplett auf die Nase legt, wenn ich die Formel von Thomas in eine Zelle eintrage :frowning:

Markiere ich aber mehr Zeilen, so ab 15, ist auf einmal Excel weg, gelegentlich noch mit Fehlermeldung von Windows… Ich muß dann Excel neu starten.

Das habe ich schon bei einer Zelle. Ohne Markieren.

Bräuchte ich in vielen Zellen Matrixformeln wäre/ist das schon ein Riesenproblem.

Oki, wieder was Feines gelernt :smiley:

Danke und Gruss,
Michael

Grüezi Mike

Das ist keine Variable, sondern ein Bereichsname.

Oki, wieder was Neues gelernt. Bis jetzt dachte ich, das seien
Variablen. Danke :stuck_out_tongue:

Ich denke, dass es da noch so einiges gibt - Variablen verwendet man in der Programmierung, nicht aber von der Excel-Oberfläche aus…

Arrays mit kompletten Spalten sind nicht machbar - Su musst mindestens eine Zeile weniger in den Datenbereich aufnehmen.

Ist geschehen.

OK, das ist schon mal ein Anfang

Oweh… wenn ich das eingebe, schmiert mein Excel weg! O.o

…und was heisst das genau?

Laut Task-Monitor: „Microsoft Excel - Keine Reaktion“ [Diese
Applikation reagiert nicht mehr]

Gut, dann ist das nun auch klar(er).

BTW: Die Matrixformel wie genannt mag leere Zellen im Bereich überhaupt nicht - auch das mag eine Ursache für den Absturz sein.

Eine Matrixformel sollte auch keinesfalls über eine komplette Spalte angewandt werden

Gibt es dafür spezielle Gründe?

Du erlebst sie momentan live in deiner Mappe… :wink:

Wie gross ist denn die zu erwartende Datenmenge - sind das in der Tat über 65000 Zeilen?

Naja, an die 50000 können es schon werden. Wobei sehr viele
davon gleich sind.

Gut, das ist auch eine konkrete Aussage die wichtig ist.
Prinzipiell wäre es mehr als sinnvoll wenn Du diese konkreten Angaben nicht erst auch Nachfrage preis gibst, sondern bereits in deinem ersten Beitrag sauber auflistest.

Tja, vielleicht beschreibst Du mal konktret(er) was Du genau tun willst - ich denke, dass es da noch andere Möglichkeiten gibt, als mit Matrixformeln die Tabelle zu vergewaltigen (z.B. mit Hilfsspalten)

Es geht um einen Report über ein Tabellenblatt. In dem Report
ist dann eines von vielen Feldern wo drin steht, wieviele
verschiedene Einträge in dieser speziellen Spalte stehen.
Die Spalte selbst zu sortieren ist keine Option.

Du könntst die Spalte mit dem Spezialfilter ‚Ohne Duplikate‘ bearbeiten und dann mit einer einfachen Anzahl-Formel die gefilterten Einträge zählen.

Eine weitere Alternative ist eine Hilfsspalte mit der folgenden Formel:

=1/ZÄHLENWENN(A:A;A1)

und dann die Summe über dieser Hilfsspalte zu bilden.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Michael,

Oder endet es doch in einem profanen lade mal ne Beispieltabelle hoch, was ich begrüßen würde um durchzublicken was da Sache ist.

Da müßte ich datenschutzrechtlich passen :frowning:

Was interesiert mich Datenschutz :smile:, Beispieltabelle heißt kleines Tabellchen, was den gleichen strukturellen Aufbau hat wie das Original.
Die Daten anonymisieren, wichtig ist daß das Problem sichtbar bleibt.
Ein Beispiel für so eine Tabelle, hochladen kann man Dateien bei http//:www.hostarea.de und andernorts.

Tabellenblatt: F:\[Bereich2www2.xls]!Tabelle3
 │ A │ B │ C │ D │ E │
───┼───────┼─────────┼──────┼─────┼────────┤
23 │ Name │ Vorname │ plz │ ort │ gehalt │
───┼───────┼─────────┼──────┼─────┼────────┤
24 │ a │ v1 │ 4711 │ hh │ 1,5 │
───┼───────┼─────────┼──────┼─────┼────────┤
25 │ b │ v2 │ 123 │ bb │ 2,5 │
───┼───────┼─────────┼──────┼─────┼────────┤
26 │ c │ v3 │ 12 │ g │ 3 │
───┼───────┼─────────┼──────┼─────┼────────┤
27 │ d │ v4 │ 567 │ tt │ 6 │
───┴───────┴─────────┴──────┴─────┴────────┘
A23:E27
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard

Grüezi Thomas,

Oder endet es doch in einem profanen lade mal ne
Beispieltabelle hoch, was ich begrüßen würde um durchzublicken
was da Sache ist.

Ja, das ist auch meine Tendenz - inzwischen ziehe ich noch ein
wenig an den Würmern… :wink:

Jetzt zu Matrixformeln. Bei meinem XL2000, wenn ich da in z.B.
A1 eine Matrixformel eingebe, diese mit Strg+c kopiere, dann
A1:A10 markiere kommt eine Fehlermeldung. Ich glaube die ist
normal *nixweiß*

Erstmal kommt es auf den Inhalt der Formel an; dass sie in
einer einzelnen Zelle verwendet wird sagt ja noch nichts über
den Umfang an Berechnungen aus, die sie zu bewältigen hat.

Die Fehlermeldung kam immer *erinner*
Ist schon okay, ich weiß, ich liefer nach wie sie lautete.

Markiere ich A 2 :A10 klappt es mit Strg+v.
Markiere ich aber mehr Zeilen, so ab 15, ist auf einmal Excel
weg, gelegentlich noch mit Fehlermeldung von Windows…
Ich muß dann Excel neu starten.

Da würde ich auf einen Overflow tippen, ausgelöst durch die
Menge an Berechnungen.

Die Matrixformeln stammten von Excelformeln.de, kann doch nicht sein daß ich die nicht mal in 20 Zellen kopieren kann.
Wenn dem so ist nützen XL2007-Usern ihre Million Zeilen Null wenn sie Matrixformeln kopieren wollen.

Wie lautet denn konkret die Formel die Du verwendet hast *am
Wurm zieh*?

Im Prinzip alle Matrixformeln aus excelformeln.de, so wie sie da standen oder ich sie versuchte anzupassen, das war egal, ich konnte sie schon kopieren, aber nur so in ca.