I don't think you can do that without visual basic. A work arround could be to have conditional formulas that changes the actual list. You'd need an additional list made of formulas and if conditions A are met, then the values = A, if B then val=B and so forth.
Does it make sense? your main list should be =if(condA,val_fromA,if(condB,val_fromB,val_fromC))