Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Tabelle auswerten
Sonja
Hallo,
ich habe mal wieder ein Problem, dass ich alleine so gar nicht lösen kann. Ich beschreibe es mal wie folgt:
Ich habe eine Tabelle, in der unter A3 - A9000 das Datum steht, unter B3-B9000 der entsprechende Name, unter C3-C9000 die entsprechende Gruppe. Nun möchte ich auf einem anderen Tabellenblatt die Gruppe und das Jahr wählen (A und C) und dann die entsprechenden Namen inkl. der Anzahl der Teilnahmen aufgelistet bekommen.
Problem ist zudem, dass unter Umständen eine Person am gleichen Datum mehrere Einträge hat, weil sie da mehrmals teilgenommen hat - dies darf aber pro Tag nur einmal gezählt werden, also doppelte Datumsangaben sollen nur einmal gezählt werden.... Jemand eine Idee? Ich komm nicht weiter....
Dankeschön!
Sonja

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabelle auswerten
16.12.2010 00:23:26
Daniel
HI
so wie sich das anhört, sollte sich das mit einer Pivottabelle auswerten lassen.
Gruß, Daniel
AW: Tabelle auswerten
16.12.2010 01:03:39
Sonja
... das soll es eigentlich nicht... Oben solleneinfach 2 Dropdown Menüs sein (Gruppe, Jahr) und dann sollen entsprechende Daten komfortabel erscheinen....
Keiner eine Idee, so mitten in der Nacht ;o) ?
AW: Tabelle auswerten
16.12.2010 01:16:53
Sonja
... vielleicht ist das ja ein Ansatz: Das hier liest mir die entsprechenden Daten aus - allerdings werden doppelte Daten auch 2 mal angezeigt. Es würde schon helfen, wenn hier genau das nicht geschehen würde. Blickt da jemand durch und könnte das ummodeln?
Sub sbAuslesen()
Dim liCmb1 As String, lstrCmb2 As String, liZeile As Integer, liNext As Integer, liZaehler  _
As Integer, liSpalte As Integer
With Sheets(2)
If .ComboBox1.Text = "" Or .ComboBox2.Text = "" Then
Exit Sub
Else
liCmb1 = Val(.ComboBox1.Text)
lstrCmb2 = .ComboBox2.Text
.Rows("4:" & .Cells(Rows.Count, 1).End(xlUp).Row).Delete Shift:=xlUp
End If
End With
liNext = 4
With Sheets(1)
For liZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If Year(.Range("A" & liZeile).Value) = liCmb1 And LCase(.Range("C" & liZeile). _
Value) = LCase(lstrCmb2) Then
Sheets(2).Range("A" & liNext).Value = .Range("B" & liZeile).Value
Sheets(2).Range("B" & liNext).Value = .Range("A" & liZeile).Value
liNext = liNext + 1
End If
Next
End With
liZaehler = 4
With Sheets(2)
Do Until liZaehler >= .Cells(Rows.Count, 1).End(xlUp).Row
For liZeile = liZaehler + 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Range("A" & liZeile).Value = "" Then
Exit For
End If
If .Range("A" & liZeile).Value = .Range("A" & liZaehler).Value Then
.Cells(liZaehler, Cells(liZaehler, .Columns.Count).End(xlToLeft). _
Column + 1).Value = .Range("B" & liZeile).Value
.Rows(liZeile & ":" & liZeile).Delete Shift:=xlUp
liZeile = liZeile - 1
End If
Next
liZaehler = liZaehler + 1
Loop
For liZeile = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
For liSpalte = 2 To .Cells(liZeile, .Columns.Count).End(xlToLeft).Column
If .Cells(liZeile, liSpalte + 1).Value = .Cells(liZeile, liSpalte).Value  _
Then
.Cells(liZeile, liSpalte + 1).Delete Shift:=xlToLeft
End If
Next
Next
End With
End Sub
Sub sbCmbFill()
Dim liFill As Integer
With Sheets(2)
.Rows("4:" & .Cells(Rows.Count, 1).End(xlUp).Row).Delete Shift:=xlUp
.ComboBox1.Text = ""
.ComboBox2.Text = ""
'erhöhe/verringere die Zahl 2020, und es werden
'entsprechend viele/wenige Jahres-Einträge angezeigt
For liFill = 2010 To 2020
.ComboBox1.AddItem liFill
Next
.ComboBox2.AddItem "A-Bereich"
.ComboBox2.AddItem "B-Bereich"
.ComboBox2.AddItem "C-Bereich"
.ComboBox2.AddItem "D-Bereich"
.ComboBox2.AddItem "E-Bereich"
.ComboBox2.AddItem "F-Bereich"
.ComboBox2.AddItem "Anwärter"
.ComboBox2.AddItem "Andere"
'wiederhole die Zeile mit    .ComboBox2.AddItem    so oft
'wie du unterschiedliche Gruppen benötigst
End With
End Sub
DANKESCHÖN!!!!
Anzeige
AW: Tabelle auswerten
16.12.2010 03:38:02
Sonja
STOP!
Ich hab nen 2ten Ansatz mit ner Pivot Tabelle - das klappt schon ganz gut,
2 Probleme wären da aber alternativ zu lösen:
Die bedingte Formatierung der Pivot Tabelle springt nach jeder aktualisierung weg. Also hab ich mir ein Makro gebastelt, welches die Tabelle neu formatiert - nur: Wie starte ich das Makro automatisch nach Auswahl einer neuen Gruppe in der Tabelle an?
Und zum 2ten, viel wichtiger: Die Tabelle nimmt ja in den Auswahlkrierien die Ursprungsdaten - bei 10 Veranstaltungen im Jahr hab ich also 10 mal ein Datum da stehen. Ich will/muss aber nur ganze Kalenderjahre auswählen können - lässt sich das mit einer Pivot Tabelle so umsetzen?
Dankeschööööööööööööööön!
Guts Nächtle,
Sonja
Anzeige
AW: Tabelle auswerten
16.12.2010 19:30:30
Daniel
Hi
soweit ich weiß, kann die Pivot-Tabelle in 2007 auch Jahres- oder Monatsweise zusammenfassen.
wenn nicht, kleine Hilfsspalte einfügen, die nur die Jahreszahl enthält (Formel =Jahr(Datumswert)), dann lässt sich die Pivottabelle bequem nach Jahr auswerten.
Gruß, daniel
AW: Tabelle auswerten
16.12.2010 23:55:05
Sonja
... hmm, habs probiert, so gehts net.
Als Beispiel: Datum in A1, Hilfszelle in M1 - =JAHR(A1)
Die Pivot Tabelle liest aus M1 (in der auch nur das Jahr angezeigt wird) und gibt trotzdem alle verschiedene Datumeinträge einzeln und komplett aus...
Mach ich was falsch?
LG, Sonja
AW:und was ist jetzt nochmal das Problem?
18.12.2010 12:11:19
Daniel
wie weicht das angezeigte Ergebnis von deinem erwarteten Ergebnis ab?
Gruß, Daniel
AW:und was ist jetzt nochmal das Problem?
18.12.2010 12:17:02
Daniel
wie weicht das angezeigte Ergebnis von deinem erwarteten Ergebnis ab?
Gruß, Daniel
Tipp: Pivot-Gruppierung ansehen! owT
16.12.2010 19:40:10
robert

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige