Я собираюсь сделать несколько предположений здесь, но я думаю, что знаю, к чему вы клоните. Предположительно, у вас есть один лист с отформатированным "списком ежедневных гостей" и другой лист, с которого вы извлекаете данные (поскольку 365 листов, вероятно, немного неуправляемы). Не видя ваш формат, я предполагаю, что в вашей основной электронной таблице в столбце A указан день года (1 - 365), а в столбце B - номер комнаты (1 - 24). Кроме того, я предполагаю, что вы отсортировали это по столбцу A, чтобы все комнаты на один и тот же день были смежными (это важно для моего примера, но вы можете обойти это с более сложной логикой).
На листе с ежедневным списком гостей укажите номер дня, для которого вы хотите его запустить, в ячейку (A1 в моем примере).
B1:
=MATCH(A1,Sheet1!A:A)
Если строка 2 содержит метки, тогда мы начнем строку три с ваших данных:
=INDIRECT(ADDRESS(ROW()-3+$B$1,COLUMN()+1,4,1,"Sheet1"))
Вы можете скопировать эту формулу по столбцам и на 24 строки вниз, чтобы получить данные из своего основного списка. =indirect()
захватывает ячейку на основе текстовой строки. address()
создает строку, ссылающуюся на ячейку, на основе номера строки, номера столбца, параметров форматирования пары и имени листа.
Я определяю номер строки, получая строку ячейки формулы с помощью функции =row()
, вычитая три, поскольку я предполагаю, что первые две строки являются метками и т.д., А затем добавляю номер строки первой строки с правильным днем (введено в A1 и находится по формуле =match()
).
Я сместил столбец на 1, так как считаю, что вам не нужно повторять идентификатор даты в этом ежедневном списке гостей.
Две переменные форматирования не изменяют работу этой функции в сочетании с функцией =indirect()
. Последняя переменная - это имя листа, введенное в виде строки. Вы можете поместить имя листа в ячейку и ссылаться на него, если вам нужно извлечь из разных листов. В приведенных выше примерах вам придется заменить "Лист1" на любое имя листа, которое вы выбрали для данных.
Я надеюсь, что это достаточно для обучения, чтобы вы могли использовать его здесь. Есть много способов сделать эту работу (например, вам не нужен B1, но я подумал, что он проиллюстрировал пример).
Наконец, я бы рекомендовал использовать даты вместо целых чисел. Это будет действительно понятно, и вы даже сможете делать удобные вещи, такие как use =today()
для сегодняшней даты.