Frage von JS1996, 89

Excel Wenn Monat aus Liste = aktueller Monat dann zeige mir diese an?

Hallo zusammen,

Ich habe ein Tabellenblatt mit Daten. In jeder Zeile der Tabelle steht ein Monat.

Jetzt möchte ich in einem neuem Tabellenblatt alle Zeilen angezeigt bekommen, wenn der Monat des Tabellenblatts vorher gleich mit dem aktuellen Monat ist. Das soll Automatisch nach jedem Monat ändern.

Hat jemand eine Idee?

Gruß

Expertenantwort
von Ninombre, Community-Experte für Excel, 73

Eine ganz naheliegende Lösung wäre den Autofilter auf die ursprüngliche Tabelle zu nutzen - das geht dann nicht vollautomatisch, aber zwei Klicks im Monat klingen noch zumutbar.

Die andere Lösung hört sich der Beschreibung nach einfach an, ist aber nur kompliziert umzusetzen, das entspricht einfach nicht der Excel-eigenen Logik, wird daher nicht mit einfachen Formeln direkt unterstützt.

http://www.excelformeln.de/formeln.html?welcher=28

=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(B$1:B$99="x";ZEILE($1:$99));ZEILE(A1)));"")

wobei diese Formel als Matrixformel mit STRG+SHIFT+Enter abgeschlossen werden muss - der Hinweis wird im Link nicht genannt, d.h. die dort gezeigten geschwungenen Klammern nicht direkt eingeben.

Kommentar von JS1996 ,

Hallo Nonombre,

vielen Dank für deine Antwort.

Ich probiere das gleich.

Kommentar von JS1996 ,

Also die Formel scheint schon dass zu sein was ich suche, doch weiß ich noch nicht genau wie ich diese jetzt bei mir richtig einbauen soll.

Kommentar von Ninombre ,

Die Formel funktioniert in dieser Form nur, wenn Du in Zeile 1 anfängst, dort steht dann der erste Treffer. Wenn Du noch Überschriften brauchst oder aus sonstigen Gründen nicht direkt in Zeile 1 beginnen kannst, musst Du den Wert von "Zeile(A1)" anpassen (zeile A1 liefert als Ergebnis 1, da A1 ja in der ersten Zeile steht:

Zeile wird in der Formel verwendet, um die Treffer fortzuschreiben, d.h. Zeile 1 also der erste Treffer., Zeile 2 der zweite. etc. : Wenn es keine direkte Zuordnung zwischen der Zeilennummer und dem x.ten Treffer gibt, kannst Du eine Verschiebung einbauen, das wäre die fettgedruckte Zahl, ein -1 bedeutet, dass Du in Zeile 2 den ersten Treffer hast.:

=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(B$1:B$99="x";ZEILE($1:$99));ZEILE(A1)-1));"")

Ansonsten musst Du anpassen:
In der Beispielformel müsste der Monat in Spalte B stehen. Wenn das bei Dir nicht der Fall ist, B durch die richtige Spalte ersetzen

Statt ="x" willst Du nach dem aktuellen Monat suchen. In welcher Form ist der Monat denn eingetragen? Als "richtiges" Datum oder einfach das Wort Mai, Juni o.ä.?

Da Du nicht nur eine Spalte übernehmen willst, sondern mehrere, sollte man noch die Zellbezüge des Datums fixieren, damit die Formel nicht nur nach unten gezogen/kopiert werden kann, sondern auch in die anderen Spalten:

=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN($B$1:$B$99="x";ZEILE($1:$99));ZEILE(A1)-1));"")

Wenn Du noch beschreiben kannst, wie das Datum abgelegt ist und in welcher Spalte das Datum steht, kann ich die Formel auch konkreter anpassen.

Antwort
von Tron1701, 46

Hallo,

es gibt eine einfache Lösung, die kompletten Daten aus der Tabelle 1 markieren, "kopieren", in die Tabelle 2 wechseln und mit rechtem Mausklick auf die erste Zelle klicken, die auch so in Tabelle 1 beginnt, "Inhalte einfügen", "Verknüpfen" anklicken.

Du kannst auch das komplette Blatt markieren, würde aber bei der Verknüpfung viel Zeit in Anspruch nehmen.

In Tabelle 2 oberhalb der Zelle, wo die Monate eingetragen sind unter "Daten" - "Filter" setzen. Auf dem Pfeil auf die erzeugte Schaltfläche klicken dann kannst Du nach belieben den Monat (oder mehrere Monate) auswählen und nur jeweiligen Daten, bzw. Zeilen werden angezeigt.

Wichtig hierfür ist, dass keine Zellen verbunden sind.

Gruß Tron

Keine passende Antwort gefunden?

Fragen Sie die Community