Perhaps you need to build another colum for a lookup, from most important to least. Then the lookup, will match on the first one, which will be the one up the chain higher than the previous. I think you are running into a code firing problem. Just have it do what it is currently doing on a worksheet change method. Try that first.