Für 2016 ginge das per Formel so:
=WENNFEHLER(INDEX(Tabelle1!$A$1:$A$100;AGGREGAT(15;6;ZEILE(Tabelle1!$A$1:$A$100)/(LÄNGE(Tabelle1!$A$1:$A$100)=5);ZEILE(A1)));"")
Die dann einfach runterziehen.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Hey,
ich hoffe ihr könnt mir da helfen. Ich habe ein Tabellenblatt mit Werten unterschiedlicher Länge, die untereinander in derselben Spalte stehen.
In einem anderen Tabellenblatt sollen daraus nur die Werte direkt untereinander kopiert werden, bei denen die Anzahl der Zeichen eine bestimmte Länge beträgt.
Das ganze soll Variabel funktionieren können, also wenn die in die Spalte des Datenursprungs neue Werte kopiert werden, sollen diese erneut geprüft und in das andere Tabellenblatt "aussortiert" werden.
Wie kann ich das möglichst elegant umsetzen?
Vielen Dank! :)
Grüße
Dominik
Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.
Für 2016 ginge das per Formel so:
=WENNFEHLER(INDEX(Tabelle1!$A$1:$A$100;AGGREGAT(15;6;ZEILE(Tabelle1!$A$1:$A$100)/(LÄNGE(Tabelle1!$A$1:$A$100)=5);ZEILE(A1)));"")
Die dann einfach runterziehen.
Diese Antwort wurde automatisch übersetzt. Daher kann es zu grammatikalischen Fehlern oder seltsamen Formulierungen kommen.
Hallo Dominik_146,
Vielen Dank für Ihren Besuch in der Microsoft Community.
Diese Anforderung können Sie mit einer benutzerdefinierten Funktion in Excel erfüllen.
Versuchen Sie, eine Funktion mit dem Namen FilterByLength zu definieren. Diese Funktion benötigt zwei Parameter: Der erste Parameter ist der Bereich der Datenquelle, der entsprechend Ihren Anforderungen eine Datenspalte sein sollte. Der zweite Parameter ist eine Ganzzahl , die die spezifische Anzahl von Zeichen angibt, nach denen gefiltert werden soll.
Drücken Sie ALT+F11, um den VBA-Editor zu öffnen, fügen Sie ein neues Modul ein, und fügen Sie den folgenden Code ein.
Dann können Sie diese Funktion direkt in der Arbeitsmappe verwenden. Es ist am besten, für den ersten Parameter einen begrenzten Bereich **** einzugeben (Sie können einen relativ großen Bereich für zukünftige Datenergänzungen reservieren, und die Ausgabe der Funktion wird automatisch aktualisiert), z.B. Sheet1! A1:A1000 statt direkt in Blatt1 zu gehen ! A:A. Letzteres kann auch zu korrekten Ergebnissen führen, aber es kann zu Verzögerungen führen.
Die Testergebnisse lauten wie folgt, die in englischer Sprache verfügbar sind. Wenn Sie die deutsche Version von Excel verwenden, sollten Sie ; als Trennzeichen verwenden. Zum Beispiel
=FilterByLength(Sheet1!A1:A100; 4)
Ich hoffe, dass diese Lösung sowohl effektiv als auch elegant genug für Ihre Bedürfnisse ist. Wenn Sie Fragen haben, können Sie sich gerne an uns wenden.
Beste Wünsche
Jonathan Z - MSFT | Microsoft Community Support-Spezialist
Hey,
vielen Dank für die schnelle Rückmeldung!
Ich habe den Code im VBA-Editor eingefügt und versucht, die Funktion so einzubauen - scheinbar habe ich dabei etwas falsch gemacht. Die Funktion gibt folgendes wieder:
Ist es richtig, dass die Funktion nach unten gezogen werden muss? Dabei zählt dann ja auch der Bereich A1:A50 immer einen höher..
Quelle:
Grüße
Dominik
Diese Antwort wurde automatisch übersetzt. Daher können grammatikalische Fehler oder seltsame Formulierungen auftreten.
Hallo Dominik_146,
Die Funktion sollte einmal in der obersten Zelle der Spalte platziert werden, in der Sie die Ergebnisse sehen möchten. Es muss nicht nach unten gezogen werden, es wird erwartet, dass es ein Spill-Array zurückgibt.
Fühlen Sie sich frei, das Ergebnis mit mir zu teilen.
Beste Wünsche
Jonathan Z - MSFT
Hola,
ungetestet:
=filter(Tabelle1!A1:A100;länge(A1:A50)=5)
Bereiche und Zeichenlänge hab ich natürlich geraten.
Gruß,
steve1da