MS Excel — использование гибкого имени листа в формулах, повторяющих имена листов

Я честно искал темы уже там, нашел несколько с функцией «Inderect», но не могу придумать, как использовать ее для моей задачи. Вот задача: для каждого дня месяца есть листы, где сотрудники регистрируют свои отчеты о работе (только цифры). Затем есть страница общей производительности, где мы получаем ежемесячную статистику — это работает как шарм. Еще одна страница предназначена для расчета заработной платы. Payrol рассчитывается на основе «недельной производительности». Поэтому мне нужно их выступление в течение первой недели, второй недели и так далее. Как известно, понедельник первой недели (например) может быть разным с 1 по 6 октября. Поскольку есть 8 сотрудников, 4-5 недель в месяц, 6 рабочих дней в неделю, с четырьмя различными показателями эффективности, матрица становится чем-то болезненным-в-{пустой}, чтобы изменить формулы каждый месяц и имеет enourmous шанс на ошибки.
Таким образом, мне нужен способ просто выложить месяц в области «этот месяц» (см. скриншот). Скажем, ячейка AE30 содержит «3», означает, что первый понедельник этого месяца-3 октября, поэтому формула для производительности сотрудника будет читать ячейку из листа с именем» 3″, для следующего месяца первый понедельник будет 1-м, я дам значение ячейки AE30″ 1″, а формула для производительности будет читать дату из листа с именем»1″. Как это сделать? Как изменить формулы в ячейках B4 (и других), чтобы включить номер листа из ячейки AB30? Спасибо!
Ссылка на скриншот

1 ответ

  1. Косвенное можно использовать с КОНКАТАНАТОМ —

    =INDIRECT(CONCATENATE(A1,"!",B1))
    

    Где A1вы получили название листа (i.e «1»), и на B1вас есть расположение ячейки.

    В качестве альтернативы, если вы знаете, где находятся данные на исходном листе (скажем, A1)

    =INDIRECT(CONCATENATE(A1,"!A1"))
    

    Если вы хотите, чтобы данные ссылались на целевую ячейку, можно использовать ROW() и COLUMN().