Great challenge and amazing solution @Melissa
This is my try with 99% using UI.
let
Source = ProdOrders,
UnpivotedOther = Table.UnpivotOtherColumns(Source, {"Original Order"}, "Attribute", "Value"),
RemovedDup = Table.Distinct(UnpivotedOther, {"Original Order", "Value"}),
Sort = Table.Buffer(Table.Sort(RemovedDup,{{"Original Order", Order.Ascending}, {"Value", Order.Ascending}})),
Group = Table.Group(Sort, {"Original Order"}, {{"Count", each Table.AddIndexColumn(_,"i",1,1,type text) }}),
Expand = Table.ExpandTableColumn(Group, "Count", {"Value", "i"}, {"Value", "i"}),
Prefix = Table.TransformColumns(Expand, {{"i", each "Rework Order-" & Text.From(_, "en-GB"), type text}}),
Pivot = Table.Pivot(Prefix, List.Distinct(Prefix[i]), "i", "Value")
in
Pivot