2015-11-02 3 views
0

У меня есть следующая формула, которая долгое время возвращала ошибку #REF!, независимо от того, как я ее перепроектирую. Значение по С1 этого имя вкладки, которая содержит данные о ссылочных клетках:Ошибка функции INDIRECT

Aug 2012 

Эта часть формулы возвращает правильное численное значение:

=INDIRECT("'" & C1 & "'" & "!A502'") 

, но эта формула дает ошибку:

=SUM(INDIRECT("'" & C1 & "'" & "!A502:'" & C1 & "'" & "!A503")) 

Любая помощь в том, где я делаю ошибку, пожалуйста?

ответ

1

Правильная формула там у вас будет:

=SUM(INDIRECT("'"&C1&"'!A502:A503")) 

Я испытал это и подтвердил, что он работает, когда C1 говорит «Лист 2» и у меня есть еще один лист под названием «Лист 2».

Две вещи, которые я изменилась:

Первый - вы ссылки так, чтобы она повторяла имя листа для первой ячейки, указанной в диапазоне (A502), а также второй ячейке (A503). Но если вы вручную выберите A502: A503 в формуле excel, вы увидите, что она принимает форму: «Имя листа»! A502: A503.

Я также упростил формулу так, чтобы символ «» был в той же строке, что и «!». Однако это не сработало бы без этого изменения.

Ключом к динамическому созданию таких формул (с использованием INDIRECT или VBA) является то, что вы действительно вернетесь в Excel и попробуйте ввести его вручную - что делает Excel в качестве приемлемой формулы? Также - если вы хотите понять, почему формула не работает, перейдите к ленте «Формулы» и нажмите «Оценить формулу». Это позволит вам шаг за шагом использовать формулу, поскольку она упрощается. Если бы вы сделали это здесь, это показало бы вам, какова была окончательная ссылка, которая была создана вашей формулой, и вы могли бы сравнить это с вашей собственной созданной вручную версией.

+1

Это работает отлично! Спасибо за ответ и длинное объяснение! Цените свое время. – Dingo