Hi,
I'm not sure 100% if I understand what your after, but should be several things you can do.
To simplify make a named range called list for your A1:a46
In B2
Distinct List (A list containing no duplicates)
=IFERROR(INDEX(List,MATCH(0,IF(ISBLANK(List),"",COUNTIF($B$1:B1,List)),0)),"")
Enter as array
Or
Unique List (The ones in the list which have no duplicates at all)
=IFERROR(INDEX(List, MATCH(0, COUNTIF($C$1:C1, List)+(COUNTIF(List, List)<>1), 0)),"")
enter as array
or
and I think this may be what your asking for, you can tweak this to show the ones which do have duplicates, I think this should work:
=IFERROR(INDEX(List, MATCH(0, COUNTIF($D$1:D1, List)+(COUNTIF(List, List)=1), 0)),"")
again enter as array
The unique/not unique ones will bring back 0 when a blank is in the list, the original factors it in