Рассмотрев книгу более подробно и учитывая приведенный выше комментарий Форварда Эда, я надеюсь дать некоторое объяснение тому, что я считаю причиной ошибок, которые я видел в моем вопросе выше:
ВExcel, я думаю, что скобки вне текста только используются в качестве оператора:
- для группировки диапазонов:
(A1, B2, C3)
- в качестве вызова функции
SUM(_args_)
В этом случае, поскольку перед скобками нет пробела, это указывает на то, что предшествующее должно быть функцией (это можно увидеть в редакторе формул Excel, который показывает неизвестную функцию NamedRange
с аргументами внутри.
Это возможно иметь для внешней ссылки из листа XLA (надстройка Excel), содержащего функцию VBA, которая будет действовать таким образом. Т.е., если бы функция VBA быланазывается Foo
, тогда из справочной книги его можно вызвать, например, Foo(A1,B2)
.
В моем примере это было не так, так как я смог просмотреть сохраненную ссылкув книге Excel, и это показало, что NamedRange
во внешнем файле XLA действительно является ссылкой на ячейку непосредственно на ячейку $A$23
, которая содержит логическое значение.Тем не менее, я думаю, что это была последняя ошибка при сохранении файла, и, вероятно, эта ссылка должна быть (и будет возвращать только результат) для некоторой пользовательской функции (UDF) в VBA.
Я думаю, что это отвечает на вопрос о том, почему формула =NamedRange(A2,A3,A4)
действительна, хотя в качестве именованного диапазона она всегда будет возвращать #REF!
, и это потому, что Excel нужно будет обрабатывать формулы этого типа вконкретный случай , где ссылка фактически является пользовательской функцией.
(Это в отличие от функции, подобной =NamedRange(A1,SUM(
, в которую Excel не позволит пользователю войти с предупреждением о том, что формула недействительна. Это потому, что никакая такая формула с таким синтаксисом не может быть действительной).