Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

wie mach ich sowas ?

wie mach ich sowas ?
Mapas
Guten Tag miteinander
Mal wieder bin ich auf Eure Hilfe und guten Ratschläge angewiesen
Diesmal geht’s um folgende Frage:
In einer Excel-Arbeismappe (siehe Beispiel) halte ich pro User fest, wer welchen Kurs schon besucht hat.
Ziel ist es nun, irgendwo geb ich den Namen des Users ein und als Resultat sollen mir in einer Zelle oder sonst wo
alle Kurse aufgelistet werden, welche der entsprechende Benutzer absolviert hat.
Beispiel: (aus beiliegender Datei)
https://www.herber.de/bbs/user/80531.xlsx
Wenn ich den Namen "Meier" eintippe (wo auch immer) so sollen als Resultat (wo auch immer) kommen:
Fortbildungskurs
Wiederholungskurs
(dies weil in der Tabelle entsprechend ein X gesetzt wurde)
Wie könnte ich sowas aufbauen ? (ohne grossen Aufwand)
Herzlichen Dank für Eure Lösungs-Vorschläge / Ansätze

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: wie mach ich sowas ?
12.06.2012 15:00:54
ChrisL
Hi
https://www.herber.de/bbs/user/80532.xls
Private Sub Workbook_Open() Dim iSpalte As Byte For iSpalte = 3 To Range("IV1").End(xlToLeft).Column Tabelle1.ComboBox1.AddItem Cells(1, iSpalte) Next iSpalte Tabelle1.ComboBox1.Value = "" End Sub
Private Sub ComboBox1_Change()
Dim iSpalte As Byte, iZeile As Long
iSpalte = ComboBox1.ListIndex + 3
ListBox1.Clear
For iZeile = 3 To Cells(65536, iSpalte).End(xlUp).Row
If Cells(iZeile, iSpalte) = "x" Then ListBox1.AddItem Cells(iZeile, 1)
Next iZeile
End Sub
cu
Chris
PS: Eine andere Datenstruktur wäre m.E. hilfreich. Z.B. Tabelle Spalte A Name, Spalte B Art des besuchten Kurses, Spalte C Datum des Besuches. Danach kannst du beliebig Filtern und Auswerten.
Anzeige
AW: wie mach ich sowas ?
12.06.2012 15:13:21
Mapas
Hallo cris
vielen dank für die rasche hilfe
ich werde das file gleich mal downloaden und in ruhe mal angucken.
feedback folgt.
per Formel
12.06.2012 15:20:52
WF
Hi,
der Name steht in L4
irgendwohin schreibst Du folgende Arrayformel:
{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(L$4;A$1:H$1;0))&":"&ADRESSE(19;VERGLEICH(L$4; A$1:H$1;0)))="x";ZEILE($1:$19));ZEILE(A1))) }
runterkopieren
Wird kein x mehr gefunden gibt's ne Fehlermeldung. Die bekommst Du selber weg mit ZÄHLENWENN.
Salut WF
AW: per Formel
12.06.2012 15:32:01
Mapas
Hallo allerseits
danke euch beiden herzlich für die tollen Lösungsvorschläge
die Lösung von chris funzt einwandfrei (wenn halt auch mit makro)
die Formel von WF brachte ich bisher leider nicht zum laufen
Anzeige
AW: per Formel
12.06.2012 15:36:56
ChrisL
Danke für die Rückmeldung... Hier ein Hinweis zur Formel von WF:
Array-Formeln {Matrixformeln}; - zu erkennen an den geschweiften Klammern vor dem Gleichheitszeichen und am Ende {=FORMEL}. Diese {Klammern} werden nicht eingegeben sondern zum Abschluß der Formel durch gleichzeitig Strg Shift Enter erzeugt (statt Enter allein). Wenn Du hier einen Array kopierst, diese Klammern also löschen, und die Formel wie beschrieben abschließen.
AW: per Formel
12.06.2012 15:41:24
Mapas
Ach so ! :-)
schon wieder was gelernt :-)
AW: per Formel
12.06.2012 15:42:01
fcs
Hallo mapas,
hier noch eine Variation von WF's Formeln.
Gruß
Franz
Formeln in einem anderne Tabellenblatt erstellt,
Kurse besucht

 ABC
1NameMeierKurse
2  Fortbildungskurs
3  Wiederholungskurs
4   

Formeln der Tabelle
ZelleFormel
C2{=INDEX(Tabelle1!$A:$A;KKLEINSTE(WENN(BEREICH.VERSCHIEBEN(Tabelle1!$A$1;1;VERGLEICH($B$1;Tabelle1!$1:$1;0)-1;50;1)="x";ZEILE($2:$51); 52); ZEILE(1:1)); 1)}
C3{=INDEX(Tabelle1!$A:$A;KKLEINSTE(WENN(BEREICH.VERSCHIEBEN(Tabelle1!$A$1;1;VERGLEICH($B$1;Tabelle1!$1:$1;0)-1;50;1)="x";ZEILE($2:$51); 52); ZEILE(2:2)); 1)}
C4{=INDEX(Tabelle1!$A:$A;KKLEINSTE(WENN(BEREICH.VERSCHIEBEN(Tabelle1!$A$1;1;VERGLEICH($B$1;Tabelle1!$1:$1;0)-1;50;1)="x";ZEILE($2:$51); 52); ZEILE(3:3)); 1)}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Anzeige
der Trick ist gut !
12.06.2012 16:28:53
WF
Hi Franz,
zur Fehlervermeidung statt
WENN(ZÄHLENWENN(ZEILE(A1) > .... usw.
die Angabe einer Zeilenzahl, die nicht zum Bereich gehört
....;ZEILE($1:$19);20).....
Salut WF
Wo liegt der Formelfehler?
13.06.2012 17:20:18
Jean
Hallo,
ich versuche, die Klasseformel auf 2 Tabellen anzuwenden, scheitere jedoch kläglich mit folgender Formel:
{=INDEX(Tabelle1!A:A;KKLEINSTE(WENN(INDIREKT(tabelle1!ADRESSE(1;VERGLEICH(Tabelle3!$H$3; Tabelle1!A1:G1;0))&":"&tabelle1!ADRESSE(9;VERGLEICH(Tabelle3!H3;Tabelle1!A1:G1;0)))="x";ZEILE($1:$9)) ;ZEILE(A1))) }
Wo liegt denn mein Denkfehler?
Dank im Voraus.
Gruß
Jean
Anzeige
INDIREKT ist da etwas kompliziert/unlogisch
13.06.2012 19:00:21
WF
Hi,
{=INDEX(Tabelle1!A:A;KKLEINSTE(WENN(INDIREKT("Tabelle1!"&ADRESSE(1;VERGLEICH(Tabelle3!H$3; Tabelle1!A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(Tabelle3!H$3;Tabelle1!A$1:G$1;0)))="x";ZEILE($1:$19)); ZEILE(A1))) }
Salut WF
und, gestern hier geschnallt:
schreibe statt oben .....;ZEILE($1:$19));.....
.....;ZEILE($1:$19);20);.....
das ist das Einfachste, Fehlermeldungen zu unterdrücken
Warum nicht INDEX?.....
13.06.2012 19:53:22
Josef
Hallo
......ist doch viel einfacher.
Tabelle1

 ABCDEFGH
1  MüllerMeierHuberMeisterKurse von 
2      Müller 
3Grundkurs x x GrundkursGrundkurs
4Fortbildungskurs  x  ErgänzungskursErgänzungskurs
5Ergänzungskurs x  xWiederholungskursWiederholungskurs
6Spezialistenkurs     Profi-KursProfi-Kurs
7Wiederholungskurs xx  0  
8Repetitionskurs     0  
9Profi-Kurs x  x0  

Formeln der Tabelle
ZelleFormel
G3{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19)); ZEILE(A1)))}
H3{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A1)))&""}
G4{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19)); ZEILE(A2)))}
H4{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A2)))&""}
G5{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19); 52); ZEILE(A3)))}
H5{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A3)))&""}
G6{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19); 52); ZEILE(A4)))}
H6{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A4)))&""}
G7{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19); 52); ZEILE(A5)))}
H7{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A5)))&""}
G8{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19); 52); ZEILE(A6)))}
H8{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A6)))&""}
G9{=INDEX(A:A;KKLEINSTE(WENN(INDIREKT(ADRESSE(1;VERGLEICH(G$2;A$1:G$1;0))&":"&ADRESSE(19;VERGLEICH(G$2; A$1:G$1;0)))="x";ZEILE($1:$19); 52); ZEILE(A7)))}
H9{=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;1;VERGLEICH(G$2;A$1:G$1;0)):INDEX(A:F;19;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19); 20); ZEILE(A7)))&""}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruss Sepp
Anzeige
Einmal Vergleich
13.06.2012 23:23:06
Josef
Hallo Franz
Auch INDEX kommt mit einem Vergleich aus.
=INDEX(A:A;KKLEINSTE(WENN(INDEX(A:F;0;VERGLEICH(G$2;A$1:G$1;0))="x";ZEILE($1:$19);20);ZEILE(A1)))&""
Gruss Sepp
Danke
14.06.2012 14:08:23
Jean
Hallo WF,
vielen Dank für die Lösung.
Die Auswertung funktioniert nun mit Tabelle3.
Gruß
Jean
AW: Danke
14.06.2012 19:09:13
Mapas
VIELEN VIELEN HERZLICHEN DANK ALLEN FÜR EURE KONSTRUKTIVEN ANTWORTEN HIER !!!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige