You could do something like this:
let
Source = Excel.CurrentWorkbook(){[Name="Table6"]}[Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Area", "Budget"}, "Attribute", "Value"),
AddItemCount = Table.AddColumn(#"Unpivoted Other Columns", "ItemCount", each List.Count(Text.Split([Value],","))),
#"Added Custom" = Table.AddColumn(AddItemCount, "AddBudgetShare", each [Budget]*[ItemCount]/List.Sum(Table.SelectRows(AddItemCount, (a)=> a[Area]=[Area])[ItemCount])),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Value", "ItemCount"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Attribute]), "Attribute", "AddBudgetShare", List.Sum)
in
#"Pivoted Column"
Bookmarks