Thank you, Toby et al for your answers, opinions, advice, criticism, etc. I almost think I'm beginning to get it. Let me regurgitate this to be sure: Given &&&&&&mlv&mlin., I resolve &mlin. = 5 and reduce the &&&&&& to &&& to get &&&mlv5. Then I resolve &mlv5. = DAISY and reduce the && to & to get &DAISY. Finally I resolve &DAISY. = YELLOW. So, it looks to me like once I reach a stage where I have a string of ampersands followed by a "pure" name (i.e., one with no ampersands in it), that string of ampersands should have length 2**n - 1 for some n, e.g. &&&&&&&x. Then, I would always resolve the last "ampersand plus pure name" combination, and halve the remaining ampersands. Yes, getting into a six-ampersand situation probably does point to a poor initial design. But this was one of those cases where I built the data for one purpose with a set of dummy variables, and then had to cull some of the data for a subsequent analysis, depending upon which dummies were non- zero. The details of that are not important here; suffice to say that I was able to do what I needed to do, and you helped me unscramble the & mess. By the way, I found Chang's suggestion about using an intermediate macro variable to take care of the first resolution stage very helpful. -- TMK -- "The Macro Klutz"