Excel: переносимая формула для ссылки на данные на предыдущем (относительном) листе

Excel: переносимая формула для ссылки на данные на предыдущем (относительном) листе

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

Каждый лист ссылается на ячейки предыдущего листа. Например, лист «Май» черпает данные из листа «Апрель», лист «Июнь» черпает данные из листа «Май» и т. д.

Допустим, я создаю первый и второй листы, "Апрель" и "Май". Если я скопирую "Май" и переименую его в "Июнь", все формулы по-прежнему будут ссылаться на "Апрель", как на листе "Май". Я бы хотел, чтобы они автоматически ссылались на "Май".

Как это возможно сделать?

решение1

Создайте следующий макрос:

Function SHEET_OFFSET(Offset, Ref)
'   Returns cell contents at Ref, in sheet Offset
    Application.Volatile
    With Application.Caller.Parent
        SHEET_OFFSET = .Parent.Sheets(.Index + Offset) _
         .Range(Ref.Address).Value
    End With
End Function

Затем, если вы хотите, чтобы лист за май получил доступ к April!Q42ячейке, используйте формулу

SHEET_OFFSET(-1, Q42)

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

Источник: Я нашел это наСтраница электронной таблицы.

Связанный контент