Kompozitní řešení výzvy Podcast 2316 - Excel tipy

Poznámka

Toto je jeden z řady článků s podrobnými řešeními zaslanými pro výzvu Podcast 2316.

Po prostudování všech nápadů zaslaných diváky jsem z každého videa vybral své oblíbené techniky. Moje konečné řešení používá tyto kroky:

  • Získejte data z pojmenovaného rozsahu
  • Odstraňte dva další kroky přidané do části Propagovat záhlaví a Změnit typ. Tím se zabrání nutnosti rozbít příponu ze čtvrtiny. Za tento nápad děkujeme Jasonovi M, Ondřeji Malinskému a Petrovi Bartoloměji.
  • Přemístit
  • Propagujte záhlaví
  • Odebrat, horní řádky, nejlepších 5 řádků. Pěkný trik od MF Wonga.
  • Vyměňte Q1 za _Q1. Opakujte pro další tři čtvrtiny. Díky Jonathan Cooper.
  • Split by Delimiter at the _. Tento úžasný krok udržuje jména v jednom sloupci a přesune čtvrtiny do dalšího sloupce. Navrhl Fowmy, zdokonalil Jonathan Cooper.
  • (Není to krok!) Dostaňte se do lišty vzorců a přejmenujte sloupce na Zaměstnanec a Čtvrtletí. Díky Josh Johnson
  • Ve sloupci Zaměstnanec nenahrazujte nic hodnotou null
  • Vyplňte
  • Ve sloupci Čtvrtletí změňte hodnotu null na Celkem. Tento nápad od Michaela Karpfena
  • Zrušit otočení ostatních sloupců. Na řádku vzorců přejmenujte Attrib na kategorii
  • Pivot Quarters
  • Přesunout celkový sloupec na konec

Tady je můj finální kód:

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"

Každý, kdo je uveden v těchto článcích nebo videu, vyhrává opravu Excel Guru. Několik jsem už poslal mailem. Pokud žádný neobdržíte, zanechte komentář k videu níže.

Oprava Excel Guru

Celkovým vítězem je Bill Szysz. Jeho čtyřřádkové řešení využívající M mi říká, že se musím o Power Query naučit mnohem víc! Podívejte se na jeho řešení v Power Query: Svět Billa Szysze.

Sledovat video

Tady je moje finální video, které pojednává o řešeních a ukazuje konečné řešení.

Vraťte se na hlavní stránku výzvy Podcast 2316.

Zajímavé články...