volkspolizei
Goto Top

Auswertung.. Aber wie am besten?

Also, ich denke mal, dass es für euch nicht so das Problem ist, aber ich habe derzeit irgendwie ein Brett vor'm Kopf und komme einfach nicht weiter..

Folgendes..

Ich habe ein Tabellenblatt, bei dem ich einfach fortlaufend Daten eintrage. Ca 12 Spalten, bei denen anfänglich auch das Datum und eine Uhrzeit steht. Nun möchte ich in einem 2ten Tabellenblatt einfach ein Datum eintragen und Excel soll mir dann automatisch alle Einträge aus Tabellenblatt 1 auflisten, die an diesem Datum gemacht wurden. Und wenn ich dann ein anderes Datum eingebe, dann verschwinden diese Einträge wieder und Excel listet mir zu dem neuen Datum die Einträge der 12 Spalten auf...#


Hat jemand eine Idee?

Content-Key: 61995

Url: https://administrator.de/contentid/61995

Printed on: April 19, 2024 at 06:04 o'clock

Member: gamer0815
gamer0815 Jun 21, 2007 at 13:41:47 (UTC)
Goto Top
Zu lösen wäre es auf jeden Fall mit SVERWEIS!
Suchkriterium: Das feld in dem du die Matrix eingibst
Matrix: in dem Fall das gesamte Datenblatt1
Spaltenindex: Die Spaltennummer

Bei 12 Spalten benötigst du halt 12 SVERWEISE, was aber vom Aufwand her nicht so arg ist.

Das funktioniert auf jeden Fall.


Mfg
Gamer
Member: Dynadrate
Dynadrate Jun 21, 2007 at 13:47:43 (UTC)
Goto Top
Wenn ich dich richtig verstehe kannst du dazu am besten eine Pivot Tabelle benutzen.
In Excel->Daten->Pivot Tabelle
Member: bastla
bastla Jun 21, 2007 at 13:49:38 (UTC)
Goto Top
... und noch am Ende für "Bereich_Verweis" 0 oder FALSCH setzen, damit nur exakt übereinstimmende Werte gefunden werden.

Ansonsten wäre natürlich ein AutoFilter (Menü "Daten/Filter/AutoFilter") eine weitere Möglichkeit.

Grüße
bastla
Member: gamer0815
gamer0815 Jun 21, 2007 at 14:07:16 (UTC)
Goto Top
Wie kann ich in der Pivot-Tabelle dann nach allen Daten eines Datums suchen und dann ganz einfach ein anderes Datum eingeben und es werden diese Werte angezeigt?

Kenn mich mit Pivot-Tabellen leider nicht so aus aber ich hätte dafür in diesem Fall evl. auch eine Verwendung, da ich solche Sachen bis jetzt mit SVERWEISEN gelöst habe.

mfg
gamer
Member: Dynadrate
Dynadrate Jun 21, 2007 at 14:10:41 (UTC)
Goto Top
Puh...Pivat Tabellen isnd recht mächtig.
Am besten suchst du dir ein Tutorial raus. Normalerweise läufts aber so, dass man die Daten-Spalten in neue Spalten in der Pivot Tabelle zieht (per Drag&Drop). Diese werden dann, je nachdem wohin man so gezogen hat Gruppiert und man kann dann in einer Dropdown-Box auswählren welche Daten man haben möchte.
Vielleicht mal in einer Kopie rumprobieren.
Member: gamer0815
gamer0815 Jun 21, 2007 at 14:18:45 (UTC)
Goto Top
Also ein Suchfeld kann man hier wohl nicht verwenden. Eine Pivot-Tabelle erstellen und so das bekomm ich hin. Nur das Feld zum suchen wäre noch interessant gewesen.

Aber für den oberen Fall müsste man das Datum dann per Dropdown suchen. Wenn in der Tabelle schon ein paar Jahre drin sind wird das schon schwieriger.

Ansonsten sind die Pivot-Tabellen sicherlich gut.
Member: volkspolizei
volkspolizei Jun 21, 2007 at 15:22:14 (UTC)
Goto Top
Hm..

Also was ich bisher gemacht habe war ein SVERWEIS.
Das führt aber zu verschiedenen Problemen..

Ich schildere mal meinen Aufbau:

Tabellenblatt 1:
Spalten A bis K sind gefüllt.
A ist die Datumsspalte.

Tabellenblatt 2 ist so gestaltet, dass man an einer Stelle das Datum eingibt und er nun Zellenweise guckt (1. Zeile):
=SVERWEIS($B$4;'Tabelle 1'!$A2:$K2;3)
=SVERWEIS($B$4;'Tabelle 1'!$A2:$K2;4)
...
=SVERWEIS($B$4;'Tabelle 1'!$A2:$K2;11)

Zeile 2 dann:
=SVERWEIS($B$4;'Tabelle 1'!$A3:$K3;3)
=SVERWEIS($B$4;'Tabelle 1'!$A3:$K3;4)
...
=SVERWEIS($B$4;'Tabelle 1'!$A3:$K3;11)

So. Nun hab ich zwar nicht das Problem, dass er immer nur eine Zeile des gesuchten Wertes anzeigt, sondern jede, aber er erhöht ja die Zeilenanzahl nicht automatisch - sondern ich muss quasi vorausahnen, wieviele Zeilen er finden wird.

Und noch etwas ist doof. Wenn ich nun ein anderes Datum (ich suche nach einem bestimmten Datum) eingebe, dann fängt er an, die ersten Zeilen leer zu lassen und schreibt quasi mittendrin die gefundene(n) Zeile(n)..

Ich hoffe, ich konnte es einigermaßen gut umschreiben...

Werd natürlich eure Tipps mal versuchen irgendwie mit einzubasteln..

Danke erst mal..
Member: bastla
bastla Jun 21, 2007 at 15:35:58 (UTC)
Goto Top
Hallo Volkspolizei!

Villeicht wäre Dir doch mit dem AutoFilter (filtert allerdings gleich in der Ausgangstabelle) oder auch einem Spezialfilter besser geholfen ...

Was soll eigentlich mit den gefundenen Zeilen weiter geschehen?

Grüße
bastla
Member: volkspolizei
volkspolizei Jun 21, 2007 at 15:40:11 (UTC)
Goto Top
Also eigentlich sollte sogar nach 2 Suchstrings gefiltert werden, die man in der 2. Mappe eingeben kann.. Aber darum kümmere ich mich später..

Und dann (als Hauptaufgabe) soll die zweite Mappe quasi als Tagesbericht zum drucken benutzt werden..
Member: bastla
bastla Jun 21, 2007 at 18:21:48 (UTC)
Goto Top
Hallo volkspolizei!

Abgesehen davon, dass sich das Ganze schön langsam eher nach einem Fall für eine Datenbank anzuhören beginnt, könnte ich folgende VBA-Lösung anbieten:
Sub Filtern()
'### ab hier anpassen ###  
aData = Worksheets("Tabelle1").Range("A2").CurrentRegion 'A2 = erste Zelle des Datenbereiches in der Quelltabelle  
R = 3 'Zeile mit Kriterien in der Zieltabelle (s.u.)  
C = 2 'Erste Spalte mit Kriterien (numerisch; 2 = Spalte B)  
With Worksheets("Tabelle2") 'Zieltabelle  
'### ab hier unverändert lassen ###  
    aKrit = .Range(Cells(R, C), Cells(R, C + UBound(aData, 2) - 1))
    R = R + 1
    .Range(Cells(R, C), Cells(65536, 256)).ClearContents
    For i = 1 To UBound(aData, 1)
        Match = True
        For j = 1 To UBound(aData, 2)
            If aKrit(1, j) <> "" Then  
                If LCase(aData(i, j)) <> LCase(aKrit(1, j)) Then
                    Match = False
                    Exit For
                End If
            End If
        Next
        If Match Then
            For j = 1 To UBound(aData, 2)
                .Cells(R, C + j - 1).Value = aData(i, j)
            Next
            R = R + 1
        End If
    Next
End With
End Sub
Erwartet wird, dass in der Zieltabelle die Spaltenstruktur mit der Quelltabelle übereinstimmt - für das Beispiel oben etwa:
Daten in Quelltabelle: A2:K30 - Spalte A enthält "Datum", Spalte B enthält "Uhrzeit", ..., Spalte K enthält "Kennzeichen)
Kriterien in Zieltabelle B3:L3 - Spalte B enthält gesuchtes "Datum", Spalte C enthält gesuchte "Uhrzeit", ..., Spalte L enthält gesuchtes "Kennzeichen"
Ergebnisse in Zieltabelle B4:Lxx

Am einfachsten ist es, die Spaltenüberschriften der Daten in die Zieltabelle zu kopieren (im Beispiel also nach B2:L2) und unter den Überschriften die Kriterien einzutragen. Zellen ohne Einträge werden nicht als Kriterium verwendet. Würde also zB in B3 ein "Such-Datum" und in L3 ein "Such-Kennzeichen" eingetragen, werden ab B4 nur Datensätze angezeigt, bei denen "Datum" und "Kennzeichen" übereinstimmen, wäre B3 leer und nur das "Such-Kennzeichen" in L3 eingetragen, würde nur nach "Kennzeichen" verglichen. Damit ist es sogar möglich (aber kaum sinnvoll), nach allen Spalten zu filtern, wobei eine UND-Verknüpfung verwendet wird (alle Kriterien müssen übereinstimmen, wobei in dieser Fassung des Programms Groß-/Kleinschreibung ignoriert wird).

Am Beginn werden alte Ergebnisse (von der ersten Ergebniszelle B4 bis zum Tabellenende IV65536) gelöscht, wobei jedoch die Formatierungen erhalten bleiben.

Über das Laufzeitverhalten, besonders bei umfangreicheren Daten, kann ich nichts sagen, da ich nur mit dem im Beispiel angegebenen kleinen Bereich (28 Zeilen x 11 Spalten + Überschriftszeile) getestet habe.

Grüße
bastla