НЕПРАВИЛЬНАЯ ошибка функции

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

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 принимает в качестве приемлемой формулы? Кроме того, если вы хотите узнать, почему формула не работает, перейдите на ленту Формулы и нажмите "оценить формулу". Это позволит вам шаг за шагом пройти по формуле, поскольку она упрощается. Если бы вы сделали это здесь, это показало бы вам, какова была окончательная ссылка, созданная вашей формулой, и вы могли бы сравнить это с вашей собственной созданной вручную версией.

Другие вопросы по тегам