Применение имен для создания пользовательских функций

Механизм имен удобно использовать не только для того, чтобы ссылаться на данные по имени. Его также можно задействовать для постоянных значений либо формул; это особенно актуально при создании пользовательских функций средствами Visual Basic for Application.

Допустим, в текущей книге Excel вы используете для расчета налоговых отчислений ставку 10 %. Следовательно, во всех формулах, где используется данная ставка, необходимо будет вводить значение 10 % или 0,1. Однако вместо этого удобнее использовать слово TaxRate – и программа сама подставит значение 0,1, которое будет соответствовать данному имени. Для этого:

• откройте вкладку Формулы, в разделе Определенные имена нажмите кнопку Присвоить имя;

• в открывшемся окне в поле Имя введите значение TaxRate, а в поле Диапазон – значение =0,1;

• нажмите кнопку ОК.

В результате при создании формул вы можете вместо значения 0,1 или 10 % использовать слово TaxRate.

Внимание

Главным достоинством данного метода является то, что при изменении ставки налога вам достаточно будет не менять все формулы, а просто на вкладке Формулы в разделе Определенные имена нажать кнопку Присвоить имя и в открывшемся окне создания и редактирования имен для имени TaxRate изменить его значение так, как требуется.

Рассмотренный прием можно преобразовать, расширив его функциональность. Для этого в окне создания и редактирования имен в поле Диапазон можно вводить не адреса ячеек либо постоянные значения, а формулу. Например, вам необходимо создать имя, которое при вводе в ячейку будет автоматически возвращать сумму значений диапазона из десяти ячеек, которые находятся непосредственно над данной ячейкой. Для решения данной задачи последовательно выполните перечисленные ниже действия.

• На текущем рабочем листе установите курсор в ячейку А11, затем вызовите контекстное меню и выполните команду Имя диапазона.

• В открывшемся окне в поле Имя введите значение Total, а в поле Диапазон – формулу =СУММ(А1:А10), после чего нажмите кнопку ОК.

• В любом столбце начиная с первой строки введите 10 произвольных чисел.

• В этом же столбце установите курсор в строку 11 и введите в нее формулу =Total.

В результате выполненных действий вы получите сумму только что введенных значений.

Вот усовершенствованный вариант данного способа. Сущность его заключается в том, что вы создадите именованную формулу, которая будет использовать все ячейки, расположенные непосредственно над той строкой, в которой введено значение =Total. Для этого выполните перечисленные ниже действия.

• Установите курсор в ячейку В11, откройте вкладку Формулы и выберите пункт Определенные имена ? Присвоить имя.

• Нажмите на имени Total.

• Посмотрите значение поля Диапазон: в нем должна отобразиться формула =СУММ(В1:В10). Таким образом создаются именованные формулы. Иначе говоря, так как абсолютные ссылки на столбцы для исходного имени Total не указаны, то формула всегда будет ссылаться именно на тот столбец, в котором она находится.

• В поле Диапазон измените формулу так, чтобы она приняла вид =СУММ(В$1:В10).

Теперь в любой строке (за исключением первой) произвольного столбца введите значение =Total – вы получите автоматически рассчитанную сумму значений всех ячеек, которые находятся выше текущей ячейки независимо от количества строк.

Данный эффект достигается за счет того, что вы сделали ссылку на строку 1 абсолютной, а на ячейку В10 оставили относительную ссылку, а такая ссылка все время будет указывать на ячейку, находящуюся непосредственно над строкой, содержащей именованную формулу =Total.

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК