Solusi Komposit untuk Tantangan Podcast 2316 - Tips Excel

Catatan

Ini adalah salah satu dari rangkaian artikel yang merinci solusi yang dikirim untuk tantangan Podcast 2316.

Setelah mempelajari semua ide yang dikirim dari pemirsa, saya telah memilih teknik favorit saya dari setiap video. Solusi terakhir saya menggunakan langkah-langkah ini:

  • Dapatkan Data, Dari Rentang Bernama
  • Hapus dua langkah tambahan yang ditambahkan ke Promosikan Header dan Ubah Jenis. Ini mencegah keharusan memutuskan sufiks dari perempat. Terima kasih kepada Jason M, Ondřej Malinský, dan Peter Bartholomew untuk ide ini.
  • Mengubah urutan
  • Promosikan Header
  • Hapus, Baris Teratas, 5 Baris Teratas. Trik bagus dari MF Wong.
  • Gantikan Q1 dengan _Q1. Ulangi untuk tiga perempat lainnya. Terima kasih Jonathan Cooper.
  • Pisahkan dengan Pembatas di _. Langkah luar biasa ini membuat nama-nama tetap dalam satu kolom dan memindahkan seperempat ke kolom berikutnya. Diusulkan oleh Fowmy, disempurnakan oleh Jonathan Cooper.
  • (Bukan langkah!) Jangkau Formula Bar dan ganti nama kolom menjadi Employee and Quarter. Terima kasih Josh Johnson
  • Di kolom Employee, ganti nothing dengan null
  • Mengisi
  • Di kolom Quarter, ubah null menjadi Total. Ide ini dari Michael Karpfen
  • Pisahkan Kolom Lain. Ubah nama Attrib to Category di bilah rumus
  • Perempat Pivot
  • Pindahkan Kolom Total ke Akhir

Ini kode terakhir saya:

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"

Semua orang yang disebutkan dalam artikel atau video ini memenangkan tambalan Excel Guru. Saya sudah mengirimkan beberapa. Jika Anda tidak menerimanya, tinggalkan komentar di video di bawah.

Patch Guru Excel

Pemenang keseluruhan adalah Bill Szysz. Solusi empat barisnya menggunakan M memberi tahu saya bahwa saya perlu mempelajari lebih banyak tentang Power Query! Lihat solusinya di Power Query: The World of Bill Szysz.

Menonton video

Berikut adalah video terakhir saya membahas solusi dan menunjukkan solusi akhir.

Kembali ke halaman utama untuk tantangan Podcast 2316.

Artikel yang menarik...