Supportnet / Forum / Tabellenkalkulation
Excel: Aggregieren von Daten
Frage
Hallo!
Ich hab in einer Spalte gaaanz viele Daten (Text -> Ortsnamen) stehen, die mehr als einmal vorkommen.
Die möchte ich gern aggregrieren, d.h. eine Spalte mit jedem Ortsnamen, allerdings nicht mehrfach, sondern nur einmal.
Geht das?
Gruß Tom
Antwort 1 von fürLau
Hallo
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Zitat:
gaaanz viele Daten (Text -> Ortsnamen) stehen,
Excel kann derzeit standardmäßig nur 256 Spalten... ob das reicht?gaaanz viele Daten (Text -> Ortsnamen) stehen,
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Antwort 2 von TRH
OK, zur Präzisierung:
Es handelt sich um eine Spalte, in der untereinander in den einzelnen Zeilen die jeweiligen Ortsnamen stehen (pro Zelle ein Ortsname).
Dachte eigentlich, dass sich das jedeR selber denken könnte, aber nu...
Vielleicht gibts ja auch noch fachbezogene Antworten, die mich irgendwie weiterbringen...
Gruß Tom
Es handelt sich um eine Spalte, in der untereinander in den einzelnen Zeilen die jeweiligen Ortsnamen stehen (pro Zelle ein Ortsname).
Dachte eigentlich, dass sich das jedeR selber denken könnte, aber nu...
Vielleicht gibts ja auch noch fachbezogene Antworten, die mich irgendwie weiterbringen...
Gruß Tom
Antwort 3 von nighty
hi ihr :)
hier auch der hinweis zu quattro pro das etwas bessere excel,1 000 000 spalten/1 000 000 zeilen
gruss nighty
hier auch der hinweis zu quattro pro das etwas bessere excel,1 000 000 spalten/1 000 000 zeilen
gruss nighty
Antwort 4 von powie_ohne_keks
Zitat:
Dachte eigentlich, dass sich das jedeR selber denken könnte, aber nu...
Vielleicht gibts ja auch noch fachbezogene Antworten, die mich irgendwie weiterbringen...
Dachte eigentlich, dass sich das jedeR selber denken könnte, aber nu...
Vielleicht gibts ja auch noch fachbezogene Antworten, die mich irgendwie weiterbringen...
wenn ich sowas nur schon lese.............zweifle ich ernsthaft, ob Dir "andere" noch helfen werden.
*ich werd mich an diesen ton NICHT gewöhnen, auch wenns ne menge leute hier gibt, die das so wünschen*
astaluego
Antwort 5 von CaroS
Hallo TRH,
soll das in derselben Spalte stattfinden, in der die Ortsnamen schon stehen? Dann müsste das über Filtern (oder Sortieren, Gruppieren, Ausblenden) laufen.
Oder willst Du alle Deine Ortsnamen in einer weiteren Spalte - jeden nur einmal - angezeigt bekommen? Dafür könnte man eine Formel finden.
Die Originalwerte sollen ja wohl in beiden Fällen erhalten bleiben?
Man weiß eben nicht so genau, was mit "aggregieren" gemeint ist. Vielleicht hat deshalb bisher noch niemand Deine Frage beantwortet.
Gruß,
CaroS
soll das in derselben Spalte stattfinden, in der die Ortsnamen schon stehen? Dann müsste das über Filtern (oder Sortieren, Gruppieren, Ausblenden) laufen.
Oder willst Du alle Deine Ortsnamen in einer weiteren Spalte - jeden nur einmal - angezeigt bekommen? Dafür könnte man eine Formel finden.
Die Originalwerte sollen ja wohl in beiden Fällen erhalten bleiben?
Man weiß eben nicht so genau, was mit "aggregieren" gemeint ist. Vielleicht hat deshalb bisher noch niemand Deine Frage beantwortet.
Gruß,
CaroS
Antwort 6 von TRH
Hallo!
Oder willst Du alle Deine Ortsnamen in einer weiteren Spalte - jeden nur einmal - angezeigt bekommen?
Genau das wäre so mein Ziel.
Die Originalwerte sollen ja wohl in beiden Fällen erhalten bleiben?
Genau.
Falls da also jemand eine Idee hat, wäre ich dankbar für Infos.
Oder willst Du alle Deine Ortsnamen in einer weiteren Spalte - jeden nur einmal - angezeigt bekommen?
Genau das wäre so mein Ziel.
Die Originalwerte sollen ja wohl in beiden Fällen erhalten bleiben?
Genau.
Falls da also jemand eine Idee hat, wäre ich dankbar für Infos.
Antwort 7 von CaroS
Hallo TRH,
noch ´ne Frage: Sind die Ortsnamen in der Spalte alphabetisch sortiert? (Wenn ja sicherlich auftseigend, A - Z.)
Oder kann man die Spalte sortieren und die Sortierung auch im Falle von Änderungen/Ergänzugen gewährleisten oder wiederholen?
Sollten die Antworten ´ja´ lauten, wird eine Formellösung etwas einfacher, bei ´nein´ ist im schlimmsten Fall eine Hilfsspalte nötig. (Alternative: VBA)
Gruß,
CaroS
noch ´ne Frage: Sind die Ortsnamen in der Spalte alphabetisch sortiert? (Wenn ja sicherlich auftseigend, A - Z.)
Oder kann man die Spalte sortieren und die Sortierung auch im Falle von Änderungen/Ergänzugen gewährleisten oder wiederholen?
Sollten die Antworten ´ja´ lauten, wird eine Formellösung etwas einfacher, bei ´nein´ ist im schlimmsten Fall eine Hilfsspalte nötig. (Alternative: VBA)
Gruß,
CaroS
Antwort 8 von fürLau
Hallo
hier die VBA Lösung;
Kopiere nachstehenden Code in ein Modul und starte das Makro mit Extras | Makro | Makros.. | ausführen. Dies ist auch noch detailierter unter www.excelbeispiele.de Anleitungen Nr.3 nachzulesen.
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
hier die VBA Lösung;
Kopiere nachstehenden Code in ein Modul und starte das Makro mit Extras | Makro | Makros.. | ausführen. Dies ist auch noch detailierter unter www.excelbeispiele.de Anleitungen Nr.3 nachzulesen.
Option Explicit
Sub Orte_aggregieren()
Dim spalte%, i%, zeile As Long: Rem Weil "gaaaanz" Viele ;*)
spalte = 3: Rem ab Spalte C
ActiveSheet.Cells(1, spalte).Value = ActiveSheet.Range("A2").Value
spalte = spalte + 1
Rem In jeder Zeile der Spalte A
For zeile = 3 To Range("A65536").End(xlUp).Row
Rem in Spalte 3(C) bis Ende beschriebene Zellen in Zeile 1
For i = 3 To ActiveSheet.Range("IV1").End(xlToLeft).Column
If ActiveSheet.Cells(zeile, 1).Value = ActiveSheet.Cells(1, i).Value Then
Exit For
End If
Next
If i = spalte Then
Rem Nicht gefunden ergänzen
ActiveSheet.Cells(1, spalte).Value = ActiveSheet.Cells(zeile, 1).Value
spalte = spalte + 1
End If
Next
End Sub
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Antwort 9 von CaroS
Hallo TRH,
hier erstmal eine kleine Matrixformel, die genau das macht, was Du willst. (Leider nur kopiert und nicht von mir. So wie ich es machen wollte, krieg ich´s im Moment einfach nicht hin.)
{=WENN(SUMME(WENN(A$1:A$100="";0;1/ZÄHLENWENN(A$1:A$100;A$1:A$100))) < ZEILE();"";INDIREKT("A"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A1))))}
Markiere neben der Spalte mit den Ortsnamen nur eine Zelle, kopiere die Formel ohne die {}-Klammern in die Formelzeile (oder entferne sie dort), ändere A$1:A$100 in den Bereich, in dem bei Dir die Ortsnamen stehen (die Zeilenzahl kann auch größer gewählt werden, auf Vorrat sozusagen) und drücken dann Strg + Umschalt + Eingabe.
Wenn die Formel in der Formelzeile nun in {}-Klammern eingeschlossen ist, kannst Du die Zelle so weit wie nötig nach unten ziehen/kopieren. Nachdem alle vorhandenen Namen einmal angezeigt wurden, folgen nur noch leere Werte "".
Gruß,
CaroS
hier erstmal eine kleine Matrixformel, die genau das macht, was Du willst. (Leider nur kopiert und nicht von mir. So wie ich es machen wollte, krieg ich´s im Moment einfach nicht hin.)
{=WENN(SUMME(WENN(A$1:A$100="";0;1/ZÄHLENWENN(A$1:A$100;A$1:A$100))) < ZEILE();"";INDIREKT("A"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A1))))}
Markiere neben der Spalte mit den Ortsnamen nur eine Zelle, kopiere die Formel ohne die {}-Klammern in die Formelzeile (oder entferne sie dort), ändere A$1:A$100 in den Bereich, in dem bei Dir die Ortsnamen stehen (die Zeilenzahl kann auch größer gewählt werden, auf Vorrat sozusagen) und drücken dann Strg + Umschalt + Eingabe.
Wenn die Formel in der Formelzeile nun in {}-Klammern eingeschlossen ist, kannst Du die Zelle so weit wie nötig nach unten ziehen/kopieren. Nachdem alle vorhandenen Namen einmal angezeigt wurden, folgen nur noch leere Werte "".
Gruß,
CaroS
Antwort 10 von TRH
Hallo!
Besten Dank für die Hilfe!
Noch einen schönen Feierabend
Gruß Tom
Besten Dank für die Hilfe!
Noch einen schönen Feierabend
Gruß Tom
Antwort 11 von TRH
...wobei mir gerade auffällt, dass bei der ersten Lösung (Makro), die Orte nebeneinander in die Zeilen aggregiert werden.
Was müsste man am Makro ändern, damit die untereinander stehen?
Jetzt wird mir auch die anfängliche Verständnisschwierigkeit klar; sorry für die etwas unklare Problembeschreibung...
Was müsste man am Makro ändern, damit die untereinander stehen?
Jetzt wird mir auch die anfängliche Verständnisschwierigkeit klar; sorry für die etwas unklare Problembeschreibung...
Antwort 12 von fürLau
Hallo
Hab´ ich zunächst anders interpretiert.Der geänderte Code schreibt die Aggregate in Spalte D (4) untereinander:
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Zitat:
Die möchte ich gern aggregrieren, d.h. eine Spalte mit jedem Ortsnamen,
Die möchte ich gern aggregrieren, d.h. eine Spalte mit jedem Ortsnamen,
Hab´ ich zunächst anders interpretiert.Der geänderte Code schreibt die Aggregate in Spalte D (4) untereinander:
Option Explicit
Sub Orte_aggregieren()
Dim zeile2%, i%, zeile As Long: Rem Weil "gaaaanz" Viele ;*)
zeile2 = 2: Rem ab zeile2 C
ActiveSheet.Cells(zeile2, 4).Value = ActiveSheet.Range("A2").Value
zeile2 = zeile2 + 1
Rem In jeder Zeile der zeile2 A
For zeile = 3 To Range("A65536").End(xlUp).Row
Rem in Spalte 4(D) bis Ende beschriebene Zeilen
Cells(zeile, 1).Select
For i = 2 To ActiveSheet.Range("D65536").End(xlUp).Row
Cells(zeile, 1).Select
Cells(i, 4).Select
If ActiveSheet.Cells(zeile, 1).Value = ActiveSheet.Cells(i, 4).Value Then
Exit For
End If
Next
If i = zeile2 Then
Rem Nicht gefunden ergänzen
ActiveSheet.Cells(zeile2, 4).Value = ActiveSheet.Cells(zeile, 1).Value
zeile2 = zeile2 + 1
End If
Next
End SubGruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.

