É possível consultar uma coluna inteira no Google Spreadsheets usando o formato R1C1?

12

Nas planilhas do Google, costumo usar a notação A1 para se referir a uma coluna inteira:

A1:A

Por razões que explico abaixo, gostaria de usar o formato R1C1, para me referir a uma coluna inteira, algo como:

R1C1:C1

Não é possível usar A1: A no Excel; portanto, como a notação R1C1 se originou no Excel, parece improvável que seja possível fazer isso na notação R1C1. Se for, tornaria minha vida mais fácil.

Antecedentes: tenho visitas de uma planilha, que extraem informações de outros dados da planilha, com um formato que muda dinamicamente.

Para contornar isso, eu uso uma fórmula para gerar um endereço em uma célula, com base no layout atual dos dados. Posso então referenciar essa célula de endereço em outras fórmulas usando indireta. E é muito mais fácil gerar um endereço usando R1C1 do que A1.

s6mike
fonte
"Como não é possível usar A1: A no Excel" - você quer dizer "Como não é possível usar R1C1 no Excel"?
Vidar S. Ramdal
Não, quis dizer que o intervalo A1: A funciona apenas no Google Docs - com o Excel, você precisa especificar linha e coluna para o final de um intervalo.
S6mike 18/10/12
5
Não consigo ler a notação R1C1 sem pensar em uma R2D2.
Sony Santos

Respostas:

2

Resposta curta

Sim, é possível consultar uma coluna inteira usando a notação R1C1: Use INDIRECT("C1",FALSE)

Explicação

O Planilhas Google não inclui um recurso para alterar a notação de referência de A1 para R1C1, mas o último pode ser usado com a função interna INDIRECT .

Exemplo

Em uma planilha com 1000 linhas, a fórmula a seguir retornará 1000

=ROWS(INDIRECT("C1",FALSE)) 
Rubén
fonte
2
Gênio! Obrigado :) Agora, quase 4 anos se passaram desde que eu fiz a pergunta, agora só preciso me lembrar do que estava fazendo quando a fiz!
S6mike 3/09/16
6

A notação A1 é suportada agora. Para centralizar a coluna A:

SpreadsheetApp.getActiveSheet().getRange("A1:A").setHorizontalAlignment("center");
Mike Evans
fonte
1
A notação A1 sempre foi suportada, mas minhas perguntas perguntam se é possível usar a notação R1C1 para se referir a uma coluna inteira nas planilhas do Google.
S6mike
2

Não, mas você pode contornar isso, sabendo qual linha é a última linha com dados em uma coluna, usando a COUNTAfunção

INDIRECT("A1:A") poderia ser escrito algo como INDIRECT("R1C1:R" & COUNTA(R1C1:R1000C1) & "C1")

Você precisa determinar um valor sensato de 'máximo de linhas'. Como usei 1000 no exemplo, essa fórmula deve funcionar em uma planilha com até 1000 linhas.

Procure COUNTAna lista de funções Planilhas do Google .

Vidar S. Ramdal
fonte
Agora é possível (veja minha resposta . Talvez isso tenha sido introduzido no novo Google Sheets.
Rubén
Ah, isso é ótimo!
Vidar S. Ramdal
-1

O formato aceitável varia dependendo do método que está sendo usado. Em um presente , por exemplo, a descrição permite a notação R1C1, mas não está claro (para mim pelo menos) se a entrada ou saída é notação L1C1.

Eu recomendo adotar o uso de getRange(row, column, numRows, numColumns)( documento oficial aqui ). Com base nos detalhes fornecidos sobre o uso pretendido, isso serviria muito bem aos seus propósitos. Eu freqüentemente uso uma variável para o parâmetro 'row' para recuperar todo um intervalo de valores em um loop. por exemplo, getRange(row, 2, 1, 7)onde row = 3 retornaria o intervalo C2:C8. Em seguida, basta incrementar 'linha' para retornar o próximo intervalo D2: D8.

Mithrandir
fonte
1
Você não está respondendo à pergunta de como se referir à coluna inteira, em vez de um número especificado de rotas nessa coluna. Usar o getRange repetidamente em um loop não é recomendado, a menos que seja necessário, pois isso leva a problemas de desempenho e de cota.
1
Quanto ao que você achou incerto no método getRange: sua saída é um objeto de intervalo, não uma sequência, portanto não há questão de notação para ele. A notação é especificada para entrada, que é uma sequência.