let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
Source2=Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Unpivoted Columns1" = Table.UnpivotOtherColumns(Source2, {}, "Attribute", "Value"),
#"Removed Columns1" = Table.RemoveColumns(#"Unpivoted Columns1",{"Attribute"}),
MQ = Table.NestedJoin(#"Removed Columns", {"Value"}, #"Removed Columns1", {"Value"}, "TableX", JoinKind.LeftAnti),
#"Expanded TableX" = Table.ExpandTableColumn(MQ, "TableX", {"Value"}, {"Value.1"}),
#"Removed Columns2" = Table.RemoveColumns(#"Expanded TableX",{"Value.1"}),
MQ2 = Table.NestedJoin(#"Removed Columns", {"Value"}, #"Removed Columns1", {"Value"}, "TableY", JoinKind.RightAnti),
#"Expanded TableY" = Table.ExpandTableColumn(MQ2, "TableY", {"Value"}, {"Value.1"}),
#"Removed Columns3" = Table.RemoveColumns(#"Expanded TableY",{"Value"}),
MQ3 = Table.NestedJoin(#"Removed Columns2", {"Value"}, #"Removed Columns3", {"Value.1"}, "TableY", JoinKind.FullOuter),
#"Expanded TableY1" = Table.ExpandTableColumn(MQ3, "TableY", {"Value.1"}, {"Value.1"}),
#"Added Custom" = Table.AddColumn(#"Expanded TableY1", "Missing", each if [Value.1]= null then [Value] else [Value.1]),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Missing"})
in
#"Removed Other Columns"