Referenciar uma célula da linha anterior na mesma tabela no Excel?


14

Como posso referenciar a célula de

  • a Colorcoluna
  • na linha anterior,
  • da mesma mesa

de uma célula da mesma tabela? Sem depender dos números absolutos de linha / coluna da planilha, se possível.

Como [[Color],-1]algo ...

Respostas:


25

Se você deseja usar o formato de referência estruturada, tente

=OFFSET([@Colour],-1,0)

Você também pode fazer isso sem usar referências estruturadas. Por exemplo, na linha 2 da tabela (a primeira linha de dados), insira

=D1

... se "Cor" estiver na coluna D. (Ajuste à sua situação). O último será muito mais rápido em grandes conjuntos de dados, já que Offset () é volátil e recalcula sempre que QUALQUER célula da pasta de trabalho for alterada. Isso pode impactar bastante o desempenho.


2

Quase sempre crio uma coluna separada na minha tabela denominada "I" para o índice, numerada 1,2,3,4 ... Então, para obter o valor anterior, use INDEX([Colour],[@I]-1).

Você também pode numerar a coluna a partir de 0 e ajustar a fórmula de acordo, já que quase sempre acessa a linha antes.

A OFFSETfunção volátil faz com que minhas grandes pastas de trabalho falhem, por isso recomendo evitar a todo custo.


Como você cria o índice em uma tabela que obtém novos dados o tempo todo? Manualmente? Ou com uma fórmula? O último seria pegar 22, certo?
teylyn

@teylyn Eu normalmente faço isso manualmente. Isso é preferido para mim, pois quando eu classifico os índices de dados não são alterados. Tenho certeza que você pode obter criativo usando fórmulas, dependendo da sua aplicação por exemplo, uso algo como=ROW()-2
user3575270

1
Se você usar uma fórmula para criar o índice, consulte esse índice em outra fórmula, também poderá aninhar a fórmula do índice na segunda fórmula.
teylyn

Você poderia usar ROW() - ROW([#Headers]) - 1.
Solomon Ucko

2

Eu sei que este é um post antigo, mas assim como eu precisava de algo semelhante agora, tenho certeza que isso pode ajudar alguém mais tarde. Se você precisar fazer uma soma contínua em uma coluna da tabela, por exemplo:

  • A coluna 1 contém os dados de "receita" (valores positivos e negativos)
  • A coluna 2 é o "saldo" da conta

Para cada linha, você precisa adicionar o saldo anterior (coluna 2, linha anterior) e a receita (coluna 1, linha atual) para calcular o saldo atual.

Uma maneira de fazer isso é usar esta fórmula na coluna 2, com base na resposta de teylyn:

=SUM([@Column1];OFFSET([@[Column2]];-1;0))

Isso solucionará alguns erros que ocorrem na primeira linha

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.