let
Source = Excel.Workbook(File.Contents("C:\Temp\V6 - All vehicle movements incl missing miles for period.xls"), null, true),
SheetData = Source{[Name="V6 - All vehicle movements incl"]}[Data],
#"Added Custom" = Table.AddColumn(SheetData, "Registration", each if [Column2] = null then [Column1] else null ),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Registration"}),
#"Reordered Columns" = Table.ReorderColumns(#"Filled Down",{"Registration", "Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20"}),
#"Removed Top Rows" = Table.Skip(#"Reordered Columns",9),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true]),
#"Renamed Columns" = Table.RenameColumns(#"Promoted Headers",{{List.First(Table.ColumnNames(#"Promoted Headers")), "Registration"}}),
#"Filtered Blank Rows" = Table.SelectRows(#"Renamed Columns", each ([Name] <> null and [Name] <> "Name")),
#"Added Index" = Table.AddIndexColumn(#"Filtered Blank Rows", "Index", 0, 1),
#"Added Previous Date" = Table.AddColumn(#"Added Index", "Previous Date", each #"Added Index"{[Index]-1}[Start Date]),
#"Added Previous Driver" = Table.AddColumn(#"Added Previous Date", "Previous Driver", each #"Added Index"{[Index]-1}[Name]),
#"Added Previous ODO" = Table.AddColumn(#"Added Previous Driver", "Previous ODO", each #"Added Index"{[Index]-1}[Odo End]),
#"Added Next Date" = Table.AddColumn(#"Added Previous ODO", "Next Date", each #"Added Index"{[Index]+1}[Start Date]),
#"Added Next Driver" = Table.AddColumn(#"Added Next Date", "Next Driver", each #"Added Index"{[Index]+1}[Name]),
#"Added Next ODO" = Table.AddColumn(#"Added Next Driver", "Next ODO", each #"Added Index"{[Index]+1}[Odo Start]),
#"Removed Other Columns" = Table.SelectColumns(#"Added Next ODO",{"Registration", "Name", "Previous Date", "Previous Driver", "Previous ODO", "Next Date", "Next Driver", "Next ODO"}),
#"Filtered Exceptions" = Table.SelectRows(#"Removed Other Columns", each Text.StartsWith([Name], "***"))
in
#"Filtered Exceptions"
Change the filepath (in red) to point at your actual file.
Bookmarks