let
Source = Excel.Workbook(File.Contents("C:\temp\vbahelp.xlsx"), null, true),
WorkSheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(WorkSheet, [PromoteAllScalars=true]),
#"Filtered Rows" = Table.SelectRows(#"Promoted Headers", each not Text.Contains([Type], "Total")),
#"Added Reference" = Table.AddColumn(#"Filtered Rows", "Reference", each try Number.FromText([Ref Nbr]) otherwise null, type number),
#"Added Company Number" = Table.AddColumn(#"Added Reference", "Company Number", each if [Reference] = null then [Type] else null, type text),
#"Filled Down Company Number" = Table.FillDown(#"Added Company Number",{"Company Number"}),
#"Added Company Name" = Table.AddColumn(#"Filled Down Company Number", "Company Name", each if [Reference] = null then [Ref Nbr] else null, type text),
#"Filled Down Company Name" = Table.FillDown(#"Added Company Name",{"Company Name"}),
#"Filtered null Reference" = Table.SelectRows(#"Filled Down Company Name", each [Reference] <> null and [Reference] <> ""),
#"Choose Columns" = Table.SelectColumns(#"Filtered null Reference",List.Combine({{"Company Number", "Company Name"},Table.ColumnNames(#"Promoted Headers")})),
#"Changed Type" = Table.TransformColumnTypes(#"Choose Columns",{{"Type", type text}, {"Terms", type text}, {"Ref Nbr", Int64.Type}, {"Doc Date", type date}, {"Current", Currency.Type}, {"1 To 30", Currency.Type}, {"31 To 60", Currency.Type}, {"61 To 90", Currency.Type}, {"Over 90", Currency.Type}, {"Total", Currency.Type}})
in
#"Changed Type"
Change filepath / name and worksheet name to suit.
Bookmarks