PDA

Vollständige Version anzeigen : Array gruppieren


Kalinke
14.07.2014, 12:42
Hallo Leute,

ich habe ein Array:

ArrayGruppe(0 To 1000, 0 To 6) As String

in diesem Array stehen ca. 100 Datensätze, max 1000.

nun möchte ich in diesem Array gruppieren, bzw mir gruppierte Ergebnisse anzeigen lassen.
Die Gruppierung soll über 3 oder 4 Spalten gehen.

Hate jemand eine Idee?

Vielen Dabk schonmal !!!

EarlFred
14.07.2014, 13:15
Hallo !!!,

Gruppierungen sind bei Arrays (Datenfeld) nicht vorgesehen. Möglicherweise gibt es Klassenobjekte, die das von Dir gewollte können, das ist anhand der dünnen Beschreibung aber nicht abschließend bewertbar.

Grüße
EarlFred

aloys78
14.07.2014, 13:19
Hallo Kalinke,
nun möchte ich in diesem Array gruppieren, bzw mir gruppierte Ergebnisse anzeigen lassen.
Die Gruppierung soll über 3 oder 4 Spalten gehen.
Wonach möchtest du denn gruppieren ?

Kannst du mal ein Array mit ein paar typischen Daten zur Verfügung stellen und dabei aufzeigen, wie die du dir eine Gruppierung vorstellst.

Gruß

Kalinke
14.07.2014, 14:42
Hallo,

so síeht das Arry aus:

Umwelt Assetmanagement Asset Manager Abfall
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Controller
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer
Umwelt Anlagenbetrieb Anlagenfahrer

und ich will die Dubletten zaehlen können.

aloys78
14.07.2014, 15:07
Hallo Kalinke,

verstehe ich das richtig ?
Wenn in einer Zeile alle Begriffe mit einer anderen Zeile identisch sind, dann liegt eine Dublette vor.
und ich will die Dubletten zaehlen können.
Was heißt das konkret ?
Sollen auf Knopfdruck alle Dubletten mit der Häufigkeit ihres Auftretens angezeigt werden, oder ... ?

Gruß
Aloys

Kalinke
14.07.2014, 15:35
Hallo Alois,

ich will im Prinzip die nur die Datensätze sehen, die nicht mehrfach vorkommen.
Bei Abfragen in Access regelt man das mit Gruppierungsabfragen und kann dann sehen, wieviele Datensätze doppelt sind und auch die Anzahl der doppelten Datensätze zählen.

EarlFred
14.07.2014, 15:38
Hallo,

das könnte mit einem Dictionary gehen.

Aber: Die Aufgabe ist mir immer noch nicht klar genug, um konkrete Hinweise zu geben.

Also: Wie sieht das Array nun aus? (Was steht in welcher Spalte - das ist nicht erkennbar) Wie SOLL es aussehen und warum?

Kannst Du eine Mustermappe hochladen?

Zudem: Wenn Du weißt, wie es mit SQL geht, dann nimm SQL:
http://www.online-excel.de/excel/singsel_vba.php?f=135

Grüße
EarlFred

aloys78
14.07.2014, 15:39
Hallo Kalinke,
ich will im Prinzip die nur die Datensätze sehen, die nicht mehrfach vorkommen.
Das würde ich in Excel wie folgt lösen:
- 2. Array definieren
- Array 1 sortieren nach allen Begriffen
- jeweils die 1. Zeile einer Dublette bzw die einzige Zeile nach Array2 kopieren

Gruß
Aloys

EarlFred
14.07.2014, 17:05
@Aloys,

auch wenn ich die Frage ähnlich interpretiere, wie es Dein Löungsvorschlag erahnen lässt: Strenggenommen ist etwas anderes beschrieben:

nur die Datensätze sehen, die nicht mehrfach vorkommen.
Heißt für mich:
Meier, Müller, Meier -> Meier kommt mehrfach vor, angezeigt werden soll also nur Müller.

Aber was gewollt ist, weiß ich immer noch nicht...

Grüße
EarlFred

aloys78
14.07.2014, 17:52
@EarlFred,

du hast Recht; habe ich auf die Schnelle irgendwie übersehen.
Danke für den Hinweis.

Aber das ist bei meinem Ansatz auch kein Problem.

Gruß
Aloys

Kalinke
14.07.2014, 20:08
Hallo,

also wenn Müller angezeigt wird, möchte ich den nur einmal sehen, aber wissen, wie oft Müller in dem Array ist.

xlph
15.07.2014, 07:00
:cool:

EarlFred
15.07.2014, 08:06
Hallo namenloser,

mir ist es egal, ob Du eine Lösung für Dein Problem bekommst oder nicht. Es ist Deine Entscheidung, ob wir wissen, was Du willst und wie wir Dir helfen können. Gerne kannst Du Rückfragen ignorieren, gehe dann aber davon aus, dass vermeintliche Helfer das gleiche mit Deinem Problem tun.

Grüße
EarlFred

Kollaps
15.07.2014, 08:36
So doof das klingt, versuch das mal ganz einfach per Wenn und Zählenwenn in einer Spalte daneben? Ist etwas fleckmatisch, aber funktioniert meistens?

Ansonsten kannst du per Pivot-Tabelle das ganz gruppieren und wie in Access anzeigen lassen. (mehr oder weniger)

Kalinke
15.07.2014, 10:27
Vielen Dank für die Tips !!!

Ich werde es glaube ich mit 2 Arrays lösen.
immer dann, wenn die 3 Felder noch nicht vorkommen, werden die Felder in ein Neues Array geschrieben.
Wenn die 3 Felder schon vorhanden sind, wird die Anzahl hochgezählt und eben nichts ins Array geschrieben.