let
data2 = Excel.CurrentWorkbook(){[ Name = "Таблица2" ]}[Content],
typed1 = Table.TransformColumnTypes ( data2, { { "КО|дата", type date }, { "Накладная|Номер", type text }, { "Товар|Код", type text } } ),
group = Table.Group (
typed1,
{ "Накладная|Номер", "Товар|Код" },
{
{ "rec", ( t ) => Record.RemoveFields ( Table.Max ( t, "КО|дата" ), { "Накладная|Номер", "Товар|Код" } ) },
{ "Накладная|Товар", ( t ) => t[#"Накладная|Номер"]{0} & "|" & t[#"Товар|Код"]{0} }
}
),
toRec = Record.FromList ( group[rec], group[#"Накладная|Товар"] ),
data1 = Excel.CurrentWorkbook(){[ Name = "Таблица1" ]}[Content],
typed2 = Table.TransformColumnTypes ( data1, { { "№", Int64.Type }, { "Дата операции исх", type datetime }, { "Счет №", Int64.Type } } ),
delClmn = Table.RemoveColumns ( typed2, { "Индекс" }, MissingField.Ignore ),
addRec = Table.AddColumn ( delClmn, "rec", each Record.FieldOrDefault ( toRec, [#"Накладная|Номер"] & "|" & [#"Товар|Код"], null ) ),
expand = Table.ExpandRecordColumn ( addRec, "rec", { "КО|дата", "КО|номер" }, { "КО|дата", "КО|номер" } )
in
expand |