Возврат значений из строки выше в текущую строку - PullRequest
34 голосов
/ 23 августа 2010

Я пытаюсь сделать простую вещь: мне просто нужно установить в некоторых ячейках значения, которые находятся в предыдущих строках.Я пробовал =A(Row()-1), но это не работает.

Ответы [ 5 ]

71 голосов
/ 23 августа 2010

Чтобы решить эту проблему в Excel, обычно я просто набираю буквальный номер строки в ячейке выше, например, если я набираю в ячейке A7, я бы использовал формулу =A6.Затем, если бы я скопировал эту формулу в другие ячейки, они также использовали бы строку предыдущей ячейки.

Другой вариант заключается в использовании Indirect(), который разрешает буквальное выражение внутри, чтобы быть формулой.Вы можете использовать что-то вроде:

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

Приведенная выше формула будет преобразована в значение ячейки в столбце A и строку, которая на единицу меньше, чем ячейка, содержащая формулу.*

19 голосов
/ 20 августа 2016

Эта формула не требует ссылки на строку («A», «B» и т. Д.).Возвращает значение ячейки на одну строку выше в том же столбце.

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))
1 голос
/ 12 января 2015

Я последовал за BEN и Спасибо и Лот за ответ, поэтому я использовал его идею, чтобы получить свое решение, я публикую то же самое, следовательно, если у кого-то еще есть подобное требование, то вы также можете использовать мое решение, мое требование было что-то вроде того, что я хотел получить сумму всех данных от первой строки до последней строки, и я генерировал электронную таблицу программно, поэтому не нужно и не могу жестко кодировать имена строк в сумме, так как данные всегда динамичны и количество строк никогда не бывает постоянным. Моя формула была похожа на следующую.

=SUM(B1:INDIRECT("B"&ROW()-4))
0 голосов
/ 04 января 2017

Вы также можете использовать =OFFSET([@column];-1;0), если находитесь в именованной таблице.

0 голосов
/ 20 августа 2016

Более простой способ для меня - переключиться на нотацию R1C1, просто использовать R[-1]C1 и вернуться, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...