Получить значение из ячейки выше

Возможно ли в Google Spreadsheets достичь значения ячейки непосредственно выше?

Значение: в одной ячейке A2 я хочу отобразить значение из ячейки выше, то есть A1. Не потому, что это координата, а потому, что это ячейка выше. Я делаю это, просто устанавливая значение, равное указанной ячейке:

enter image description here

Если я создам новую строку между этими двумя, я получаю следующее:

enter image description here

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

enter image description here

Разумеется, термин "родственник" ошибочен, но, надеюсь, вы поняли мою точку зрения. Мне нужно обычное относительное поведение (так что я могу переместить сам элемент, и его ссылка будет соответствовать новой coloumn и строке), а также поведение, которое ссылка не указывает на определенную фиксированную координату, а скорее определенный путь от самой ячейки.

Ответы

Ответ 1

Вы можете обратиться к нему следующим образом:

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

COLUMN() возвращает числовую ссылку на текущий столбец

ROW() возвращает числовую ссылку на текущую строку.

В примере здесь вычитание 1 из строки дает вам предыдущую строку. Эта математика может быть применена к ROW() и/или COLUMN(), но, отвечая на ваш вопрос, эта формула будет ссылаться на ячейку выше.

Затем мы имеем ADDRESS(), который принимает числовую строку и ссылку на столбец и возвращает ссылку на ячейку в виде строки.

Наконец INDIRECT() позволяет передать ссылку на ячейку в виде строки и обрабатывает ее как формулу.

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

Ответ 2

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

=INDIRECT("A" & ROW()-1)

Это пригодится, если вы возвращаете значения в столбце B, но проверяете предыдущую строку в столбце A.

Ответ 3

Лучший способ сделать это:

  1. Перейти к ячейке A2
  2. Нажмите Ctrl+F3 (это ярлык для управления именованными диапазонами в Windows)
  3. Нажмите Add Name
  4. В поле Name укажите имя типа LPrev
  5. В Reference field нажмите =!A1

Теперь просто используйте =LPrev чтобы указать на ячейку в том же столбце в предыдущей строке.

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

Трюк того же типа подходит для любой относительной ссылки, как предыдущий или другой столбец.