I gave an idea in the doc, but I am afraid that my idea is not a very good one although it outputs the results you want. This kind of work is normally preceded by a data analysis that puts data already in order and when that is done you can apply simple fiters instead of working with a SwitchIf() like I did (kind of duct tape). This is it for now, good luck with the restructing of your data.
SwitchIf(
thisRow.PoO.Contains.Contains(Assignment),
thisTable.Filter(UNIT.Contains(thisRow.UNIT) and PoO.Contains(Assignment)).Find(thisRow),
thisRow.PoO.Contains([Original Purchaser]),
thisTable.Filter(UNIT.Contains(thisRow.UNIT) and PoO.Contains([Original Purchaser])).Find(thisRow))
Just like Christiaan I think the table structure is not ideal. For me it is not clear why Thomas gets #1, Mahk gets #2, etc. I think it is based on the sequence of entry - for which I used rowID, since it is pretty reliable to establish the sequence of entries. But you can use different criteria, like a list of names sorted in alphabetical order or whichever you would like.
I added my formula to match the manually entered numbers in your assignee column.
Enjoy and hopefully learn from our different approaches.
Much to your point this is a retro fit of data that was initially kept (Poorly) in an excel. But as a result I have some 1600 names I need to catalogue so doing them individually was a tough pill to swallow. Thank you both for the input!
Also The order is just Important because it determines the order of some legal processes.