Clever-Excel-Forum

Normale Version: Filterfunktion Problemstellung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=15561]

Hallo Leute,

ich benötige eure Hilfe.
Es geht um Filtern und einschreiben von Zellen.

Folgende Aufgabenstellung in der beigesendeten Excel File:

HÄNDISCHE EINGABE: Zelle B4 -> Datum (schreibt Nummer in Zelle A4 z.b für Oktober 10, November die 11 etc.     

Problemstellung : Filtern und automatisch in Tabelle2 einschreiben: 1. nach Monat der in A4 steht suchen und 2. nach NP Nummer in C4 suchen und 3.alle M-Nummern die auf die Filterungen 1. 2. zutreffen in die Tabelle2 einschreiben

Vielen Dank schonmal! :)
Hallo Dosch,

Deine Aufgabe ist momentan mE noch nicht ganz eindeutig bzgl. dessen, ob nur die Einträge in Zeile 4 ausgewertet werden sollen oder evtl. noch weitere darunter.

Nachfolgend geh ich zunächst davon au, dass lediglich die Einträge in Zeile 4 und ohne Kundekennzeichen ausgewertet werden sollen. letzteres einzubinden würde nur eine weitere Bedingung in der Formel erfordern.

In Tabelle2!B2:


Code:
=WENNFEHLER(INDEX('GJ 2017-2018'!E:E;AGGREGAT(15;6;ZEILE('GJ 2017-2018'!E$24:E$5000)/
(MONAT('GJ 2017-2018'!B$24:B$5000)=MONAT('GJ 2017-2018'!B$4))/
('GJ 2017-2018'!C$24:C$5000='GJ 2017-2018'!C$4);ZEILE(B1)));"")

und diese entsprechend weit nach unten kopieren.

Wenn Du jedoch wirklich eine derartige Formellösung anstrebst, solltest Du zumindest Deine Ausgangstabelle B23:E### in eine intelligente Tabelle wandeln. Das kannst Du mittels der Funktion "Als Tabelle formatieren" tun. Vorteil Die Tabelle und auch die dann dem entsprechende Formel passt sich automatisch an evtl. Datenergänzung an und Du brauchst die Formel nicht wie in meiner momentan aufgezeigten Formel in einem relativ möglicherweise zu großen Datenbereich auswerten lassen.
Hallo neopa,

erstmal Danke sehr der Ansatz hilft weiter! Die Funktion Monat ist nicht nötig wenn ich auf die Hilfsspalte A zurückgreife denke ich.
Ich habs mal angepasst aber jetzt lässt er mir die Zeilen leer  (bin nicht so fit in Excel).
Funktion: =WENNFEHLER(INDEX('GJ 2017-2018'!E:E;AGGREGAT(15;6;ZEILE('GJ 2017-2018'!E$24:E$5000)/('GJ 2017-2018'!A$24:A$5000)=('GJ 2017-2018'!A$4)/

('GJ 2017-2018'!C$24:C$5000='GJ 2017-2018'!C$4);ZEILE(B1)));"").

Kurz zum Verständnis:
in der Aggregat Funktion beziehst du dich zuerst auf die Zeilen der MNummer wieso? Die folgenden Beziehungen leuchten mir ein -> Monatsabgleich und Netzplanabgleich
Die Funktion Zeile B1 soll prüfen ob die vorherige Zeile leer ist, seh ich das richtig?
Und wieso trennst du die Beziehungen mit Bruchstrichen (/) und nicht mit ; ?

Zu deinen Fragen: Das Ziel ist es die NP Nummern wie hier das Bsp: C4 als Suchkriterium für die Tabelle darunter zu nehmen und die passenden MNummern in die Tabelle 2 einzuschreiben, C5 würde dann eine eigene Tabelle (Tabelle 3) bekommen um dort auch die zur NP passenden MNummern einzutragen. Diese Formeländerungen müsste ich dann aber hinbekommen.
Ich habe noch nie mit einer Intelligenten Tabelle gearbeitet werde mich in das Thema mal einarbeiten.

Vielen Dank für die Hilfestellung!
Hallo Dosch,

Zitat:Die Funktion Monat ist nicht nötig wenn ich auf die Hilfsspalte A zurückgreife denke ich.

Das ist richtig. Allerdings Deine Formelanpassung war noch nicht korrekt. Richtig muss diese z.B. so aussehen:
Code:
=WENNFEHLER(INDEX('GJ 2017-2018'!E:E;AGGREGAT(15;6;ZEILE('GJ 2017-2018'!E$24:E$5000)
/('GJ 2017-2018'!A$24:A$5000='GJ 2017-2018'!A$4)/('GJ 2017-2018'!C$24:C$5000='GJ 2017-2018'!C$4);ZEILE(B1)));"")

Anstelle darin :

... ZEILE('GJ 2017-2018'!E$24:E$5000) ... hätte ich z.B. auch: ZEILE('GJ 2017-2018'!B$24:B$5000) schreiben können. Entscheidend ist lediglich, dass die Matrix aus Zeilennummern gebildet wird. Möglich wäre auch darin den Bezug auf das andere Tabellenblatt wegzulassen (wenn im Ergebnistabellenblatt keine Zeilen gelöscht oder eingefügt werden).

Zu:

Zitat:Die Funktion Zeile B1 soll prüfen ob die vorherige Zeile leer ist, seh ich das richtig?

Nein. ZEILE(B1) ergibt als Teilergebnis eine 1 und nach unten kopiert ZEILE(B2) also eine 2, dann 3 ... und ist somit ein Zähler, der der Listenergebnisermittlung dient.

Zu:
Zitat:Und wieso trennst du die Beziehungen mit Bruchstrichen (/) und nicht mit ; ?

Die "/" in der Formel sind hier der mathematische Operator (geteilt durch) und als solche für die Auswertung der Matrix hier zwingend notwendig. Da die Formel sehr lang ist, hab ich zur besseren Lesbarkeit lediglich einen Zeilenumbruch genau an dieser Stelle vorgenommen. Das "/" hätte ich auch auf die Folgezeile nehmen können, wie in der obigen heutigen Formel oder den Umbruch an ein ganz anderen Stelle vornehmen können.

Die Funktionsweise der Formel ist für einen wenig erfahrenen Excelnutzer natürlich nicht leicht zu verstehen aber noch schwerer (aufwändiger) zu vermitteln. Allgemeine Grundlagen für das Verständnis einer derartigen Formel findest Du z.B. hier: http://www.online-excel.de/excel/singsel.php?f=26 und ff (also keine Angelegenheit von wenigen Stunden).

Im Unterschied zu den dortigen Erklärungen kommt die aufgezeigte AGGREGAT()-Formel ohne den spez. Matrixformelabschluss aus, "arbeitet" aber intern prinzipiell ähnlich. Dies allerdings zusätzlich unter Nutzung der spez. AGGREGAT()-Funktionalität in der Formel intern erzeugte Fehlerwerte (Division durch 0, bei Nichterfüllung von den Teilbedingungsgleichungen)  zu ignorieren sondern gerade durch dessen Nutzung zum gewünschten Ergebnis zu gelangen (einfach wenn man es einmal richtig begriffen hat).
Hi Dosch,


Zitat:Die Funktionsweise der Formel ist für einen wenig erfahrenen Excelnutzer natürlich nicht leicht zu verstehen aber noch schwerer (aufwändiger) zu vermitteln. Allgemeine Grundlagen für das Verständnis einer derartigen Formel findest Du z.B. hier: http://www.online-excel.de/excel/singsel.php?f=26 und ff (also keine Angelegenheit von wenigen Stunden).

ergänzend zu Werners Erläuterung: suche mal bei YouTube den Autor Andreas Thehos und dort dann seine Videos zum Thema AGGREGAT. Die sind super aufgebaut und erklärt; erfordern aber auch dort eine gewisse Einarbeitungszeit.
Vielen Dank euch ist mir eine große Hilfe.

Müsste nun meine Problemstellung lösen können.