Excel: obtenha o número de células programaticamente

0

Estou fazendo isso, mas não funciona:

=&ROW(D(RIGHT(A21, LEN(A21)-SEARCH(" ", A21, 1))))

Eu quero calcular o número de localização de uma célula diferente e anexá-la a D row para obter, por exemplo: D8

Alguma sugestão?

    
por Alex 23.04.2018 / 17:50

2 respostas

2

A maneira mais direta (trocadilho não pretendido) de fazer o que você quer é

=INDIRECT("D" & RIGHT(A21,LEN(A21)-SEARCH(" ",A21,1)))

que cria a string D8 concatenando a string (literal de texto) "D" com o número que você extraiu da célula A21 e depois passa para a função INDIRECT , que acessa uma célula com base em seu endereço como uma string.

Talvez seja uma maneira melhor (se você sempre quiser acessar a coluna D ; ou seja, isso não é variável) é

=INDEX(D:D, RIGHT(A21,LEN(A21)-SEARCH(" ",A21,1)))

que obtém o número da célula A21 conforme você faz mas depois usa-o como um índice na coluna D .

    
por 23.04.2018 / 18:14
1

Você pode realizar isso de duas maneiras. Dê uma olhada na função

=INDIRECT(ref_text)

O "ref_text" pode ser um texto que se refere a uma célula. Por exemplo, se eu colocar:

=INDIRECT("A1")

onde "A1" é texto, posso referenciar uma célula. Você pode juntar o texto nesta função usando outras fórmulas como a sua na postagem original.

Outra maneira que pode funcionar para você também é usar a função

=OFFSET(reference, rows, cols, [height], [width])

para o qual você faz referência a uma célula inicialmente e, em seguida, informa à função quantas linhas ou colunas você está fora dessa célula.

    
por 23.04.2018 / 17:59