Ссылка на ячейку предыдущей строки в той же таблице в Excel?


14

Как я могу ссылаться на ячейку

  • Colorколонка,
  • в предыдущем ряду,
  • той же таблицы,

из ячейки той же таблицы? Не полагаясь на абсолютные номера строк / столбцов рабочего листа, если это возможно.

Нравится [[Color],-1]что-то ...

Ответы:


25

Если вы хотите использовать формат структурированной ссылки, попробуйте

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

Вы также можете сделать это без использования структурированных ссылок. Например, в строке 2 таблицы (первая строка данных) введите

=D1

... если "Цвет" в столбце D. (Отрегулируйте в соответствии с вашей ситуацией). Последний будет намного быстрее в больших наборах данных, так как Offset () является изменчивым и будет пересчитываться всякий раз, когда ЛЮБАЯ ячейка в книге изменяется. Это может сильно повлиять на производительность.


2

Я почти всегда создаю отдельный столбец в своей таблице с именем "I" для индекса, который нумеруется 1,2,3,4 ... Затем, чтобы получить предыдущее значение, используйте INDEX([Colour],[@I]-1).

Вы также можете нумеровать столбец, начиная с 0, и соответствующим образом корректировать формулу, поскольку вы почти всегда получаете доступ к строке раньше.

Функция volatile OFFSETвызывает сбой моих больших книг, поэтому я рекомендую избегать любой ценой.


Как построить индекс в таблице, которая постоянно получает новые данные? Вручную? Или с формулой? Последний будет поймать 22, верно?
Тейлин

@teylyn Я обычно делаю это вручную. Это отдается мне, так как при сортировке данных индексы не меняются. Я уверен, что вы можете =ROW()-2
проявить

1
Если вы используете формулу для создания индекса, а затем ссылаетесь на этот индекс в другой формуле, вы можете также вложить формулу для индекса во вторую формулу.
Тейлин

Вы могли бы использовать ROW() - ROW([#Headers]) - 1.
Соломон Уцко

2

Я знаю, что это старый пост, но точно так же, как мне нужно что-то подобное сейчас, я уверен, что это может помочь кому-то позже. Если вам нужно сделать промежуточную сумму для столбца таблицы, например:

  • Столбец 1 содержит данные о доходах (положительные и отрицательные значения)
  • Колонка 2 - это «баланс» счета

Для каждой строки необходимо добавить предыдущий баланс (столбец 2, предыдущая строка) и доход (столбец 1, текущая строка), чтобы вычислить текущий баланс.

Один из способов сделать это - использовать эту формулу в столбце 2, основываясь на ответе Тейлина:

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

Это обработает некоторые ошибки, возникающие в первом ряду

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.