I tried performing a find with ! and it did not work.
The "!" find works, but the found set needs to be sorted by the field to group all the duplicate records together. Otherwise the duplicates are hard to find.
On a single table, you either have the data in there or not. Not much you could do to mess that up I don't think.
Try this simple SQL. If the field is called "name" and the table is called "names"...
ExecuteSQL("select name from names group by name having count(*) > 1" ; ""; "")
That will give you a quick list of the duplicates. You could combine this with a script to process them.
To just see the duplicates, you can do that in FMP by just doing a "!" in Find mode in the field in question. But be careful not to delete that found set or you'll delete the actual data too.
You can use "!" in multiple fields (for possibly duplicates across more than one field, say name and email address are both duplicates, for example) and then click the "SORT" toolbar and re-arrange the data as needed.
I've also used the self-join technique mentioned here and that works too.
Lots of ways to handle this.