Это моя формула:

=IF(ActualsThrough<F$5,SUMIF('209Budget'!$F:$F,'209ActBud'!$C7,'209Budget'!I:I),-IFERROR(OFFSET('Month TB'!$D$1,MATCH($C7&+"-"&+$C$2,'Month TB'!$B:$B,0)-1,MATCH(F$5,'Month TB'!$D$1:$O$1,0)-1),0))

Я хотел бы, чтобы формула использовала косвенную динамическую ссылку для 209Budget и 209ActBud.

Идея состоит в том, что я могу ввести "209" в ячейку ссылки, и все формулы будут обновлены. Когда я копирую лист на новую вкладку, я могу изменить ячейку ссылки на "210", и все формулы будут обновлены.

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

1 ответ1

1

Предполагая, что ячейка с 209 находится в A1 текущего листа, вы можете создать ссылку с помощью Indirect следующим образом:

=Indirect("'"&A1&"Budget'!$F:$F")

Если в имени вашего листа нет пробелов, вам не нужно заключать его в одинарные кавычки, поэтому

=Indirect(A1&"Budget!$F:$F")

Применительно к диапазонам, на которые ссылается лист 209, весь пакет будет выглядеть

=IF(ActualsThrough<F$5,SUMIF(indirect(A1&"Budget!$F:$F"),indirect(A1&"ActBud!$C7"),indirect(A1&"Budget!I:I")),-IFERROR(OFFSET('Month TB'!$D$1,MATCH($C7&+"-"&+$C$2,'Month TB'!$B:$B,0)-1,MATCH(F$5,'Month TB'!$D$1:$O$1,0)-1),0))

Изменить после комментария: если вам нужно, чтобы ссылка на столбец в косвенном была относительной, поэтому она обновляется при копировании формулы вправо, вы можете использовать функцию Cell().

Вместо

...indirect(A1&"Budget!$F:$F")...

использование

...indirect(A1&"Budget!"&cell("address",F:F))...

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