1

Мне интересно, есть ли эквивалентная функция косвенной функции для рабочих листов или рабочих книг вместо ячеек. Под этим я подразумеваю, что я обновляю довольно большую и громоздкую рабочую книгу для расчета заработной платы для компании, в которой работают разные люди с разными почасовыми ставками, работающими над разными проектами. Каждый сотрудник представляет свою информацию о заработной плате за месяц в виде таблицы Excel. Что я хочу сделать, так это максимально автоматизировать агрегацию часов каждого сотрудника для каждого конкретного проекта. Если бы я мог вызывать определенную ячейку в конкретной книге, не меняя формулу каждый раз, это было бы здорово.

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

Я не знаю VBA.

Спасибо

1 ответ1

1

За:

A1 = Workbook

A2 = Worksheet

A3 = Cell Reference

Используйте =INDIRECT("[" & A1 & ".xls" & "]" & A2 & "!" & A3)

Чтобы ссылаться на лист с пробелом, его необходимо заключить в одинарные кавычки ('). За:

A1 = Workbook

A2 = Worksheet Name 1

A3 = Worksheet Name 2

A4 = Cell Reference

Используйте =INDIRECT("[" & A1 & ".xls" & "]" & "'" & A2 & " " & A3 & "'" & "!" & A4)

Чтобы сослаться на определенный диапазон в листе, который вы не записали в ячейку, просто поместите его рядом с !:

Используйте =INDIRECT("[" & A1 & ".xls" & "]" & "'" & A2 & " " & A3 & "'" & "!E34")

Примечание . С помощью функции INDIRECT вы должны ссылаться только на открытые рабочие книги.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .