Supportnet / Forum / Tabellenkalkulation
doppelte Einträge "filtern"
Frage
Hi zusammen!
Ich habe eine Excel-Liste in der einzelne verschiedene Werte doppelt vorkommen.
Für weitere Funktionen benötige ich von jedem Wert einen "Beispielauszug".
Beispiel Tabelle:
1001
1002
1003
1003
1005
1001
1001
1005
1002
....
Als Ergebnis soll folgendes stehen:
1001
1002
1003
1005
Ist das machbar?
Klaus
Antwort 1 von coros
Hallo Klaus,
das kann man mit dem Spezialfilter erledigen.
Markiere dazu die Spalte, die Du auf Duplikate filtern möchtest. Gehe danach in der Symbolleiste nacheinander auf „Daten => Filter => Spezialfilter…“. In dem Fenster gehört in das erste freie Feld der Bereich, den Du vorher markiert hast. In die Zeile darunter kommt das gleiche, also den Bereich, den Du markiert hast. Dann wähle oben den Punkt „An eine andere Stelle kopieren“ und gebe in dem 3. Feld an, wohin das Ergebnis kopiert werden soll. Dann markiere noch die Funktion „Keine Duplikate“ und nach Klick auf OK sollten Dir alle Duplikate in die von Dir angegebene Spalte kopiert werden.
Versuche es mal. Bei Problemen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das kann man mit dem Spezialfilter erledigen.
Markiere dazu die Spalte, die Du auf Duplikate filtern möchtest. Gehe danach in der Symbolleiste nacheinander auf „Daten => Filter => Spezialfilter…“. In dem Fenster gehört in das erste freie Feld der Bereich, den Du vorher markiert hast. In die Zeile darunter kommt das gleiche, also den Bereich, den Du markiert hast. Dann wähle oben den Punkt „An eine andere Stelle kopieren“ und gebe in dem 3. Feld an, wohin das Ergebnis kopiert werden soll. Dann markiere noch die Funktion „Keine Duplikate“ und nach Klick auf OK sollten Dir alle Duplikate in die von Dir angegebene Spalte kopiert werden.
Versuche es mal. Bei Problemen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von meine_Frage
Thanx!
Eine Formel für so etwas gibt es nicht?
Werde den Spezialfilter mal ausprobieren und mich dann wieder melden.
Klaus
Eine Formel für so etwas gibt es nicht?
Werde den Spezialfilter mal ausprobieren und mich dann wieder melden.
Klaus
Antwort 3 von CaroS
Hallo Klaus,
es gibt für sowas eine Matrixformel. Für Werte in A1 bis A100 (oder weniger):
{=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))))}
Und dazu wie immer die Hinweise für Matrixformeln:
Matrixformeln werden meistens, damit sie als solche erkennbar sind, in
{}-Klammern geschrieben. In die Formelzeile müssen sie ohne {}-Klammern eingegeben werden.
Zur Eingabe und Berabeitung von Matrixformeln muss sich die Zelle im "Bearbeitungsmodus" befinden, dazu ggf. F2 drücken.
Die Eingabe/Änderung einer Matrixformel muss mit Strg + Umschalt + Eingabe abgeschlossen werden. (Daraufhin werden in der Formelzeile die {}-Klammern sichtbar.)
Nachdem die erste Matrixformel fertig eingegeben wurde, kann die Zelle so weit runterkopiert/gezogen werden, bis nichts mehr angezeigt wird.
Gruß,
CaroS
es gibt für sowas eine Matrixformel. Für Werte in A1 bis A100 (oder weniger):
{=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))))}
Und dazu wie immer die Hinweise für Matrixformeln:
Matrixformeln werden meistens, damit sie als solche erkennbar sind, in
{}-Klammern geschrieben. In die Formelzeile müssen sie ohne {}-Klammern eingegeben werden.
Zur Eingabe und Berabeitung von Matrixformeln muss sich die Zelle im "Bearbeitungsmodus" befinden, dazu ggf. F2 drücken.
Die Eingabe/Änderung einer Matrixformel muss mit Strg + Umschalt + Eingabe abgeschlossen werden. (Daraufhin werden in der Formelzeile die {}-Klammern sichtbar.)
Nachdem die erste Matrixformel fertig eingegeben wurde, kann die Zelle so weit runterkopiert/gezogen werden, bis nichts mehr angezeigt wird.
Gruß,
CaroS
Antwort 4 von meine_Frage
Hi CaroS!
Danke für den Tipp.
Kann es sein, dass die Matrix-Formel nur für Bereiche in der Spalte A anwendbar ist?
Habe Deine Formel an meine Bedürfnisse adaptiert und erhalte leider kein Ergebnis.
Vielleicht liegt es auch daran, dass ich bis Zeile 1744 eine "Filertung" benötige?!
Oder ist der Grund der, dass es sich dabei um Werte und nicht um Zahlen handelt?
Klaus
Danke für den Tipp.
Kann es sein, dass die Matrix-Formel nur für Bereiche in der Spalte A anwendbar ist?
Habe Deine Formel an meine Bedürfnisse adaptiert und erhalte leider kein Ergebnis.
Vielleicht liegt es auch daran, dass ich bis Zeile 1744 eine "Filertung" benötige?!
Oder ist der Grund der, dass es sich dabei um Werte und nicht um Zahlen handelt?
Klaus
Antwort 5 von CaroS
Hallo Klaus,
die angegebene Formel muss irgendwo neben Spalte A in eine Zelle der ersten Zeile als Matrixformel eingegeben werden. Nach der Eingabe wäre es das einfachste, die Zelle und damit auch die Formel so weit runterzuziehen wie nötig (sinnvollerweise höchstens bis zu der letzten Zeile, die in der Formel vorkommt, hier die 100.)
Unverändert würde die Formel aus dem Bereich A1:A100 jeden Wert, egal ob Zahl, Text, Wahrheitswert, ... einmal in der Formelspalte anzeigen, und zwar in der Reihenfolge, in der er innerhalb von A1:A100 auftritt. Eine Sortierung findet also nicht statt.
Werden die Ergebnisse erst in einer anderen Zeile benötigt, z. B. ab C15, dann schreibst Du die Formel
{=WENN(SUMME(WENN(A$1:A$100=""; 0; 1/ZÄHLENWENN(A$1:A$100;A$1:A$100))) < ZEILE() - 14; ""; INDIREKT("A"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1; ZEILE($1:$100)); ZEILE(A1))))}
in C15 und machst alles andere wie bisher. Die Anpassung besteht in der Subtraktion: ... < Zeile() -14.
Die obere Grenze (100) kann leicht auf jeden beliebigen anderen Wert geändert werden, wobei der angegebene Bereich nicht voll ausgefüllt sein muss. Die Formel mit A1:A100 funktioniert also auch, wenn nur in A1:A5 oder in A3:A7 Werte stehen oder wenn zwischendurch Zellen leer sind.
Die Formel lässt sich auch für andere Spalten anpassen, z. B. für B:
{=WENN(SUMME(WENN(B$1:B$100=""; 0; 1/ZÄHLENWENN(B$1:B$100;B$1:B$100))) < ZEILE(); ""; INDIREKT("B"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1;;;ZEILE($1:$100)); B$1:B$100)=1; ZEILE($1:$100)); ZEILE(B1))))}
oder für eine Zeile umschreiben. Für einen mehrspaltigen Bereich (z. B. A1:C100) geht es aber nicht, so viel ich weiß.
Damit kann ich leider nichts anfangen: "dass ich bis Zeile 1744 eine "Filertung" benötige"
Gruß,
CaroS
die angegebene Formel muss irgendwo neben Spalte A in eine Zelle der ersten Zeile als Matrixformel eingegeben werden. Nach der Eingabe wäre es das einfachste, die Zelle und damit auch die Formel so weit runterzuziehen wie nötig (sinnvollerweise höchstens bis zu der letzten Zeile, die in der Formel vorkommt, hier die 100.)
Unverändert würde die Formel aus dem Bereich A1:A100 jeden Wert, egal ob Zahl, Text, Wahrheitswert, ... einmal in der Formelspalte anzeigen, und zwar in der Reihenfolge, in der er innerhalb von A1:A100 auftritt. Eine Sortierung findet also nicht statt.
Werden die Ergebnisse erst in einer anderen Zeile benötigt, z. B. ab C15, dann schreibst Du die Formel
{=WENN(SUMME(WENN(A$1:A$100=""; 0; 1/ZÄHLENWENN(A$1:A$100;A$1:A$100))) < ZEILE() - 14; ""; INDIREKT("A"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1; ZEILE($1:$100)); ZEILE(A1))))}
in C15 und machst alles andere wie bisher. Die Anpassung besteht in der Subtraktion: ... < Zeile() -14.
Die obere Grenze (100) kann leicht auf jeden beliebigen anderen Wert geändert werden, wobei der angegebene Bereich nicht voll ausgefüllt sein muss. Die Formel mit A1:A100 funktioniert also auch, wenn nur in A1:A5 oder in A3:A7 Werte stehen oder wenn zwischendurch Zellen leer sind.
Die Formel lässt sich auch für andere Spalten anpassen, z. B. für B:
{=WENN(SUMME(WENN(B$1:B$100=""; 0; 1/ZÄHLENWENN(B$1:B$100;B$1:B$100))) < ZEILE(); ""; INDIREKT("B"& KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1;;;ZEILE($1:$100)); B$1:B$100)=1; ZEILE($1:$100)); ZEILE(B1))))}
oder für eine Zeile umschreiben. Für einen mehrspaltigen Bereich (z. B. A1:C100) geht es aber nicht, so viel ich weiß.
Damit kann ich leider nichts anfangen: "dass ich bis Zeile 1744 eine "Filertung" benötige"
Gruß,
CaroS

