Возврат значений из строки выше в текущую строку

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

5 ответов

Решение

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

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

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

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

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

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

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

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

=SUM(B1:INDIRECT("B"&ROW()-4))

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

Другие вопросы по тегам