AW: möglich wäre eine reine Formellösung ...
22.06.2018 20:49:28
Günther
Moin Klaus,
auch ich "umschiffe" die Makros (obwohl mir beim ersten Durchlauf das Finden der Lösung damit gewiss leichter gefallen wäre ;-) ) und habe das "just for fun" mit Power Query gelöst. Und der Bequemlichkeit halber habe ich eine Hilfsspalte mit dem berechneten Montag-Datum der KW in die Rohdaten eingefügt (wie prinzipiell auch Werner, er hatte das aber in die Formel integriert). - Und ja, ich hätte auch auf die Hilfsspalte verzichten können, aber HS an sich beißen ja nicht und sind auch nicht böse ...
Gruß
Günther
Hier noch für die Cracks unter euch der generierte M-Code:
let
Quelle = Excel.CurrentWorkbook(){[Name="RawData"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Woche", Int64.Type}, {"Tätigkeit", _
type text}, {"MoDatum", type date}, {"Montag", type number}, {"Dienstag", type number}, {"Mittwoch", type number}, {"Donnerstag", type number}, {"Freitag", type number}}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Geänderter Typ", {"Woche", "Tä _
tigkeit", "MoDatum"}, "Attribut", "Wert"),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Entpivotierte andere Spalten", _
"Datum", each if [Attribut]="Dienstag"
then Date.AddDays([MoDatum],1)
else if [Attribut]="Mittwoch"
then Date.AddDays([MoDatum],2)
else if [Attribut]="Donnerstag"
then Date.AddDays([MoDatum],3)
else if [Attribut]="Freitag"
then Date.AddDays([MoDatum],4)
else [MoDatum]),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{" _
MoDatum", "Attribut"}),
#"Gruppierte Zeilen" = Table.Group(#"Entfernte Spalten", {"Woche", "Tätigkeit", "Datum"}, {{ _
"Stunden", each List.Sum([Wert]), type number}}),
#"Sortierte Zeilen" = Table.Sort(#"Gruppierte Zeilen",{{"Datum", Order.Ascending}, {"Tä _
tigkeit", Order.Ascending}})
in
#"Sortierte Zeilen"
A11:H22 hat den TabellenNamen RawData und die eingefügte Spalte_C enthält das Montag-Datum der KW (-> Excel-Formeln)