Как сделать функцию в excel 2007

Выполнение вычислений в электронных таблицах Excel 2007

Учебная дисциплина
Информатика и компьютерная техника
Модуль 2. Офисные прикладные программы Microsoft Office 2007

2.2.4. Выполнение вычислений в таблицах Excel 2007

Для выполнения различных вычислений в таблицах Excel 2007 используют формулы и функции. Основные понятия о формулах и функциях в Excel 2003 изложены на страничке Формулы, функции и диаграммы в Excel. Изложенные сведения о формулах и функциях для Excel 2003 являются характерными и для Excel 2007/2010.

Выполнение вычислений с помощью формул в Excel 2007 представлено на рисунке 1.

Рис. 1

Вычисления с помощью формул всегда начинаются со знака равенства "=". Кроме того, в формулу могут входить ссылки на ячейки, в которых указаны определенные значения в одном из числовых форматов, имена, числовые величины и функции, объединенные знаками арифметических действий (^; *; /; +; -;). В ячейке, в которой осуществлены вычисления, отображаются значения, а формула отображается в строке ввода.

Ссылки на ячейки бывают относительными и абсолютными. Абсолютные ссылки отличаются от относительных тем, что содержат символ “$” (например, $B$2) перед всеми атрибутами адреса ячейки. К смешанным ссылкам относятся ссылки на ячейки, в которых перед одним из атрибутов адреса ячейки установлен символ “$” (например, B$2 или $B2).

Образец формулы (Y=2sin(пx)cos 5 (2пx) + sin(5 пx) 2 , где п — число ПИ = 3, 14), которая содержит функции sin(), cos(), ПИ(), переменную x — относительную ссылку на ячейку "A2", представлен на скриншоте рисунок 2.

Рис. 2

В формуле могут быть использованы и имена диапазона ячеек, но для этого надо присвоить имена диапазонам ячеек. Чтобы присвоить имя диапазону ячеек в Excel 2007, необходимо выполнить следующие операции. Выделить диапазон требуемых ячеек, перейти на вкладку "Формулы" и щелкнуть на кнопке раскрывающегося списка "Присвоить имя" в группе "Определенные имена".

Из списка выбрать надпись "Присвоить имя. ", откроется окно диалога "Создание имени". В строке "Имя" ввести имя, например "Закупка1" и щелкнуть на кнопке ОК. В результате выбранному диапазону ячеек будет назначено соответствующее имя (рисунок 3).

Рис. 3

Для использования имени диапазона ячеек в формуле надо выделить ячейку и вставить требуемую формулу, например СУММ(). В качестве аргумента используем имя диапазона ячеек, например "Закупка1". Для этого на вкладке "Формулы" в группе "Определенные имена" надо щелкнуть на команде "Использовать в формуле", и в открывшемся списке имен выбрать требуемое имя (рисунок 4).

Рис. 4

Формулы в Excel можно перемещать и копировать. Абсолютные ссылки при копировании формулы (распространении формулы) не изменяются, а изменятся только те атрибуты адреса ячейки, перед которыми не установлен символ “$” (т.е. относительные ссылки изменяются). При перемещении формулы в другое место таблицы абсолютные и относительные ссылки в формуле не изменяются.

Функции Excel — это встроенные в Excel готовые формулы, которые разбиты на категории. Функции состоят из названия и аргументов, например СУММ(). Аргументы в виде ссылок или имен ячеек вводятся пользователями в круглые скобки. Функции вводятся в выделенную ячейку. При вызове функции одним из способов открывается "Мастер функций — шаг 1 из 2" (рисунок 5).

Рис. 5

В окне "Мастер функций — шаг 1 из 2" сначала выберите категорию в списке "Категория" и затем в списке "Выберите функцию" выделите нужную функцию и щелкните на кнопке ОК. Приложение Excel введет знак равенства, имя функции и круглые скобки, в которые надо ввести аргументы в виде значений или ссылок на адрес ячейки. Для этого приложение откроет второе окно диалога "Аргументы функции", в котором необходимо установить аргументы функции.

Рис. 6

Второе окно диалога "Аргументы функции" содержит по одному полю для каждого аргумента выбранной функции. Справа от каждого поля аргумента отображается его текущее значение. После выбора аргументов щелкните на кнопке ОК, созданная функция появится в строке формул.

Диаграммы в Excel используются для графического отображения зависимостей между данными электронных таблиц или рабочих листов (рисунок 7).

Рис. 7

Для создания диаграммы надо выделить требуемые ячейки рабочего листа, которые содержат исходные данные. Затем выбирать тип графического изображения на вкладке "Вставка" в группе "Диаграммы" (рисунок 8) и щелкнуть на нем. На рабочем листе появится графическое изображение диаграммы, а в окне приложения добавятся три контекстные вкладки (конструктор, макет и формат) для работы с диаграммами.

Рис. 8

На контекстной вкладке "Конструктор" можно изменить тип, макеты, стили диаграмм и расположение диаграмм (переместить диаграмму на другой лист). Контекстная вкладка "Формат" используется для форматирования диаграммы. Для работы с подписями, осями, анализом диаграмм используется контекстная вкладка "Макет" (рисунок 9).

Рис. 9

Таким образом, инструменты приложения Excel 2007 для работы с формулами, функциями и диаграммами имеют более широкие возможности, чем инструменты приложения Excel 2003.

Copyright

© Обучение в интернет, .
Обратная связь

Создаем свою первую функцию в Excel

Что такое функция в VBA?

Функция написанная на VBA — это код, который выполняет вычисления и возвращает значение (или массив значений). Создав функцию вы можете использовать ее тремя способами:

  1. В качестве формулы на листе, где она может принимать аргументы и возвращать значения.
  2. Как часть вашей подпрограммы VBA. В процедуре Sub или внутри других функций.
  3. В правилах условного форматирования.

Хотя Excel уже содержит более 450 встроенных функций, но их тоже периодически не хватает. Иногда встроенные функции не могут выполнить то, что вы хотите сделать. Иногда для достижения результата необходимо создать огромную и сложную формулу, которая не понятна окружающим. В этом случае вы можете создать пользовательскую функцию, которую легко читать и использовать.

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

В чем отличие процедуры (Sub) от функции (Function)?

Основное отличие в том, что процедура (sub) используется для выполнения набора команд, и не призвана в отличие от функции (function) возвращать значение (или массив значений).

Для демонстрации приведем пример. Например есть ряд чисел от 1 до 100 и необходимо отделить четные от нечетных.

С помощью процедуры (sub) вы можете, к примеру, пройтись по ячейкам и выделить нечетные с помощью заливки. А функцию можно использовать в соседнем столбце и она вернет ИСТИНА или ЛОЖЬ в зависимости от того четное значение или нет. Т.е. вы не сможете изменить цвет заливки с помощью функции на листе.

Создание простой пользовательской функции в VBA

Давайте создадим простую пользовательскую функцию на VBA и посмотрим как там все работает.

Ниже представлен код функции, которая из текста оставляет только цифры, отбрасывая буквенные значения.

Чтобы у вас все заработало, необходимо вставить данный код в модуль книги. Если вы не знаете как это сделать, то начните со статьи Как записать макрос в Excel.

Теперь посмотрим как функция работает, попробуем использовать ее на листе:

Прежде чем разбирать саму функцию отметим 2 приятных момента, которые появились после создания:

  • Она стала доступна, как и любая другая встроенная функция (как создать скрытую функцию, расскажем далее).
  • Когда вы ввели знак "=" и начинаете вводить имя функции, то Excel выводит все совпадения и показывает не только встроенные функции, но и пользовательские.

Разбираем функцию пошагово

Теперь давайте глубоко погрузимся и посмотрим, как эта функция создавалась. Начинается функция со строки

Слово Function говорит о начале функции, далее идет ее название, в нашем случае Цифры.

  • Имя функции не может содержать пробелов. Кроме того, вы не можете назвать функцию, если она сталкивается с именем ссылки на ячейку. Например, вы не можете назвать функцию ABC123, так как это имя также относится к ячейке в листе Excel.
  • Вы не должны указывать на свою функцию то же имя, что и у существующей функции. Если вы это сделаете, Excel будет отдавать предпочтение встроенной функции.
  • Вы можете использовать символ подчеркивания, если хотите разделить слова. Например, Сумма_Прописью является допустимым именем.

После названия в круглых скобках описываются аргументы функции. По аналогии со встроенными функциями Excel. В нашем случае используется единственный аргумент Текст. После названия аргумента мы указали As String, это означает, что наш аргумент — текстовое значение или ссылка на ячейку, содержащее текстовое значение. Если вы не укажете тип данных, VBA рассмотрит его как Variant (что означает, что вы можете использовать любой тип данных, VBA его определит самостоятельно).

Последняя часть первой строки As Long задает тип данных, которая возвращает функция. В нашем случае функция будет возвращать целые значения. Это также не обязательно.

Вторая и третья строка функции объявляет дополнительные внутренние переменные, которые мы будем использовать.

Переменную i мы буем использовать для перебора символов. А переменную result для хранения промежуточного результата функции.

Задача функции — пройти по всем символам переменной Текст и сохранить только те, что являются цифрами. Поэтому начнем цикл с 1 и до последнего символа.

Len — функция, которая определяет количество символов.

Основная строка функции — это проверка является ли очередной символ текста цифрой и если да — то сохранение его в переменной result

Для этого нам потребуется функция IsNumeric — она возвращает True если текст — число и False в противном случае.

Функция Mid берет из аргумента Текст i-ый символ (значение 1, указывает что функция Mid берет только 1 символ)/

Функция Next — закрывает цикл For тут все понятно.

Этой строкой мы преобразовываем текстовую переменную result, которая содержит все цифры аргумента Текст, в числовое значение. И говорим какой результат должна вывести наша функция Цифры.

Последняя строка кода — End Function. Это обязательная строка кода, которая сообщает VBA, что код функции заканчивается здесь.

В приведенном выше коде описаны различные части типичной пользовательской функции, созданной в VBA. В следующих статьях мы более подробно разберем эти элементы, а также рассмотрим различные способы выполнения функции VBA в Excel.

Ссылка на основную публикацию