¿Hacer referencia a una celda de la fila anterior en la misma tabla en Excel?


14

¿Cómo puedo hacer referencia a la celda de

  • la Colorcolumna
  • en la fila anterior,
  • de la misma mesa,

de una celda de la misma mesa? Sin depender de los números absolutos de fila / columna de la hoja de trabajo si es posible.

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

Respuestas:


25

Si desea utilizar el formato de referencia estructurado, intente

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

También puede hacer esto sin usar referencias estructuradas. Por ejemplo, en la fila 2 de la tabla (la primera fila de datos), ingrese

=D1

... si "Color" está en la columna D. (Ajústelo a su situación). Este último será mucho más rápido en grandes conjuntos de datos, ya que Offset () es volátil y volverá a calcular cada vez que CUALQUIER celda del libro cambie. Eso puede tener un gran impacto en el rendimiento.


2

Casi siempre creo una columna separada en mi tabla llamada "I" para el índice, que está numerado 1,2,3,4 ... Luego, para obtener el valor anterior, use INDEX([Colour],[@I]-1).

También puede numerarla como columna a partir de 0 y ajustar la fórmula en consecuencia, ya que casi siempre accede a la fila anterior.

La OFFSETfunción volátil hace que mis libros de trabajo grandes se bloqueen, por lo que recomiendo evitar a toda costa.


¿Cómo se crea el índice en una tabla que obtiene datos nuevos todo el tiempo? ¿A mano? ¿O con una fórmula? El último sería atrapar 22, ¿verdad?
teylyn

@teylyn Normalmente lo hago manualmente. Esto es preferible para mí ya que cuando clasifico los índices de datos no cambian. Estoy seguro de que puede ser creativo usando fórmulas dependiendo de su aplicación, por ejemplo, use algo como=ROW()-2
user3575270

1
Si usa una fórmula para crear el índice, luego refiérase a ese índice en otra fórmula, también puede anidar la fórmula para el índice en la segunda fórmula.
teylyn

Podrías usar ROW() - ROW([#Headers]) - 1.
Solomon Ucko

2

Sé que esta es una publicación antigua, pero al igual que necesitaba algo similar ahora, estoy seguro de que esto puede ser de ayuda para alguien más tarde. Si lo que necesita es hacer una suma acumulada en una columna de la tabla, por ejemplo:

  • La columna 1 tiene los datos de "ingresos" (valores positivos y negativos)
  • La columna 2 es el "saldo" de la cuenta.

Para cada fila, debe agregar el saldo anterior (columna 2, fila anterior) y el ingreso (columna 1, fila actual) para calcular el saldo actual.

Una forma de hacerlo es usar esta fórmula en la Columna 2, basada en la respuesta de teylyn:

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

Esto manejará algunos errores que ocurren en la primera fila

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.