Clever-Excel-Forum

Normale Version: Zeiterfassung/Auswertung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Wo sind die Spaltenüberschriften Wochentag/Datum geblieben? Dann kann das nicht funktionieren.

Meine Vorstellung ging eigentlich dahin, die vorhandenen Tabellen nicht weiter zu benutzen, sondern eine neue Tabelle analog Tabelle1 anzulegen. Der bisherige Aufbau ist Murks, um diese per Pivot auszuwerten. Bei weiteren Tagen müsste die PowerQuery Abfrage zudem für jeden Tag manuell erweitert werden.

Ansonsten hilft nur sich intensiv mit PowerQuery und Pivot zu beschäftigen.
Hallo,
ich verstehe nicht. Es ist doch noch alles da. Habe nochmal die Originaldatei von dir runtergeladen und da eine Aktualisierung vorgenommen und der Fehler tritt auch auf. 
Ist die Tabelleneinteilung nicht günstiger, dass alle Namen inklusive Firma am entsprechenden Tag für jeweils einen Tag aufgelistet sind. Ist besser beim Eingeben nachher. 

Datum     Name
1.1.         Name1
              Name2
              Name3
2.1.         Name1
              Name2
              Name3
                .
                .
                .



Wie hast du die Tabelle gefüllt?
Was für die Eingabe bequem ist, ist nicht immer auch für die Pivot Auswertung optimal.

Tabelle 1 ist in PowerQuery so entstanden für jedes weitere Datum müsste diese erweitert werden. War jetzt nur eine Hilfslösung um die Daten nicht abzuschreiben.
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Name", type text}, {"Montag", Int64.Type}, {"31.12.2018", Int64.Type}, {"Dienstag", Int64.Type}, {"01.01.2019", Int64.Type}, {"Mittwoch", Int64.Type}, {"02.01.2019", Int64.Type}, {"Donnerstag", Int64.Type}, {"03.01.2019", Int64.Type}, {"Freitag", Int64.Type}, {"04.01.2019", Int64.Type}, {"Samstag", Int64.Type}, {"05.01.2019", Int64.Type}, {"Sonntag", type any}, {"06.01.2019", type any}, {"Montag2", type any}, {"07.01.2019", type any}}),
    #"Zusammengeführte Spalten" = Table.CombineColumns(Table.TransformColumnTypes(#"Geänderter Typ", {{"Montag", type text}, {"31.12.2018", type text}}, "de-DE"),{"Montag", "31.12.2018"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"Zusammengeführt"),
    #"Umbenannte Spalten" = Table.RenameColumns(#"Zusammengeführte Spalten",{{"Zusammengeführt", "31.12.2018"}}),
    #"Zusammengeführte Spalten1" = Table.CombineColumns(Table.TransformColumnTypes(#"Umbenannte Spalten", {{"Dienstag", type text}, {"01.01.2019", type text}}, "de-DE"),{"Dienstag", "01.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"Zusammengeführt"),
    #"Umbenannte Spalten1" = Table.RenameColumns(#"Zusammengeführte Spalten1",{{"Zusammengeführt", "01.01.2019"}}),
    #"Zusammengeführte Spalten2" = Table.CombineColumns(Table.TransformColumnTypes(#"Umbenannte Spalten1", {{"Mittwoch", type text}, {"02.01.2019", type text}}, "de-DE"),{"Mittwoch", "02.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"02.01.2019.1"),
    #"Zusammengeführte Spalten3" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten2", {{"Donnerstag", type text}, {"03.01.2019", type text}}, "de-DE"),{"Donnerstag", "03.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"03.01.2019.1"),
    #"Zusammengeführte Spalten4" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten3", {{"Freitag", type text}, {"04.01.2019", type text}}, "de-DE"),{"Freitag", "04.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"04.01.2019.1"),
    #"Zusammengeführte Spalten5" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten4", {{"Samstag", type text}, {"05.01.2019", type text}}, "de-DE"),{"Samstag", "05.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"05.01.2019.1"),
    #"Zusammengeführte Spalten6" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten5", {{"Sonntag", type text}, {"06.01.2019", type text}}, "de-DE"),{"Sonntag", "06.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"06.06.2019"),
    #"Zusammengeführte Spalten7" = Table.CombineColumns(Table.TransformColumnTypes(#"Zusammengeführte Spalten6", {{"Montag2", type text}, {"07.01.2019", type text}}, "de-DE"),{"Montag2", "07.01.2019"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"07.01.2019.1"),
    #"Entpivotierte Spalten" = Table.UnpivotOtherColumns(#"Zusammengeführte Spalten7", {"Name"}, "Attribut", "Wert"),
    #"Neu angeordnete Spalten" = Table.ReorderColumns(#"Entpivotierte Spalten",{"Attribut", "Name", "Wert"}),
    #"Spalte nach Position teilen" = Table.SplitColumn(#"Neu angeordnete Spalten", "Attribut", Splitter.SplitTextByPositions({0, 10}, false), {"Attribut.1", "Attribut.2"}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Spalte nach Position teilen",{"Attribut.2"}),
    #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Entfernte Spalten", "Wert", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"Wert.1", "Wert.2"}),
    #"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Attribut.1", type date}, {"Wert.1", Int64.Type}, {"Wert.2", Int64.Type}}),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ1", "Benutzerdefiniert", each [Attribut.1]),
    #"Umbenannte Spalten2" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte",{{"Attribut.1", "Datum"}, {"Wert.1", "Projekt"}, {"Wert.2", "Baugruppe"}}),
    #"Entfernte Spalten1" = Table.RemoveColumns(#"Umbenannte Spalten2",{"Benutzerdefiniert"}),
    #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Entfernte Spalten1", "Benutzerdefiniert", each Date.DayOfWeek( [Datum],Day.Monday)+1),
    #"Umbenannte Spalten3" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{{"Benutzerdefiniert", "Wochentag"}}),
    #"Ersetzter Wert" = Table.ReplaceValue(#"Umbenannte Spalten3",null,0,Replacer.ReplaceValue,{"Projekt", "Baugruppe"}),
    #"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Ersetzter Wert", "Benutzerdefiniert", each if [Baugruppe]> 0 and [Wochentag] <6 then 10 else if [Baugruppe]> 0 then 8 else 0),
    #"Umbenannte Spalten4" = Table.RenameColumns(#"Hinzugefügte benutzerdefinierte Spalte2",{{"Benutzerdefiniert", "Stunden"}})
in
    #"Umbenannte Spalten4"
Es tut mir leid aber ich kann damit nichts anfangen, da ich es nicht verstehe.
Momentan wird es in eine gesonderte Tabelle jeden Tag für jeden Mitarbeiter für jede Firma von Hand eingegeben, wenn ich Dich richtig verstehe dann sind die Eingaben die wir machen nicht Sinnvoll. 
Wie würde denn Deine Tabelle aussehen mit der die Auswertung für ein ganzes Jahr in einer Pivottabelle funktioniert?
So wie ich es schon geschrieben habe. Ich habe trotzdem mal ein Beispiel drangehängt. Sofern Mitarbeiter mit gleichen Namen beschäftigt werden, klappt die Auswertung nicht. Die Namen müssen eindeutig zuordnenbar sein. (z.B. Müller1, Müller2). Alternativ eindeutige Personalnummern verwenden.

Ausgefüllt werden müssen nur Spalte A bis D.

Einführungsvideos Pivot: https://thehosblog.com/2018/06/17/excel-...ngestellt/
Insbesondere zum Tabellenaufbau:
https://www.youtube.com/watch?v=4rSCRQLo_j4&feature=youtu.be

[attachment=21852]
Danke für die tolle Hilfe  :100:

Ich werde mir morgen die Videos anschauen und die Tabelle anpassen, wenn ich Sie überarbeitet habe, stelle ich Sie nochmal ein.
Ganz lieben Dank... :74: :74: :74:
Seiten: 1 2