Excel-Formel nächster Datensatz Abfrage?

4 Antworten

Ich habe das jetzt mal etwas "primitiver" nachgebaut:

Bild zum Beitrag

Formel in B3 (und runterkopieren) ist:

{=WENNFEHLER(INDEX($B$1:$B$10;KKLEINSTE(WENN($A$1:$A$10=$D$1;ZEILE($A$1:$A$10));ZEILE(A1)));"")}

!!!Achtung!!!
Das ist eine Matrixformel.
Das heißt, die geschweiften Klammern { } NICHT mit eingeben,
sondern die Formel mit STRG&SHIFT&ENTER abschließen.
Das erzeugt die { } und macht sie zu einer Matrixformel.

Hilft Dir das? Habe ich Dich richtig verstanden?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
 - (Formel, Microsoft Excel)

Kittylady008 
Beitragsersteller
 14.10.2022, 18:14

Ich schaue mal, danke dir.

1

Naja, wenn in einer Spalte der Name mehrfach vorkommt dann den Autofilter einschalten. Es braucht keine Formel.
ODER
Die ganze Daten Tapette zur PIVOT Tabelle machen,
um dann nach gewünschter Filterung per DoppelKlick genau diese Listung separat zu erhalten. Hierfür braucht es auch keine Formel.


Kittylady008 
Beitragsersteller
 14.10.2022, 18:15

Könnte tatsächlich die Lösung ebenfalls sein. Probiere ich aus. Danke

0

Wenn eine geordnete, eingerückte Auflistung reicht, sieht das ganz nach einer typischen Aufgabe für eine Pivot-Tabelle aus.

Wenn du die Texte aber wirklich hintereinander aufgelistet haben willst, geht das auch, erfordert aber ein paar Hilfszeilen (oder VBA).

Wenn du nur einen einzelnen Namen auswählen können willst, ist es vermutlich ein wenig einfacher.

Hier mal ein Entwurf - lässt sich noch erheblich vereinfachen:

Tabelle (Werteansicht; eine Zeile hinzugefügt) als CSV:

Name;Artikel;Datum;Nr. Auftreten;Zeile 1. Auftreten;Index für Rang;Rang;Rang.Invers;Name;Artikel;Kumuliert;Eintrag Nr.;Eintrag Zeile;Name;Artikel Kumuliert
Peter Mayer;Banane;19.05.2022;1;2;2,142857143;1;2;Peter Mayer;Banane;Banane, Birne, Aprikose;1;2;Peter Mayer;Banane, Birne, Aprikose
Thomas Müller;Apfel;20.05.2022;1;3;3,142857143;4;4;Peter Mayer;Birne;Birne, Aprikose;;5;Thomas Müller;Apfel
Peter Mayer;Birne;01.02.2022;2;2;2,285714286;2;7;Peter Mayer;Aprikose;Aprikose;;6;Maria Etling;Kartoffel, Wirsing
Maria Etling;Kartoffel;14.05.2022;1;5;5,142857143;5;3;Thomas Müller;Apfel;Apfel;2;8;Jens Schmitt;Erdbeere
Jens Schmitt;Erdbeere;10.07.2022;1;6;6,142857143;7;5;Maria Etling;Kartoffel;Kartoffel, Wirsing;3;;;
Peter Mayer;Aprikose;02.08.2022;3;2;2,428571429;3;8;Maria Etling;Wirsing;Wirsing;;;;
Maria Etling;Wirsing;03.08.2022;2;5;5,285714286;6;6;Jens Schmitt;Erdbeere;Erdbeere;4;;;

Tabelle (Formelansicht; eine Zeile hinzugefügt) als CSV:

Name;Artikel;Datum;Nr. Auftreten;Zeile 1. Auftreten;Index für Rang;Rang;Rang.Invers;=A1;=B1;Kumuliert;Eintrag Nr.;Eintrag Zeile;=A1;"=B1&"" ""&K1"
Peter Mayer;Banane;44700;"=ZÄHLENWENN(A$2:A2;A2)";"=VERGLEICH(A2;A:A;0)";=E2+D2/ANZAHL(D:D);"=RANG.GLEICH(F2;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H2)";"=INDEX(B:B;$H2)";"=J2&WENN(I2<>I3;"""";"", ""&K3)";"=WENN(I2=I1;"""";MAX(L$1:L1)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M2="""";"""";INDEX(I:I;$M2))";"=WENN(N2="""";"""";INDEX(K:K;$M2))"
Thomas Müller;Apfel;44701;"=ZÄHLENWENN(A$2:A3;A3)";"=VERGLEICH(A3;A:A;0)";=E3+D3/ANZAHL(D:D);"=RANG.GLEICH(F3;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H3)";"=INDEX(B:B;$H3)";"=J3&WENN(I3<>I4;"""";"", ""&K4)";"=WENN(I3=I2;"""";MAX(L$1:L2)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M3="""";"""";INDEX(I:I;$M3))";"=WENN(N3="""";"""";INDEX(K:K;$M3))"
Peter Mayer;Birne;44593;"=ZÄHLENWENN(A$2:A4;A4)";"=VERGLEICH(A4;A:A;0)";=E4+D4/ANZAHL(D:D);"=RANG.GLEICH(F4;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H4)";"=INDEX(B:B;$H4)";"=J4&WENN(I4<>I5;"""";"", ""&K5)";"=WENN(I4=I3;"""";MAX(L$1:L3)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M4="""";"""";INDEX(I:I;$M4))";"=WENN(N4="""";"""";INDEX(K:K;$M4))"
Maria Etling;Kartoffel;44695;"=ZÄHLENWENN(A$2:A5;A5)";"=VERGLEICH(A5;A:A;0)";=E5+D5/ANZAHL(D:D);"=RANG.GLEICH(F5;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H5)";"=INDEX(B:B;$H5)";"=J5&WENN(I5<>I6;"""";"", ""&K6)";"=WENN(I5=I4;"""";MAX(L$1:L4)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M5="""";"""";INDEX(I:I;$M5))";"=WENN(N5="""";"""";INDEX(K:K;$M5))"
Jens Schmitt;Erdbeere;44752;"=ZÄHLENWENN(A$2:A6;A6)";"=VERGLEICH(A6;A:A;0)";=E6+D6/ANZAHL(D:D);"=RANG.GLEICH(F6;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H6)";"=INDEX(B:B;$H6)";"=J6&WENN(I6<>I7;"""";"", ""&K7)";"=WENN(I6=I5;"""";MAX(L$1:L5)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M6="""";"""";INDEX(I:I;$M6))";"=WENN(N6="""";"""";INDEX(K:K;$M6))"
Peter Mayer;Aprikose;44775;"=ZÄHLENWENN(A$2:A7;A7)";"=VERGLEICH(A7;A:A;0)";=E7+D7/ANZAHL(D:D);"=RANG.GLEICH(F7;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H7)";"=INDEX(B:B;$H7)";"=J7&WENN(I7<>I8;"""";"", ""&K8)";"=WENN(I7=I6;"""";MAX(L$1:L6)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M7="""";"""";INDEX(I:I;$M7))";"=WENN(N7="""";"""";INDEX(K:K;$M7))"
Maria Etling;Wirsing;44776;"=ZÄHLENWENN(A$2:A8;A8)";"=VERGLEICH(A8;A:A;0)";=E8+D8/ANZAHL(D:D);"=RANG.GLEICH(F8;F:F;1)";"=VERGLEICH(ZEILE()-ZEILE(G$1);G:G;0)";"=INDEX(A:A;$H8)";"=INDEX(B:B;$H8)";"=J8&WENN(I8<>I9;"""";"", ""&K9)";"=WENN(I8=I7;"""";MAX(L$1:L7)+1)";"=WENN(ZEILE()-ZEILE(L$1)>MAX(L:L);"""";VERGLEICH(ZEILE()-ZEILE(L$1);L:L;0))";"=WENN(M8="""";"""";INDEX(I:I;$M8))";"=WENN(N8="""";"""";INDEX(K:K;$M8))"

Beachte, dass Texte (auch Formeln) in doppelten Anführungszeichen " stehen; wenn ein Text selbst doppelte Anführungszeichen enthält, werden diese verdoppelt: "" - """" steht damit für ein Leerstring ("")

 Ist sowas möglich?

Ja, ist es. Formelbasiert aber sehr umständlich, besser mit VBA.

Meist liegen solche "Anforderungen" an einem völlig falschen Konzept.