Freigeben über

Excel - Werte aus Spalte bei erfüllter Bedingung untereinander kopieren

Anonym
2024-12-03T12:46:14+00:00

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

Microsoft 365 und Office | Excel | Für Zuhause | Windows

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.

0 Kommentare Keine Kommentare
{count} Stimmen
Antwort, die vom Frageautor angenommen wurde
  1. Anonym
    2024-12-04T08:28:10+00:00

    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.

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare

6 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2024-12-03T13:48:17+00:00

    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.

    code.txt

    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)
    

    Image

    Image

    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

    0 Kommentare Keine Kommentare
  2. Anonym
    2024-12-03T14:38:34+00:00

    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

    0 Kommentare Keine Kommentare
  3. Anonym
    2024-12-03T14:50:58+00:00

    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

    0 Kommentare Keine Kommentare
  4. Anonym
    2024-12-03T15:12:39+00:00

    Hola,

    ungetestet:

    =filter(Tabelle1!A1:A100;länge(A1:A50)=5)

    Bereiche und Zeichenlänge hab ich natürlich geraten.

    Gruß,

    steve1da

    0 Kommentare Keine Kommentare