So, I am having the same issue and I just found your post and read it with hope. Although it has been helpful my issue is a little different just a tiny bit.
What I am doing is mergint two tables I am creating with M inside the advance query for one of my tables. In this operation I create two tables by doing a left anti join, that works fine.
I have table A that are all new leases.
I have table B with all terminated leases.
I want a single table C with both, so I need two columns, new lease, terminated lease. All this is fine so far.
I do then a nested join which is a left outer from the new leases to the terminated leases, so im keeping all that is new and just putting a false in those that are not.
The moment i merge is ok, but then when i expand the table is when booom, i get duplicates. The problem i just found is that while im using lease_id as my key to join, there are some that do not have that key because they are not leases, they are owned so it is a different number, and coincidentally those are the duplicated ones.
Any ideas on how to solve it ???
I've been looking for this issue with no luck as well until I founded a valid work around.
the work around goes like this ::
-Merge your sheets as you like (you don't have to merge on more than one column, one is fine).
-Add index column
-Expand your merged column (this will create duplicate values, the main issue we're looking into).
-since the values in the "index column" were purely unique, now Remove duplicates using index column.
-and now your data is back to original as it was inteded to be.
Had the same issue, where I was merging queries.
The issue in my instance was that the base query was expanded which resulted in duplicates in the base query.
Once the expansion was removed in the base query the merged query was fine.
So if data is okay, the issue may be caused by duplicates in the base query.