Uma maneira seria criar uma função do VBA que analisasse o valor da célula cityindex e alterasse o deslocamento adequadamente.
Exatamente como fazer isso depende do que você coloca na célula cityindex. Se for um número, você provavelmente poderá simplesmente adicionar esse número ao deslocamento da base para obter a coluna da direita. Se for texto, você precisará fazer uma pesquisa - se as cidades não mudarem muito, provavelmente será mais fácil fazer isso diretamente no código, caso contrário, você precisará de uma tabela de consulta em uma planilha e precisará fazer uma vlookup sobre isso.