Daten sortiert aus Exceltabelle übernehmen

Hallo,

ich möchte Daten aus einer Excel-Tabelle in eine andere übernehmen wenn eine Bedingung erfüllt ist. Die Daten sollen dabei sortiert im neuen Tabellenblatt erscheinen. Ich habe es mit der Funktion SVERWEIS versucht, bin darin aber nicht so firm.
Wenn in Tabelle 2 der Status „anwesend“ ist soll der Datensatz in Tabelle 1 übernommen werden, allerdings nach Möglichkeit alphabetisch sortiert und ohne freie Zeilen.

Tabelle 1
Name Vorname Straße PLZ Ort

Tabelle 2
Name Vorname Straße PLZ Ort Status
Meier Erwin Potsdamer Straße 15124 Diedersdorf anwesend
Schulze Emil Berliner Straße 16487 Berlin ausgetreten
Müller Anton Brandenburger Straße 17458 Teltow anwesend
Klaus Gustav Alleestraße 15642 Geltow anwesend
Schulz Karl Seeweg 25698 Mühlrose ausgetreten
Otto Peter Hauptstraße 14578 Potsdam ausgetreten
Sommer Gunter Friedrichstraße 12587 Bernau anwesend
Winter Jochen Ginsterweg 26987 Dresden anwesend
Ernst Andreas Pappelallee 88745 München ausgetreten
Danke!

Hallo Kutte74,
mit einem SVERWEIS wird es Problematisch, weil die Tabelle, die als Matrix dient, sortiert sein muss. Ich denke es wird nur mit zwei Schritten klappen. Mein Ansatz wäre:
=WENN(Tabelle2!$F11=„Anwesend“;Tabelle2!E11;"")
Dann sind die korrekten Daten schon mal in der Tabelle 1. Wo unter Staus allerdings „ausgetreten“ steht, sind dann leere Zellen.

Gruß norler

Hallo kutte74,
nach nochmaligem Überlegen, gibt es eine bessere Lösung: Tabelle 2 sortieren nach 1. Priorität „Status“, 2. Priorität „Name“. Dann sind die Daten schon mal so sortiert, wie sie gebraucht werden. Dann inTabelle 1 in Zeile 1 die Überschriften, in Zelle A2 die Formel:
=WENN(Tabelle2!$F2=„Anwesend“;Tabelle2!A2;"")
Diese Formel nach rechts und nach unten ziehen.

Gruß norler

So Sorry, aber kann ich leider auch nicht helfen.

Hallo,
ich hoffe, dass ich deine Frage richtig verstanden habe und hätte hier auch eine kleine Formel für dich.

Ich würde das Ganze nicht über einen SVerweis Lösen, sondern mit einer Wenn Funktion.

Formel hierzu wäre: =WENN(Tabelle2!F2=„anwesend“;Tabelle2!A2;" ") F2 ist in diesem Beispiel dein Statusfeld.

Diese Formel kannst du in deine erste Zeile kopieren und dann nach rechts ziehen, nun musst du noch die F2 in den restlichen Spalten ändern (Excel zählt automatisch weiter) und fertig.

Das Sortieren würde ich in Excel machen, in Excel(2010) unter Start - Sortieren und Filtern auswählen, aber bitte markieren vorher den gewünschten Tabellenbereich ohne Namen usw.

Vielleicht hilft dir das weiter

Schönen Tag noch

Hallo!
Das Übertragen der Daten aus Tabelle 2 nach Tabelle 1 geht verhältnismäßig einfach, indem Du in Tabelle 1 in Zelle A2 folgende Formel einträgst:
=WENN(Tabelle2!$F2=„anwesend“;Tabelle2!A2;"")
Dann A2 markieren, kopieren und in die Zellen B2 bis E2 einfügen.
Zeile für Zeile wiederholen.
Das anschließende Sortieren und Löschen leerer Zeilen geht m.E. nur mit einem Makro. Und da bin ich nicht firm. Sorry!

Hallo,

das Sortieren bekommst Du relativ einfach dadurch hin, dass Du die Quelldaten sortierst. Wie Du allerdings Leerzeilen vermeidest, kann ich Dir nicht sagen. Das funktioniert natürlich mit Makros, aber ich hatte Deine Frage so verstanden, dass Du nur mit „normalen“ Excel-Methoden arbeiten willst…??

Ich habe eine Datei erstellt, kann die aber leider hier nicht runterladen. Schick mir mal eine Mail-Adresse, an die ich Dir die Datei senden kann.

Gruß Jürgen

Hallo,
verwende mal den Spezialfilter, der kann das.

Beste Grüße
Helmut Schuster

Kann ich gerade nicht beantworten, aber schau mal hier http://www.online-excel.de/ oder hier: http://www.excelformeln.de/
gruß mani

Hallo kutte74,

eine Formellösung ist hier kompliziert und mit Sortierung nur in mehreren Schritten möglich.
Du kannst dein Glück ja mal mit Formeln auf
http://www.excelformeln.de/formeln.html
vesuchen.

Einfacher ist es hier in Tabelle 2 die Autofilterfunktion zu nutzen und nach dem Filtern die Daten nach Tabelle1 zu kopieren.

Wenn sich die Daten in Tabelle2 oft ändern, dann könntest du alternativ das Ganze auch mit
Daten–Externe Daten abrufen – aus anderen Quellen --> Microsoft Querry – Excel Files --> usw. auslesen.
Als Quelle wählst du dann die aktive Datei und das Blatt Tabelle2. Damit du den Filter setzen kannst muss du im Assisitenten auch die Spalte „Status“ mit übernehmen. Diese kannst du dann in Tabelle1 nach dem Import ausblenden. Ändern sich die Daten in Tabelle2 muss du in Tabelle1 nur die Daten aktualisieren.
Das funktioniert zumindest unter Excel 2010.

Gruß
Franz

Hallo,

versuchs mit diesem Makro:

Sub Datensatz_kopieren_wenn_eine_Bedingung_erfüllt_ist()

Dim i, j, zei As Integer

Application.ScreenUpdating = False

i = 2
j = 2

Do While (i „“
j = j + 1
Loop

Range(„A“ & j).Select
ActiveSheet.Paste
Sheets(„Tabelle2“).Select
'j = j + 1

End If

i = i + 1

Loop

With Worksheets(„Tabelle1“)
zei = .Cells(Rows.Count, „A“).End(xlUp).Row
zei = Application.Max(zei, .Cells(Rows.Count, „F“).End(xlUp).Row)
.Range(„A2:F“ & zei).Sort Key1:=.Range(„A2“), Order1:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End With

Sheets(„Tabelle1“).Activate

Application.ScreenUpdating = True

End Sub

Einfach ein Modul einfügen und dann das oben stehende Makro reinkopieren.

LG Martina

Hallo Kutte 74,

leider kann ich da nicht wirklich helfen. Das sortieren mit sverweis klappt zwar, aber ein automatisiertes filtern und löschen von leerzeilen ist ohne VBA nicht automatisiert zu machen. Es müsste immer nach dem Eintragen in Tabelle zwei die tabelle ein angewählt und neu gefiltert werden.

Gruß, Nils

Hallo Kutte74,

leider kann ich deine Anfrage nicht lösen, Lösungsmöglichkeiten erscheinen mir auch mit"Datenbankabfrage" oder über eine Pivotdatei