let
Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
Tab10 = Table.FromColumns( {{0..Number.RoundUp( List.Max(Source[Количество]) / 10 )}}, {"10"} ),
Tab8 = Table.FromColumns( {{0..Number.RoundUp( List.Max(Source[Количество]) / 8 )}}, {"8"} ),
Custom1 = Table.Join( Tab8, {}, Tab10, {} ),
AddedQuntity = Table.AddColumn(Custom1, "Количество", each [8] * 8 + [10] * 10),
AddedRec1 = Table.AddColumn(AddedQuntity, "Зап1", each [ [8], [10], [Количество] ]),
AddedRec2 = Table.DuplicateColumn(AddedRec1, "Зап1", "Зап2"),
Union = AddedRec2 & Source & AddedRec2,
SortedRows = Table.Sort(Union,{{"Количество", Order.Ascending}}),
FilledDown = Table.FillDown(SortedRows,{"Зап1"}),
FilledUp = Table.FillUp(FilledDown,{"Зап2"}),
AddedDif1 = Table.AddColumn(FilledUp, "Разн1", each Number.Abs([Количество] - [Зап1][Количество]) ),
AddedDif2 = Table.AddColumn(AddedDif1, "Разн2", each Number.Abs([Количество] - [Зап2][Количество]) ),
FilteredRows = Table.SelectRows(AddedDif2, each ([10] = null)),
RemovedColumns = Table.RemoveColumns(FilteredRows,{"8", "10"}),
AddedSummary = Table.AddColumn(RemovedColumns, "Итог", each if [Разн1] = [Разн2] then List.Distinct( {[Зап1],[Зап2]} ) else if [Разн1] < [Разн2] then {[Зап1]} else {[Зап2]}),
ExpandedList = Table.ExpandListColumn(AddedSummary, "Итог"),
ExpandedRecs = Table.ExpandRecordColumn(ExpandedList, "Итог", {"8", "10"}, {"8", "10"}),
SelectedColumns = Table.SelectColumns(ExpandedRecs,{"Количество", "8", "10"})
in
SelectedColumns |