No duplication JN, my way involves creating a couple of 'shadow' tables (for want of a better description) and using far more simple formulae with an HLOOKUP.
At a first glance I am not ashamed to admit that your solution is somewhat beyond the 'cutting edge' of my knowledge and would seem more elegant once set up correctly.
DB