Скобки сразу после ссылки в Excel - PullRequest
0 голосов
/ 14 сентября 2018

Я обнаружил, что следующий тип формулы допустим для ввода в Excel: =A1(2,3), или вообще используя некоторый именованный диапазон (NamedRange) и ссылки на ячейки, что это действительно:

=NamedRange(A2,A3,A4).

Однако каждый из них дает мне ошибку #REF!, и я хотел бы знать, как эта операция должна работать в Excel? (Самый близкий, который я мог найти, был бы оператор пересечения (пробел):

=NamedRange (A2,A3,A4)

что бы сработало.)

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

1 Ответ

0 голосов
/ 17 сентября 2018

Рассмотрев книгу более подробно и учитывая приведенный выше комментарий Форварда Эда, я надеюсь дать некоторое объяснение тому, что я считаю причиной ошибок, которые я видел в моем вопросе выше:

В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 не позволит пользователю войти с предупреждением о том, что формула недействительна. Это потому, что никакая такая формула с таким синтаксисом не может быть действительной).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...