A slightly different approach
Query:
let
Source = Excel.Workbook(File.Contents("D:\Lorenzo\Downloads\Looukup sales V8.xlsx"), null, true),
#"Filtered Rows" = Table.SelectRows(Source, each
([Attributes]?[Hidden]? <> true) and ([Kind] = "Sheet" and Text.EndsWith([Item]," 2016"))
),
#"Removed Other Columns1" = Table.SelectColumns(#"Filtered Rows",{"Name", "Data"}),
#"Invoked Custom Function" = Table.AddColumn(#"Removed Other Columns1", "fnCleansing", each fnCleansing([Data]), type table),
#"Removed Columns" = Table.RemoveColumns(#"Invoked Custom Function",{"Data"}),
#"Expanded fnCleansing" = Table.ExpandTableColumn(#"Removed Columns", "fnCleansing", {"Account", "Customer", "Department", "Amount"}),
#"Removed Other Columns" = Table.SelectColumns(#"Expanded fnCleansing",{"Account", "Customer", "Department", "Amount"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Other Columns",
{{"Account", Int64.Type}, {"Customer", type text}, {"Department", Int64.Type}, {"Amount", Currency.Type}}
)
in
#"Changed Type"
fnCleansing:
(tbl as table) as table =>
let
Source = tbl,
#"Removed Top Rows" = Table.Skip(Source, 2),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true])
in
#"Promoted Headers"