Использование относительных позиций в формулах Excel - PullRequest
28 голосов
/ 09 апреля 2011

Как создать формулу, которая не становится недействительной при удалении строки.

Например, в ячейке F12 у меня есть формула: = F11 + D12-E12

Это в основном говорит: возьмите значение из ячейки выше, затем добавьте значение ячейки 2 слева и вычтите значение в ячейке прямо слева.

Однако, поскольку я использую фактические адреса ячеек, как только я удаляю строку, все строки ниже становятся недействительными.

Как мне выразить формулу относительной позицией (то есть = "1 сверху" + "2 слева" - "1 слева")

Спасибо.

Ответы [ 3 ]

35 голосов
/ 09 апреля 2011

Вы можете использовать либо

  • =OFFSET(F12,-1,0)+OFFSET(F12,0,-2)-OFFSET(F12,0,-1), либо
  • =INDIRECT("F11",true)+INDIRECT("D12",true)-INDIRECT("E12",true)
  • =INDIRECT("R11C6",false)+INDIRECT("R12C4",false)-INDIRECT("R12C5",false)
  • =INDIRECT("R[-1]",false)+INDIRECT("C[-2]",false)-INDIRECT("C[-1]",false)

Обе функции также позволяют указывать диапазоны, просто используйте все, что вам по вкусу (см. Справку Excel)…

3 голосов
/ 09 апреля 2011
  • Вы можете переключиться, например, к эталонному стилю R1C1 (опции Excel)
  • Используйте функцию OFFSET (например, =OFFSET(F12;-1;0) для выше)
1 голос
/ 10 сентября 2015

Чтение между строк ... Ваша реальная проблема - создание промежуточного итога из столбцов добавлений и вычетов?

Вы можете суммировать каждый столбец, начиная с абсолютной ссылки и заканчивая относительной ссылкой

Предполагая, что строка 11 является вашей первой, поместите =SUM(D$11:D12)-SUM(E$11:E12) в F12.

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

Удаление и вставка строк не нарушает формулу, хотя любые дополнительные ячейки будут включены в SUM ().

...