Aqui está o melhor que encontrei até agora:
=SUBSTITUTE(ADDRESS(1,( COLUMN() + 1 ),4),1,"")
A parte no meio marcada em negrito é a única parte que muda.
Neste exemplo, ele está tomando a coluna atual e adicionando 1, então retornando B
se estiver na coluna A
e AA
se estiver na coluna Z
.
Variantes de exemplo
Exemplo de adição a uma coluna fixa (adicionando 2 à coluna Z, retorna "AB"):
=SUBSTITUTE(ADDRESS(1,( COLUMN(Z1) + 2 ),4),1,"")
Exemplo lendo uma célula A1
que contém uma letra como texto a ser tratado como uma letra de coluna:
=SUBSTITUTE(ADDRESS(1,( COLUMN( INDIRECT(A1&1) ) + 1 ),4),1,"")
Exemplo lendo uma célula A1
que contém um número a ser tratado como uma coluna number ( por exemplo, se contiver 25, retornará AB):
=SUBSTITUTE(ADDRESS(1,( COLUMN( INDIRECT(A1&1) ) + 1 ),4),1,"")
Pesquisando células com indirect()
Se sua meta for procurar uma célula , por exemplo Usando indirect()
, você pode pular o substitute()
e apenas o pipe no número da linha. Por exemplo, se você quiser procurar a célula à direita da célula atual (aumentando assim a letra da célula em um e mantendo a linha igual):
=INDIRECT( ADDRESS( ROW(), ( COLUMN() + 1 ),4) )
Com base parcialmente sobre isso que tem uma fórmula útil para transpor para obter uma coluna de letras de coluna, incrementado cada linha.