My attempted solution first combined all characteristics of each object into a single cell: binsort3_nonunique.xls
Then I attempted to craft a function that would return the "bin new" number of each item. For each item, I imagine comparing its "combined" (column E) value with every other element in column E. If there are no matches, "bin new" = "bin old". If there are matches, it compiles a list of the "bin old" values of each match, and returns the lowest of those values for the "bin new" number of that object. I thought that I could do this with arrays, via the function in my original post, which someone elsewhere helped me out with. By highlighting cells G2 through G10, inputing the function {=Min(if($E$2:$E$10=E2,$B$2:$B$10))}, and hitting ctrl+shift+enter, I thought it would work.
Result: binsort4_nonunique.xls
As you can see, all of the "bin new" values are 1. This is because the condition after the first array "=E2" does not iterate throughout the column. Therefore, the function is comparing E2 to itself throughout the column. I guess I misunderstood how this function would work. Now, I am stuck. I am still not sure if it is possible to do what I want here with a simple function. I do hope, though that this explanation cleared up my question!
Bookmarks