Notera
Detta är en av en serie artiklar som beskriver lösningar som skickats in för Podcast 2316-utmaningen.
Efter att ha studerat alla idéer som skickats från tittarna har jag valt mina favorittekniker från varje video. Min slutliga lösning använder följande steg:
- Få data, från namngivet intervall
- Ta bort de två extra stegen som läggs till i Marknadsför rubriker och Ändra typ. Detta förhindrar att du måste bryta suffixet från kvartalen. Tack till Jason M, Ondřej Malinský och Peter Bartholomew för denna idé.
- Transponera
- Marknadsför rubriker
- Ta bort, Topprader, Topp 5 rader. Trevligt knep från MF Wong.
- Byt ut Q1 med _Q1. Upprepa för andra tre kvartal. Tack Jonathan Cooper.
- Dela av avgränsare vid _. Detta fantastiska steg håller namnen i en kolumn och flyttar kvartalen till nästa kolumn. Föreslagen av Fowmy, fulländad av Jonathan Cooper.
- (Inte ett steg!) Nå in i formelfältet och byt namn på kolumnerna för att vara anställd och kvarter. Tack Josh Johnson
- Ersätt inget med noll i kolumnen Anställd
- Fyll ner
- Ändra null till Totalt i kolumnen Kvartal. Denna idé från Michael Karpfen
- Avaktivera andra kolumner. Byt namn på Attrib till kategori i formelfältet
- Pivot Quarters
- Flytta den totala kolumnen till slutet
Här är min sista kod:
let Source = Excel.CurrentWorkbook()((Name="UglyData"))(Content), #"Transposed Table" = Table.Transpose(Source), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", (PromoteAllScalars=true)), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",(("Category Description", type text), ("Administrative", type number), ("Holiday", Int64.Type), ("PTO/LOA/Jury Duty", Int64.Type), ("Project A", type number), ("Project B", type number), ("Project C", type number))), #"Removed Top Rows" = Table.Skip(#"Changed Type",5), #"Replaced Value" = Table.ReplaceValue(#"Removed Top Rows","Q1","_Q1",Replacer.ReplaceText,("Category Description")), #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","Q2","_Q2",Replacer.ReplaceText,("Category Description")), #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","Q3","_Q3",Replacer.ReplaceText,("Category Description")), #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","Q4","_Q4",Replacer.ReplaceText,("Category Description")), #"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value3", "Category Description", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), ("Employee", "Qtr")), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",(("Employee", type text), ("Qtr", type text))), #"Replaced Value4" = Table.ReplaceValue(#"Changed Type1","",null,Replacer.ReplaceValue,("Employee")), #"Filled Down" = Table.FillDown(#"Replaced Value4",("Employee")), #"Replaced Value5" = Table.ReplaceValue(#"Filled Down",null,"Total",Replacer.ReplaceValue,("Qtr")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Replaced Value5", ("Employee", "Qtr"), "Attribute", "Value"), #"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"(Qtr)), "Qtr", "Value", List.Sum), #"Reordered Columns" = Table.ReorderColumns(#"Pivoted Column",("Employee", "Attribute", "Q1", "Q2", "Q3", "Q4", "Total")) in #"Reordered Columns"
Alla som nämns i dessa artiklar eller video vinner en Excel Guru-patch. Jag har redan skickat flera ut. Om du inte får en, lämna en kommentar till videon nedan.

Den totala vinnaren är Bill Szysz. Hans fyrradiga lösning med M berättar för mig att jag behöver lära mig mycket mer om Power Query! Se hans lösningar på Power Query: The World of Bill Szysz.
Kolla på video
Här är min sista video som diskuterar lösningarna och visar den slutliga lösningen.
Gå tillbaka till huvudsidan för Podcast 2316-utmaningen.