Что может быть задано в качестве аргумента функции excel

Excel для Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Функции — это заранее определенные формулы, которые выполняют вычисления по заданным величинам, называемым аргументами, и в указанном порядке. Эти функции позволяют выполнять как простые, так и сложные вычисления. Все функции Excel можно найти на вкладке «формулы» на ленте.

Вкладка "формулы Excel" на ленте

  • Синтаксис функции Excel

    В приведенном ниже примере функции ОКРУГЛ , округленной на число в ячейке A10, показан синтаксис функции.

    Структура функции

    1. Structure. Структура функции начинается со знака равенства (=), за которым следует имя функции, открывающую круглую скобку, аргументы функции, разделенные запятыми, и закрывающая круглая скобка.

    2. имя функции. Чтобы просмотреть список доступных функций, щелкните ячейку и нажмите клавиши SHIFT + F3, чтобы открыть диалоговое окно Вставка функции .

    Формулы Excel — диалоговое окно "Вставка функции"

    3. аргументы. Аргументы могут быть числами, текстом, логическими значениями, такими как Истина или ложь, массивами, значениями ошибок, например #N/a или ссылками на ячейки. Используемый аргумент должен возвращать значение, допустимое для данного аргумента. В качестве аргументов также используются константы, формулы и другие функции.

    4. всплывающая подсказка аргумента. При вводе функции появляется всплывающая подсказка с синтаксисом и аргументами. Например, всплывающая подсказка появляется после ввода выражения =ОКРУГЛ(. Всплывающие подсказки отображаются только для встроенных функций.

    Примечание: Вам не нужно вводить функции во все прописные буквы, например = «ОКРУГЛИТЬ», так как Excel автоматически заполнит ввод имени функции после нажатия кнопки «Добавить». Если вы неправильно наводите имя функции, например = СУМА (a1: A10), а не = сумм (a1: A10), Excel вернет #NAME? Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!.

  • Ввод функций Excel

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

    Мастер функций Excel

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

    Автозаполнение формул Excel

  • Вложение функций Excel

    В некоторых случаях может потребоваться использовать функцию в качестве одного из аргументов другой функции. Например, в следующей формуле используется вложенная функция СРЗНАЧ , а результат сравнивается со значением 50.

    Вложенные функции

    1. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

    Допустимые типы вычисляемых значений    Вложенная функция, используемая в качестве аргумента, должна возвращать соответствующий ему тип данных. Например, если аргумент должен быть логическим, т. е. иметь значение ИСТИНА либо ЛОЖЬ, вложенная функция также должна возвращать логическое значение (ИСТИНА или ЛОЖЬ). В противном случае Excel выдаст ошибку «#ЗНАЧ!».

    <c0>Предельное количество уровней вложенности функций</c0>.    В формулах можно использовать до семи уровней вложенных функций. Если функция Б является аргументом функции А, функция Б находится на втором уровне вложенности. Например, функция СРЗНАЧ и функция сумм являются функциями второго уровня, если они используются в качестве аргументов функции если. Функция, вложенная в качестве аргумента в функцию СРЗНАЧ, будет функцией третьего уровня, и т. д.

Нужна дополнительная помощь?

    1. .Аргументы функций

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

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

Если при описании
синтаксиса функции за аргументом следует
многоточие (…), то это означает, что
может быть несколько аргументов такого
же типа. Некоторые функции могут иметь
до 30 аргументов, при условии, что общее
количество символов в формуле не
превышает 1024. Например, синтаксис функции
МАКС имеет следующий вид:

МАКС(число1;число2;
…)

Любая из следующих
формул является допустимой:

МАКС(26)

МАКС(26;31)

МАКС(26;31;29)

Функции с пустой
парой скобок после имени не требуют
аргументов, тем не менее необходимо
включать эти пустые скобки в формулу,
чтобы Microsoft
Excel
распознал функцию.

Многие имена
аргументов в описании синтаксиса функции
намекают на то, какую информацию следует
задавать в качестве фактического
значения аргумента. Например, у функции
ОКРУГЛ(число; количество_цифр) первый
аргумент должен быть числом и второй
также должен быть числом.

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

Использование
аргументов

Аргументом может
быть все, что доставляет значение
требуемого типа. Например, функция СУММ,
которая суммирует свои аргументы, может
воспринять от 1 до 30 аргументов. Функции
СУММ могут быть переданы аргументы
любого из следующих четырех видов, лишь
бы они доставляли число или числа:

– значение, которое
является числом, например: СУММ(1;10;100);

– формула, которая
своим результатом имеет число, например:
СУММ(0,5+0,5;СРЗНАЧ(5;5);10^2).
Функции, которые используются в качестве
аргументов других функций, как в
предшествующем примере, называются
вложенными функциями. В этом примере
функция СРЗНАЧ
является аргументом функции СУММ.
Уровень вложенности функций в формулах
может достигать семи;

– ссылка на ячейку
или на интервал ячеек, который содержат
числа или формулы, доставляющие числа,
например:

СУММ(A1;A2)

СУММ(A1:A5)

Второй пример
эквивалентен формуле СУММ(A1;A2;A3;A4;A5).
Преимущество использования интервала
состоит в том, что аргумент A1:A5
считается за один аргумент, в то время
как А1, А2, А3,
А4, А5
считаются
за пять аргументов. Если требуется
сложить более 30 чисел, то придется
использовать интервалы, потому что
функция не может иметь более 30 аргументов;

– имя, которое
ссылается на значение, формулу, ячейку
или интервал ячеек, содержащие числа
или формулы, доставляющие числа, например:
СУММ(Основание;
Приращение).

Типы аргументов.
Аргументами
функций могут быть любые из следующих
объектов.

Числа.
Примерами чисел являются 5,003, 0, 150,286 и
-30,05. Числа без десятичной запятой
называются целыми. Примерами целых
являются 5, 0, 150, и -30. Числа могут иметь
до 15 значащих цифр.

Текст.
Примерами текстов являются «а»,
«Слово», «знак/пунктуации» и
«» (пустой текст). Текстовые значения,
используемые в формулах, должны быть
заключены в двойные кавычки. Если сам
текст содержит двойные кавычки, то их
следует удваивать. Например, чтобы
определить длину (в символах) текста «в
«доброе» старое время», можно
использовать формулу:

ДЛСТР(«в
«»доброе»» старое время»)

Текстовые значения
могут иметь до 32000 символов, считая
двойные кавычки. Текстовая константа,
которая не содержит символов, записывается
так: «» и называется «пустой
текст».

Примечание.
Если текст, используемый в качестве
аргумента, не заключен в двойные кавычки,
то Microsoft
Excel
предполагает,
что это имя, и пытается подставить вместо
него значение, на которое имя ссылается.
Если текст без кавычек не является
именем, и, следовательно, не имеет
значения, Microsoft
Excel
вернет значение ошибки #ИМЯ?.

Логические
значения.

Логическими значениями являются ИСТИНА
и ЛОЖЬ. Логическими аргументами могут
быть также выражения, такие, как B10>20,
значениями которых являются значения
ИСТИНА или ЛОЖЬ.

Значения ошибки.
Значениями ошибки являются #ДЕЛ/0!,
#Н/Д, #ИМЯ?, #ПУСТО!, #ЧИСЛО!, #ССЫЛКА!

и #ЗНАЧ!.

Ссылки.
Примерами
ссылок являются $А$10,
A10, $A10, A$10, R1C1

или R[10]C[-10].
Ссылки могут указывать на отдельные
ячейки, интервалы ячеек или множественные
выделения ячеек и могут быть относительными,
абсолютными или смешанными. Если ссылка
используется в качестве аргумента,
который должен быть числом, текстом,
логическим значением или значением
ошибки, то в качестве фактического
аргумента используется содержимое
ячейки, определяемой ссылкой.

Функции, которые
возвращают ссылки, показывают значения,
на которые указывают ссылки, а не сами
ссылки. Чтобы представить множественное
выделение как один ссылочный аргумент,
нужно заключить его в еще одну пару
скобок, например:

СУММ((E5:E8;E10:E18);
СРЗНАЧ(A1:A5))

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

Использование
точек с запятой в списке аргументов

Отдельные аргументы
должны быть разделены точками с запятой,
но при этом не должно быть лишних точек
с запятой. Если точка с запятой используется
только для того, чтобы отметить место
аргумента, а сам аргумент не указывается,
то Microsoft
Excel
подставляет значение по умолчанию для
этого аргумента, если только аргумент
не является обязательным. Например,
если ввести (;арг2;арг3) в качестве списка
аргументов для функции с тремя аргументами,
то Microsoft
Excel
подставит подходящее значение вместо
арг1. Если ввести (арг1;;), то будут
подставлены подходящие значения вместо
арг2 и арг3.

Для тех функций,
которые считают количество аргументов
до вычисления, лишние точки с запятой
будут учитываться при подсчете числа
аргументов и, следовательно, будут
влиять на способ вычисления значения
функции. Например, СРЗНАЧ(1;2;3;4;5)
равно 3, но СРЗНАЧ(;;1;2;3;4;5)
равно 2,14.

Для большинства
аргументов значение, подставляемое
вместо опущенного аргумента, это 0, ЛОЖЬ
или «» (пустой текст), в зависимости
от того, каков должен быть тип аргумента.
Для опущенного ссылочного аргумента
значением по умолчанию обычно является
активная ячейка или выделение.

Соседние файлы в папке Справочные материалы

  • #
  • #
  • #
  • #

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

Лучший способ вставки функции — использование диалогового окна Мастер функций. Это окно вызывается любым из следующих способов.

  • Нажмите кнопку Вставить функцию, расположенную в группе Формулы ► Библиотека функций.
  • Нажмите кнопку Вставить функцию слева от строки формул.
  • Нажмите Shift+F3.

Если вы не знаете имя функции, которая вам нужна, то можете найти ее, набрав текст в поле Поиск функции и нажав кнопку Найти (рис. 80.1). После того как вы определите функцию, нажмите кнопку ОК, и вы увидите окно Аргументы функции, которое ознакомит вас с аргументами данной функции, как показано на рис. 80.2.

Рис. 80.1. Используйте окно Мастер функций, чтобы найти нужную вам функцию

Рис. 80.1. Используйте окно Мастер функций, чтобы найти нужную вам функцию

Между прочим, если вы вводите функцию вручную (без помощи диалогового окна Мастер функций), то можете нажать Ctrl+A для открытия диалогового окна Аргументы функции. Это сочетание клавиш работает, только если вы еще не вводили какие-либо аргументы для функции.

Рис. 80.2. Окно Аргументы функции помогает ввести аргументы функции

Рис. 80.2. Окно Аргументы функции помогает ввести аргументы функции

В некоторых случаях вы можете включить «фиктивные» аргументы для функции — заполнители, которые позже будут заменены. Этот подход окажется полезным, если вы еще не знаете, ссылки на какие ячейки будут использованы. Для вставки названий аргументов в качестве заполнителей нажмите Ctrl+Shift+A после ввода имени функции. Excel использует названия аргумента в качестве самих аргументов.

Например, если нажать Ctrl+Shift+A при вводе функции ВПР, то Excel вставит следующие названия: =ВПР(искомое_значение;таблица;номер_столбца;интервальный_просмотр). Формула, конечно, возвращает ошибку, так что вы должны заменить фиктивные аргументы фактическими значениями или ссылками на ячейки.

Содержание

      • 0.0.1 Аргумент Excel. Теория
      • 0.0.2 Как удобно найти и выделить аргументы функции?
      • 0.0.3 Что еще важно сказать
  • 1 Аргументы функции Excel
  • 2 Как вставить функцию в Excel
  • 3 Пример создания своей пользовательской функции в Excel
  • 4 Примеры использования пользовательских функций, которых нет в Excel

Работа с большими формулами бывает проблематична даже для опытных пользователей. Самое трудное — это разбираться в чужой конструкции и понять как она работает . Недавно в рамках обучения, меня попросили разобрать несколько сложных формул, причем выяснилось, что формулы действительно награможденные — я насчитал 7-8 ЕСЛИ и еще примерно 5-6 прочих функций в одной ячейке. В таких ситуациях очень важно определить, что является аргументом каждой функции. Поэтому я решил написать небольшую статью про важную штуку — аргумент Excel и его роль в вычислениях. А самое главное, опишу в статье — как удобно найти и выделить каждый из аргументов, при написании огромных формул.

Считаю нужно вначале сказать пару слов банальной теории.

Аргумент Excel. Теория

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

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

Пример:

=ДЕНЬНЕД(дата_в_числовом_формате;)

Где «дата_в_числовом_формате» должна быть обязательно заполнена, а  — можно не вносить, причем даже точку с запятой ставить необязательно.

Важно отметить, что функции могут и не содержать аргумента

Пример:

=СЕГОДНЯ()

А могут и быть с непостоянным количеством аргументов, как:

=СУММЕСЛИМН()

Как удобно найти и выделить аргументы функции?

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

На примере кликните «искомое значение» и в самой формуле оно подстветится выделением.

Для удобства так же прикладываю гифку

Но бывают записи и потяжелее. Такие:

Или такие

Формулы не мои, надеюсь создатели не обидятся. Уверен многие (я в том числе) встречали горы символов и посерьезнее. В таких конструкциях разобраться без возможности выделения бывает крайне сложно.

Что еще важно сказать

При подобных конструкциях очень важно разобраться формулу по частям, выделить ее аргумент. Имеющийся в Excel метод выделения аргумента очень удобен. Так же я могу посоветовать разнести каждую функцию на новую строку при помощи Alt + Enter — тоже очень помогает — подробнее здесь.

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

К примеру, вам непонятно как работает функция в примере (специально не заполнил 4й аргумент ВПР).

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

Из этой подсказки вы сможете перейти на любой из аргументов, кликнув на него

А также можете перейти в справку, кликнув на название самой формулы, в данном случае ВПР.

Удачных разборов своих и чужих формул! Пишите ваши замечания.

Поделитесь нашей статьей в ваших соцсетях:

(Visited 523 times, 1 visits today)

как сделать аргументы функции в excelДата: 27 декабря 2015 Категория: Excel Поделиться, добавить в закладки или статью

Здравствуйте, друзья! Это вводная статья о функциях Excel, где я расскажу, что такое функции, аргументы функции, как вставить функцию в формулу. А в следующих постах мы будем разбираться, какие есть функции Эксель и как их правильно использовать.

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

Вы можете «вкладывать» одну функцию в другую, копировать формулы с функциями (не забываем о разных типах ссылок). Главное – чётко понимать, как работает функция, иначе она может дать неверный результат или ошибку. Вы можете и не заметить этого. А чтобы разобраться в работе функций – читайте мои посты о различных функциях и справку Microsoft.

С появлением каждой новой версии Эксель, перечень функций обновляется. Разработчики добавляют новые, востребованные, убирают функции, которые уже не актуальны. В этом блоге я буду описывать функции Microsoft Excel 2013, но отвечу на все вопросы о функциях в других версиях программы. Как всегда, задавайте их в комментариях.

Аргументы функций – это исхоные данные для расчета функции. Например, для функции СУММ (суммирование) – это перечень чисел, ячеек или диапазонов ячеек для суммирования. Аргументы указываются в скобках после имени функции и разделяются точкой с запятой (в англоязычной версии — запятой). По количеству аргументов, функции могут быть:

  • Без аргументов – не нуждаются в аргументах для расчета. Например, =ПИ() – возвращает число 3,1428.
  • С одним аргументом – нужно ввести всего один аргумент. Например =СТРОЧН(А1) – переведёт в строчный вид все символы в ячейке А1.
  • С несколькими аргументами – нужно ввести определенное число аргументов, больше одного. Например, функция =ПСТР(А1;1;10) вернёт первые 10 символов из строки в ячейке А1.
  • С необязательными аргументами – функция имеет аргументы, которые указывать необязательно. Например, =ВПР(«Иванов»;А1:В30;2;0) будет искать фамилию «Иванов» в диапазоне А1:В30 и вернёт информацию о нём. Последний аргумент здесь – «Интервальный просмотр» — обозначает способ поиска, его указывать необязательно.
  • С переменным количеством аргументов – количество аргументов может изменяться. Например, =СРЗНАЧ(А1;В3:В15;С2:F2) – посчитает среднее значение цифр в указанных диапазонах. Перечисляя ячейки через точку с запятой, вы можете задать разное количество аргументов.

Как вставить функцию в Excel

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

  1. Если вы знаете имя функции – начните его записывать с клавиатуры, инструмент «Автозаполнение» предложит варианты функций, выберите в списке нужную, нажмите TAB и вводите аргументы;
    как сделать аргументы функции в excelАвтозаполнение при ручном вводе функции
  2. Еще один способ, если вы знакомы с перечнем функций – выбрать на ленте: Формулы – Библиотека функций. В этой группе собраны функции по типам: логические, текстовые, математические и др. Открыв нужную группу – выберите функцию и перейдите к заполнению аргументов.
    как сделать аргументы функции в excelВыбор функции на ленте

Если имя функции вам неизвестно, воспользуйтесь окном Вставка функции. Чтобы его вызвать – попробуйте один из способов:

  1. Нажмите комбинацию клавиш SHIFT+F3
  2. Выполните на ленте Формулы – Библиотека функций – Вставить функцию
  3. Нажать на значок fx слева от строки формул
    как сделать аргументы функции в excelОкно «Вставка функции»

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

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

как сделать аргументы функции в excelОкно» Аргументы функции»

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

Вот и всё о вставке функций на лист, а в следующей статье мы начнём рассматривать текстовые функции. До встречи на страницах блога OfficeЛЕГКО.com!

Поделиться, добавить в закладки или статью

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

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

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

  1. Открыть редактор языка VBA с помощью комбинации клавиш ALT+F11.
  2. В открывшемся окне выбрать пункт Insert и подпункт Module, как показано на рисунке:
  3. Новый модуль будет создан автоматически, при этом в основной части окна редактора появится окно для ввода кода:
  4. При необходимости можно изменить название модуля.
  5. В отличие от макросов, код которых должен находиться между операторами Sub и End Sub, пользовательские функции обозначают операторами Function и End Function соответственно. В состав пользовательской функции входят название (произвольное имя, отражающее ее суть), список параметров (аргументов) с объявлением их типов, если они требуются (некоторые могут не принимать аргументов), тип возвращаемого значения, тело функции (код, отражающий логику ее работы), а также оператор End Function. Пример простой пользовательской функции, возвращающей названия дня недели в зависимости от указанного номера, представлен на рисунке ниже:
  6. После ввода представленного выше кода необходимо нажать комбинацию клавиш Ctrl+S или специальный значок в левом верхнем углу редактора кода для сохранения.
  7. Чтобы воспользоваться созданной функцией, необходимо вернуться к табличному редактору Excel, установить курсор в любую ячейку и ввести название пользовательской функции после символа «=»:

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

Чтобы задокументировать пользовательскую функцию, необходимо выполнить следующие действия:

  1. Создайте новый макрос (нажмите комбинацию клавиш Alt+F8), в появившемся окне введите произвольное название нового макроса, нажмите кнопку Создать:
  2. В результате будет создан новый модуль с заготовкой, ограниченной операторами Sub и End Sub.
  3. Введите код, как показано на рисунке ниже, указав требуемое количество переменных (в зависимости от числа аргументов пользовательской функции):
  4. В качестве «Macro» должна быть передана текстовая строка с названием пользовательской функции, в качестве «Description» — переменная типа String с текстом описания возвращаемого значения, в качестве «ArgumentDescriptions» — массив переменных типа String с текстами описаний аргументов пользовательской функции.
  5. Для создания описания пользовательской функции достаточно один раз выполнить созданный выше модуль. Теперь при вызове пользовательской функции (или SHIFT+F3) отображается описание возвращаемого результата и переменной:

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

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

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

Вид исходной таблицы данных:

Каждому работнику полагается 24 выходных дня с выплатой S=N*24/(365-n), где:

  • N – суммарная зарплата за год;
  • n – число праздничных дней в году.

Создадим пользовательскую функцию для расчета на основе данной формулы:

Код примера:

Public Function Otpusknye(summZp As Long, holidays As Long) As Long
If IsNumeric(holidays) = False Or IsNumeric(summZp) = False Then
    Otpusknye = "Введены нечисловые данные"
    Exit Function
ElseIf holidays
Функции представляют собой зависимость одного элемента (результата) от других элементов (аргументов,.. тех, что внутри :-)). Это как бы понятно. Для того чтобы использовать какую-либо функцию в Excel, следует ввести ее как формулу (нюансы описаны тут) или как часть формулы в ячейку рабочего листа. Последовательность, в которой должны располагаться применяемые в формуле символы и аргументы, называется синтаксисом функции. Все функции используют одинаковые правила синтаксиса. Если нарушить эти правила, то Excel выдаст сообщение о том, что в формуле имеется ошибка и не будет с вами дружить. Но поверьте, в функциях Excel все достаточно однотипно и разобравшись один раз, на одной-двух функциях, в остальных случаях все будет достаточно просто. Правила синтаксиса при записи функций Далее рассмотрены правила, которым необходимо следовать для грамотного и оптимального построения формулы с использованием одной или нескольких функций. Если функция появляется в самом начале формулы, ей должен предшествовать знак равенства, как это имеет место в начале любой формулы. Я об этом уже говорил в предыдущих статьях, но не грех ещё повторить. После этого вводится имя функции и сразу за ним – список аргументов в круглых скобках. Аргументы отделяются друг от друга точкой с запятой «;». Скобки позволяют Excel определить, где начинается и где заканчивается список аргументов. как сделать аргументы функции в excel Функция Excel Заметьте, в записи функции обязательно должны присутствовать открывающая и закрывающая скобки, при этом нельзя вставлять пробелы между названием функции и скобками. В противном случае Excel выдаст сообщение об ошибке. В качестве аргументов можно использовать числа, текст, логические значения, массивы, значения ошибок или ссылки. При этом параметры, задаваемые пользователем, должны иметь допустимые для данного аргумента значения. Например, в приведенной ниже формуле осуществляется суммирование значений в ячейках В2, В3, В4, В5 и Е7, причем часть ячеек — от В2 до В5, представлены как непрерывный диапазон. как сделать аргументы функции в excelАргументы функции Excel Рассмотрим работу функции ОКРУГЛ(арг1;арг2), которая возвращает число, округленное до заданного количества знаков после запятой, и имеет два аргумента: арг1 – адрес ячейки с числом (или само число), которое нужно округлить; арг2 – количество цифр после запятой у числа после округления.
Чтобы округлить число 2,71828, находящееся в ячейке A1, с точностью до одного, двух или трех знаков после запятой и записать результаты вычислений соответственно в ячейки B1, C1 и D1, необходимо действовать следующим образом. Ввести число 2,71828 в ячейку A1. Ввести в ячейки B1, C1 и D1 формулы следующего вида: =ОКРУГЛ(A1;1) =ОКРУГЛ(A1;2) =ОКРУГЛ(A1;3) Аргументы могут быть как константами, так и функциями. Функции, которые являются аргументами другой функции, называются вложенными. Например, просуммируем значения ячеек А1 и А2, предварительно округлив эти значения до двух десятичных знаков: =СУММ(ОКРУГЛ(A1;2);ОКРУГЛ(A2;2)) Здесь функция ОКРУГЛ является вложенной аж два раза, но это не страшно, в формулах Excel можно использовать до семи уровней вложенности функций. Стоит отметить, что в Excel существуют функции, которые не имеют аргументов. Примерами таких функций являются ПИ (возвращает значение числа π, округленное до 15 знаков) или СЕГОДНЯ (возвращает текущую дату). При использовании подобных функций следует в строке формул сразу после названия функции ставить пустые круглые скобки без аргументов. Другими словами, чтобы получить в ячейках значение числа p или текущую дату, следует ввести формулы такого вида: =ПИ() =СЕГОДНЯ() Типы функций Excel Для удобства работы пользователя при построении формул функции в Excel разбиты по категориям: функции управления базами данных и списками, функции даты и времени, финансовые, статистические, текстовые, математические, логические. Текстовые функции используются для обработки текста, а именно: поиска нужных символов, записи символов в строго определенное место текста и т.д. С помощью функций Даты и времени можно решить практически любые задачи, связанные с учетом календарных дат или времени (например, рассчитать число рабочих дней для любого промежутка времени). Логические функции используются при создании сложных формул, которые в зависимости от выполнения тех или иных условий будут реализовывать различные виды обработки данных. Они особо интересны, и о них поговорим в отдельной статье. В Excel широко представлены Математические функции и некоторые я уже привел в примерах. В распоряжении пользователя также находится библиотека Статистических функций, при помощи которой можно осуществлять поиск среднего значения, максимального и минимального элементов и пр.

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

Функция может:

• не иметь ни одного аргумента;
• иметь один аргумент;
• иметь фиксированное количество аргументов;
• иметь неограниченное количество аргументов;
• иметь необязательные аргументы.

Например, функция СЛЧИС, которая возвращает случайное число между нулем и единицей, не имеет аргументов. Но даже при отсутствии аргументов необходимо ввести пустую пару скобок:

=СЛЧИС()

Если функция имеет больше одного аргумента, то все они отделяются друг от друга точкой с запятой. В функции НАИБОЛЬШИЙ, которая возвращает n-ое по величине значение из множества данных, используются два аргумента. Первый из них задает диапазон значений, а второй – значение n. Приведенная ниже формула возвращает третье по величине значение ячеек диапазона А1:А100:

=НАИБОЛЬШИЙ(А1:А100;3)

Примечание

Символы разделителей определяются в окне региональных стандартов Windows. Если в этом окне установлен русский формат, разделителем списка служит точка с запятой, а десятичным разделителем – запятая. Если же установлен формат США, разделителем списка будет запятая, а десятичным разделителем – точка. Переключите формат в Windows, и вы увидите, что символы разделителей в формулах автоматически изменятся. Кроме разделителей, установленный формат влияет на отображение дат, времени, денежных значений и т.д.

В помощь пользователям, работавшим в Lotus 1-2-3

Если вам приходилось работать в одной из версий Lotus 1-2-3 (или Quattro Pro компании Corel), то вы, наверное, помните, что в этих электронных таблицах перед именем функции должен стоять символ @. Программа Excel способна распознать функцию и без отличительного символа.

От старых привычек трудно избавиться, и поэтому Excel воспринимает символы @ при вводе формул. Как только вы введете формулу, символ @ будет удален.

В качестве оператора ссылки на диапазон в Lotus 1-2-3 и Quattro Pro используются две точки (..), например A1..A10. Excel позволяет использовать такой оператор при вводе формулы. Однако как только формула будет введена, Excel заменит его собственным оператором ссылки на диапазон – двоеточием (:).

Использование имен в качестве аргументов

В качестве аргументов функций могут использоваться имена, т.е. ссылки на ячейки и диапазоны. Выполняя вычисления, Excel просто использует текущее содержимое ячейки или диапазона. Функция СУММ возвращает сумму своих аргументов (или аргумента). Например, вычислить сумму значений диапазона А1:А20 можно с помощью такой формулы:

=СУММ(А1:А20)

Если диапазон А1:А20 имеет имя (например, Продажи), то оно может быть использовано вместо ссылки на диапазон:

=СУММ(Продажи)

Использование столбцов и строк в качестве аргументов

Иногда в качестве аргумента функции удобно использовать строку или столбец полностью. К примеру, следующая формула возвращает сумму всех значений столбца В:

=СУММ(В:В)

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

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

Использование литералов в качестве аргументов

Литерал – это числовое значение или текстовая строка, которые указаны непосредственно в выражении. Например, функция КОРЕНЬ, которая возвращает значение квадратного корня, имеет один аргумент. В следующем примере в качестве аргумента функции используется литерал:

=КОРЕНЬ(225)

В некоторых случаях использование литерального аргумента лишает формулу всякого смысла. Эта формула всегда возвращает одно и то же значение, поэтому ее можно просто заменить цифрой 15. Использовать такую формулу можно разве что в случае, когда вы хотите дать понять, что 15 – это квадратный корень из 225.

Использование литералов оправдано, если формула имеет два и более аргументов. Функция ЛЕВСИМВ, имеющая два аргумента, возвращает крайние левые символы текстовой строки, являющейся первым аргументом функции. Второй аргумент определяет количество возвращаемых символов. Если ячейка А1 содержит текст Бюджет, следующая формула возвращает первую букву, т.е. Б:

=ЛЕВСИМВ(А1;1)

Использование выражений в качестве аргументов

Excel позволяет использовать в качестве аргументов выражения. Такие выражения следует рассматривать как формулы в формуле. Если в качестве аргумента используется выражение, Excel сначала вычисляет значение этого выражения, а затем использует его в качестве аргумента. Рассмотрим следующий пример:

=КОРЕНЬ((А1^2)+(А2^2))

В этой формуле используется функция КОРЕНЬ, единственным аргументом которой выступает следующее математическое выражение:

(А1^2)+(А2^2)

Вычисляя значение формулы, Excel сначала вычисляет значение выражения в аргументе функции, а затем извлекает квадратный корень из результата вычислений.

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

Итак, в качестве аргументов функций могут выступать математические выражения. Очевидно, что эти выражения, в свою очередь, содержат другие функции. Функции, которые используются внутри других функций, называются вложенными. Прежде всего, Excel оценивает значение выражения с наибольшей глубиной вложения, а затем – все остальные. Рассмотрим следующий пример вложенной функции:

=SIN(РАДИАНЫ(В9))

Функция РАДИАНЫ преобразует градусы в радианы – единицы измерения, которые используются во всех тригонометрических функциях Excel. Если в ячейке В9 задан угол в градусах, функция РАДИАНЫ преобразует градусы в радианы, а затем функция SIN вычисляет синус этого угла.

Формула может содержать не более 64 уровней вложенных функций. Вряд ли вы когда-либо напишете такое длинное выражение.

Использование массивов в качестве аргументов

В качестве аргумента функции может быть использован массив. Массив представляет собой ряд значений, разделенных точкой с запятой и заключенных в скобки. В приведенной ниже формуле используется функция ИЛИ, в качестве аргумента которой применен массив. Формула возвращает ИСТИНА, если ячейка А1 содержит значение 1, 3 или 5.

=ИЛИ(А1={1;3;5})

Очень часто использование массивов помогает упростить формулу. Например, следующая формула возвращает тот же результат, что и предыдущая, но в качестве аргумента в ней используется не массив, а функции ЕСЛИ. Как видите, формула с массивом намного проще.

=ЕСЛИ(А1=1;ИСТИНА;ЕСЛИ(А1=3;ИСТИНА;ЕСЛИ(А1=5;ИСТИНА;ЛОЖЬ)))

В начало

Полезное

Знакомство с функциями в Excel

​Смотрите также​​ проверяемое значение, которое​Выделяем первую таблицу. Условное​Разберем синтаксис функции:​ отдельных ячейках. Для​ функции СУММ задана​Функция ВЫБОР находит и​(ПОДСТАВИТЬ) имеет вот​1​ не вызовет у​ ссылки на ячейку,​ВПР​ в Excel формулу​ B (поскольку B​ же строке.​ при таких операциях.​ Excel называется «Concatenate».​Функция в Excel​ можно задать непосредственно​ форматирование – создать​Логическое_выражение – ЧТО оператор​

​ столбца «Дата» установлен​ с помощью функции​ возвращает значение из​ такой синтаксис:​, функция​ Вас затруднений:​ чтобы связать текстовую​в пределах рабочей​ с​ – это второй​В самом привычном применении,​Результирующая таблица показана на​

Синтаксис функций в Excel

​ В остальном все,​– это предустановленная​ в формулу или​ правило – использовать​ проверяет (текстовые либо​ формат «Дата». Если​ ВЫБОР.​ списка аргументов, используя​SUBSTITUTE(text,old_text,new_text,instance_num)​ВПР​=VLOOKUP(50,$A$2:$B$15,2,FALSE)​ строку.​ книги.​ВПР​ столбец в диапазоне​

Функции в Excel

​ функция​ снимке:​ описанное ниже, соответствует​ формула, которая выполняет​​ как ссылку на​​ формулу для определения​ числовые данные ячейки).​ использовать только функцию​

Работа с аргументами

​Данная функция хорошо обрабатывает​ номер индекса. Может​ПОДСТАВИТЬ(текст;стар_текст;нов_текст;номер_вхождения)​сообщит об ошибке​=ВПР(50;$A$2:$B$15;2;ЛОЖЬ)​Как видно на рисунке​Как и во многих​, которая ссылается на​ A2:B15).​ВПР​Иногда пользователю необходимо выполнить​

​ и англоязычной версии​​ вычисления, используя заданные​​ ячейку, содержащую это​ форматируемых ячеек:​Значение_если_истина – ЧТО появится​ СЦЕПИТЬ, дата отобразится​ в качестве значений​

Функции в Excel

​ обработать до 254​text​#VALUE!​​Обратите внимание, что наш​​ ниже, функция​ других функциях, в​ другую рабочую книгу:​

Функции в Excel

​Если значение аргумента​

office-guru.ru

Функция СЦЕПИТЬ в Excel: синтаксис, использование, примеры

​ищет в базе​ противоположную задачу: разделить​ – синтаксис, применение​ значения в определенном​ значение.​В строку формул записываем:​ в ячейке, когда​ в числовом формате.​ простые списки чисел.​ значений. Имеет простой​(текст) – текстовая​(#ЗНАЧ!). Если же​ диапазон поиска (столбец​ВПР​ВПР​

Функция «Сцепить»

​Откройте обе книги. Это​col_index_num​ данных заданный уникальный​ значение в ячейке​ и примеры.​ порядке. В Excel​СИНТАКСИС:​ =СЧЕТЕСЛИ (сравниваемый диапазон;​ текст или число​ Поэтому добавим функцию​ Поэтому с ее​ синтаксис, но достаточно​ строка или ссылка,​ он больше количества​ A) содержит два​возвращает значение «Jeremy​Вы можете использовать​

​ не обязательно, но​(номер_столбца) меньше​ идентификатор и извлекает​ на составляющие по​Операция имеет следующий синтаксис:​ используется множество различных​=ЕЧИСЛО(значение)​ первая ячейка первой​ отвечают заданному условию​ ТЕКСТ для форматирования​ помощью можно вычислить​ широкие возможности. Рассмотрим​ где будет осуществлена​ столбцов в диапазоне​ значения​ Hill», поскольку его​ следующие символы подстановки:​ так проще создавать​1​

​ из базы какую-то​ какому-либо признаку. Функции​ СЦЕПИТЬ([текст2];[текст2];…). Количество строковых​ функций на все​АРГУМЕНТЫ:​ таблицы)=0. Сравниваемый диапазон​ (правдивы).​ чисел. Формула: Второй​ по номеру месяца​ лучшие из них​

Применение

​ замена текста.​table_array​50​ лицензионный ключ содержит​Знак вопроса (?) –​ формулу. Вы же​, то​ связанную с ним​ в Excel, обратной​ атрибутов может быть​ случаи жизни. С​1. значение -​ – это вторая​Значение,если_ложь – ЧТО появится​ аргумент функции ТЕКСТ​ финансовый квартал.​ на конкретных практических​

​old_text​(таблица), функция сообщит​– в ячейках​ последовательность символов из​ заменяет один любой​ не хотите вводить​ВПР​ информацию.​ СЦЕПИТЬ, нет, но​ каким угодно большим,​

Вызов функции СЦЕПИТЬ

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

Аргументы для соединения строк

​A5​ ячейки C1.​ символ.​ имя рабочей книги​сообщит об ошибке​Первая буква в названии​

​ есть несколько несложных​

​ главное, чтобы полученный​ ускорять выполнение задач,​ можно задать непосредственно​Чтобы вбить в формулу​ текст или число​ даты. Результат:​ и кварталов:​Синтаксис функции: =ВЫБОР(номер индекса;​ который надо заменить.​#REF!​и​Заметьте, что аргумент​Звёздочка (*) – заменяет​ вручную? Вдобавок, это​#VALUE!​ функции​ способов достичь желаемого​ текст соответствовал требованию​ упрощать формулы и​ в формулу или​

​ диапазон, просто выделяем​ НЕ отвечают заданному​Соединим сразу много ячеек​Так как финансовый год​ знач. 1; знач.​new_text​(#ССЫЛКА!).​A6​table_array​ любую последовательность символов.​ защитит Вас от​

Примеры

​(#ЗНАЧ!). А если​ВПР​ результата.​ к длине результирующего​ реализовывать вычисления, которые​ как ссылку на​ его первую ячейку​ условию (лживы).​ в строке. Если​ начался в апреле,​ 2; …).​(нов_текст) – текст,​Используйте абсолютные ссылки на​. Формула возвращает значение​(таблица) на скриншоте​Использование символов подстановки в​ случайных опечаток.​

​ оно больше количества​(VLOOKUP) означает​Первый – использование опции​ поля. В качестве​ невозможно было бы​

Аргументы даты для слияния

​ ячейку, содержащую это​ и последнюю. «=​

​Пример:​

​ писать формулу с​ месяцы 4, 5​Аргументы:​ который будет вставлен.​ ячейки в аргументе​

​ из ячейки​ сверху содержит имя​ функциях​Начните вводить функцию​ столбцов в диапазоне​В​ «Данные по столбцам»​ этих атрибутов могут​ выполнить без их​ значение.​ 0» означает команду​

​Оператор проверяет ячейку А1​ функцией СЦЕПИТЬ, получится​ и 6 попали​Номер индекса – порядковый​instance_num​table_array​B5​ таблицы (Table7) вместо​ВПР​ВПР​table_array​ертикальный (​ панели «Работа с​ быть как заранее​ использования. В данном​ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:​ поиска точных (а​

​ и сравнивает ее​ долго и малоэффективно.​

Таблица с результатами операций

Обратная функция

​ в первый квартал.​ номер выбираемого аргумента​(номер_вхождения) – номер​(таблица), чтобы при​. Почему? Потому что​ указания диапазона ячеек.​может пригодиться во​, а когда дело​(таблица), функция вернет​V​

​ данными» вкладки «Данные».​ определенные значения, так​ уроке Вы узнаете,​ФОРМУЛЫ МАССИВА:​ не приблизительных) значений.​ с 20. Это​ Используем маленькую хитрость.​ При введении аргументов​

  • ​ из списка значений.​ вхождения текста, который​ копировании формулы сохранялся​ при поиске точного​
  • ​ Так мы делали​ многих случаях, например:​ дойдёт до аргумента​
  • ​ ошибку​ertical). По ней Вы​ При вызове этой​ и данные на​

Данные по столбцам

​ что представляет собой​Функции работают в​Выбираем формат и устанавливаем,​

​ «логическое_выражение». Когда содержимое​

​ Вот наша строка​ функции, номера кварталов​ Может быть числом​ нужно заменить (не​ правильный диапазон поиска.​ совпадения функция​ в предыдущем примере.​Когда Вы не помните​table_array​#REF!​ можете отличить​ возможности появляется мастер​ листе Excel. При​

Другие возможности объединения строк

​ функция, какой у​ формулах массива​ как изменятся ячейки​ графы больше 20,​ со значениями в​ необходимо вводить в​

​ от 1 до​

​ обязательный аргумент).​ Попробуйте в качестве​ВПР​

Использование амперсанда

​И, наконец, давайте рассмотрим​ в точности текст,​(таблица), переключитесь на​(#ССЫЛКА!).​ВПР​ разделения, в котором​ этом типы данных​ нее синтаксис и​В КАКОЙ ВЕРСИИ EXCEL​ при соблюдении формулы.​ появляется истинная надпись​

​ отдельных ячейках. В​ том порядке, в​ 254, ссылкой на​Функция​ альтернативы использовать именованные​использует первое найденное​ поподробнее последний аргумент,​ который нужно найти.​ другую рабочую книгу​

​range_lookup​

fb.ru

Функция ВПР в Excel – руководство для начинающих: синтаксис и примеры

​от​ вы задаете параметры:​ элементы для объединения​ аргументы.​​ РАБОТАЕТ:​​ Лучше сделать заливку​ «больше 20». Нет​ ячейку Н1 ставим​ каком они находятся​ ячейку с числом​

​SUBSTITUTE​​ диапазоны или таблицы​​ значение, совпадающее с​ который указывается для​Когда Вы хотите найти​ и выделите в​(интервальный_просмотр) – определяет,​ГПР​Каким образом проводить разделение:​ не обязательно должны​Excel содержит ряд простых​В любой версии.​ цветом.​​ – «меньше или​​ знак «равно». Выделяем​

  • ​ в таблице.​
  • ​ от 1 до​
    • ​(ПОДСТАВИТЬ) может заменить​ в Excel.​ искомым.​
    • ​ функции​ какое-то слово, которое​ ней нужный диапазон​
    • ​ что нужно искать:​(HLOOKUP), которая осуществляет​ исходя из разделяющих​
    • ​ быть текстовыми.​ функций, которые могут​
  • ​Антон​Выделяем вторую таблицу. Условное​
  • ​ равно 20».​ диапазон со значениями​

Функция ВПР в Excel – общее описание и синтаксис

​В ячейку D8 пользователь​​ 254, массивом или​​ все повторения старого​Когда выполняете поиск приблизительного​Когда Вы используете функцию​ВПР​ является частью содержимого​ поиска.​точное совпадение, аргумент должен​ поиск значения в​​ знаков или по​​Для внесения атрибутов воспользуйтесь​ пригодиться для быстрого​: Здравствуйте. Excel 2010​ форматирование – создать​Внимание! Слова в формуле​ А1:F1. Вводим амперсанд​

​ вводит номер месяца.​ формулой.​​ текста, поэтому, если​​ совпадения, не забывайте,​ВПР​–​ ячейки. Знайте, что​На снимке экрана, показанном​ быть равен​

​ верхней строке диапазона​ количеству символов.​​ формой вставки функции.​​ нахождения суммы, средних​​ возвращает ошибку «Для​​ правило – использовать​​ необходимо брать в​​ & и пробел​ В ячейке D9​​Знач. 1; знач. 2;​​ Вам нужно заменить​​ что первый столбец​​для поиска приблизительного​range_lookup​ВПР​ ниже, видно формулу,​​FALSE​​ –​​Если с разделяющими знаками,​​ Для этого в​

​ величин, максимальных и​​ данной функции введено​​ формулу. Применяем тот​ кавычки. Чтобы Excel​ “ “. Жмем​ функция ВЫБОР вычисляет​ … — список​ только определённое вхождение,​

Синтаксис функции ВПР

​ в исследуемом диапазоне​​ совпадения, т.е. когда​​(интервальный_просмотр). Как уже​ищет по содержимому​

​ в которой для​
​(ЛОЖЬ);​

​Г​​ то какие именно​​ нужной ячейке впишите​ минимальных значений, а​ Слишком мало аргументов»​ же оператор (СЧЕТЕСЛИ).​ понял, что нужно​ F9. В строке​

  • ​ номер финансового квартала.​​ аргументов от 1​ используйте аргумент​ должен быть отсортирован​ аргумент​ упоминалось в начале​ ячейки целиком, как​ поиска задан диапазон​приблизительное совпадение, аргумент равен​оризонтальный (​ считать таковыми.​ знак равенства и​​ также для подсчета​​ для функции =СОВПАД(A1​

    ​Скачать все примеры функции​
    ​ выводить текстовые значения.​

​ формул появится формула​Можно так же вычислять​ до 254, из​instance_num​ по возрастанию.​​range_lookup​​ урока, этот аргумент​​ при включённой опции​​ в рабочей книге​

  • ​TRUE​​H​Определяете параметры каждого из​ нажмите кнопку со​​ данных. Чтобы правильно​​ B1), где А1​ ЕСЛИ в Excel​Еще один пример. Чтобы​ массива. Ставим курсор​​ грядущие даты. Эту​​ которого выбирается значение​(номер_вхождения).​И, наконец, помните о​(интервальный_просмотр) равен​ очень важен. Вы​Match entire cell content​PriceList.xlsx​(ИСТИНА) или вовсе​orizontal).​ полученных столбцов, и​ значком fx. В​​ использовать функции, вам​​ и В1 -​​Здесь вместо первой и​​ получить допуск к​​ в строку формул​​ задачу она решает​ или действие, соответствующее​Если нужно сделать замену​ важности четвертого аргумента.​​TRUE​​ можете получить абсолютно​

    ​(Ячейка целиком) в​
    ​на листе​

  • ​ не указан.​​Функция​ в какие именно​ открывшемся окне выбираете​ необходимо понять их​ ячейки формата «Текст»​ последней ячейки диапазона​ экзамену, студенты группы​ после знака «равно».​​ в совокупности с​​ номеру индекса. Первое​ без учёта регистра,​​ Используйте значения​​(ИСТИНА) или пропущен,​ разные результаты в​​ стандартном поиске Excel.​​Prices​Этот параметр не обязателен,​ВПР​

    ​ колонки записывать значения.​
    ​ нужный элемент и​

    ​ синтаксис, т.е. правило​​ с текстом, и​​ мы вставили имя​​ должны успешно сдать​​ Пишем название функции.​ функцией ДЕНЬНЕД. Например,​ значение – обязательный​ используйте функцию​TRUE​ первое, что Вы​

    Руководство по функции ВПР в Excel

​ одной и той​​Когда в ячейке содержатся​​.​​ но очень важен.​​доступна в версиях​​Второй способ – использование​​ нажимаете «Ок».​​ записи.​​ предлагает воспользоваться встроенным​ столбца, которое присвоили​ зачет. Результаты занесем​​ Фигурные скобки заменяем​​ пользователь делает небольшие​ аргумент. Последующие –​​REPLACE​​(ИСТИНА) или​

  • ​ должны сделать, –​​ же формуле при​ дополнительные пробелы в​
    • ​Функция​ Далее в этом​​ Excel 2013, Excel​​ команды VBA Split.​
    • ​Появляется новое окно для​​Для корректной работы, функция​​ редактором формул. Проблема​ ему заранее. Можно​

    ​ в таблицу с​ на круглые и​ отчеты о проделанной​ нет. Список аргументов-значений​​(ЗАМЕНИТЬ).​​FALSE​ выполнить сортировку диапазона​ его значении​ начале или в​ВПР​ учебнике по​

Примеры с функцией ВПР

​ 2010, Excel 2007,​​ Ее синтаксис:​​ ввода аргументов. Текстовые​ должна быть написана​ в том, что​ заполнять формулу любым​​ графами: список студентов,​​ жмем ВВОД. Получаем​ работе и сдает​

Как, используя ВПР, выполнить поиск на другом листе Excel

​ – числа, ссылки​При помощи функции​​(ЛОЖЬ) обдуманно, и​​ по первому столбцу​TRUE​ конце содержимого. В​будет работать даже,​ВПР​ Excel 2003, Excel​Split (Выражение,[Разделитель],[Количество строк],[Сравнение]).​

​ элементы вы пишете​​ в определенной последовательности,​​ формула введена при​ из способов. Но​ зачет, экзамен.​ нужный результат.​​ их начальнику каждый​​ на ячейки, имена,​SUBSTITUTE​ Вы избавитесь от​ в порядке возрастания.​(ПРАВДА) или​ такой ситуации Вы​​ когда Вы закроете​​я покажу Вам​ XP и Excel​​Атрибут «Выражение» является обязательным​​ прямо в полях,​

​ которая называется синтаксис.​
​ помощи редактора формул.​

​ с именем проще.​Обратите внимание: оператор ЕСЛИ​Соединим значения через косую​ вторник. Можно рассчитать​ формулы, функции или​(ПОДСТАВИТЬ), Вы можете​​ многих головных болей.​​Это очень важно, поскольку​FALSE​ можете долго ломать​ рабочую книгу, в​

​ несколько примеров, объясняющих​ 2000.​ – это строка​ ссылки на ячейки​ К базовому синтаксису​ Так же я​​Информационные функции подкатегории​​ должен проверить не​

​ черточку («-», «&»​
​ дату следующего вторника.​

Руководство по функции ВПР в Excel

​ текст.​ создать заголовок отчёта,​В следующих статьях нашего​ функция​(ЛОЖЬ).​ голову, пытаясь понять,​ которой производится поиск,​

​ как правильно составлять​​Функция​​ для разделения. «Разделитель»​ можно писать в​ функции относятся знак​ пытался ввести все​Проверки свойств и значений​ цифровой тип данных,​ и т.п.). Формула​В первом столбце вспомогательной​

Поиск в другой рабочей книге с помощью ВПР

​Если указать номер индекса​​ который автоматически изменяется​​ учебника по функции​ВПР​Для начала давайте выясним,​ почему формула не​ а в строке​ формулы для поиска​

​ВПР​ показывает знак, по​​ полях или просто​​ равенства (=), имя​​ вручную, различный синтаксис​​имеют одинаковый синтаксис​​ а текстовый. Поэтому​​ будет выглядеть так:​

​ таблицы – номера​
​ 1, то функция​

​ в зависимости от​ВПР​возвращает следующее наибольшее​​ что в Microsoft​​ работает.​ формул появится полный​

  1. ​ точного и приблизительного​(VLOOKUP) имеет вот​ которому исходный текст​ выделять нужные в​ функции (например, СУММ)​ с запятыми и​ =ЕФУНКЦИЯ() ISFUNCTION() ,​ мы прописали в​ = СЦЕПИТЬ (ссылка​
  2. ​ дней недели. В​​ вернет первое значение​​ того, какой регион​в Excel мы​​ значение после заданного,​​ Excel понимается под​Предположим, что Вы хотите​ путь к файлу​ совпадения.​ такой синтаксис:​

​ делится на части,​ самой таблице:​ и один или​ точками с запятыми​ поэтому они объеденены​​ формуле В2= «зач.».​​ на ячейку 1;​​ третьем столбце –​​ их перечня. Если​

Руководство по функции ВПР в Excel

​ выбран. В этом​​ будем изучать более​​ а затем поиск​ точным и приближенным​ найти определенного клиента​ рабочей книги, как​Я надеюсь, функция​VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])​ по умолчанию это​Параметры функции можно вносить​ более аргументов. Аргументы​

Руководство по функции ВПР в Excel

​ между аргументами, с​ в этой статье.​ В кавычки берем,​ «/»; ссылка на​ количество дней, которое​

​ индекс равен 2​
​ примере заголовок отчёта​

Как использовать именованный диапазон или таблицу в формулах с ВПР

​ продвинутые примеры, такие​ останавливается. Если Вы​ совпадением.​​ в базе данных,​​ показано ниже:​ВПР​ВПР(искомое_значение;таблица;номер_столбца;[интервальный_просмотр])​ пробел. «Количество строк»​ и прямо в​​ содержат информацию, которую​​ пробелами и без.​

​СИНТАКСИС:​ чтобы программа правильно​ ячейку 2).​ нужно прибавить к​​ – второе значение.​​ введён в ячейке​ как выполнение различных​

Руководство по функции ВПР в Excel

​ пренебрежете правильной сортировкой,​Если аргумент​ показанной ниже. Вы​Если название рабочей книги​​стала для Вас​​Как видите, функция​

​ определяет максимальное число​
​ окно содержимого ячейки.​

​ необходимо вычислить. В​ Результат — либо​=ЕЛОГИЧ(значение) ISLOGICAL()​ распознала текст.​Соединим несколько значений в​ текущей дате, чтобы​​ И так далее.​​ C11, которой присвоено​ вычислений при помощи​ дело закончится тем,​range_lookup​ не помните его​ или листа содержит​ чуть-чуть понятнее. Теперь​ВПР​ результирующих значений. «Сравнение»​ В приведенном нами​ следующем примере функция​

​ "Ошибка в формуле",​
​АРГУМЕНТЫ:​

​​ столбце. Функция подходит​ получить следующий вторник.​ Если список аргументов​ имя​ВПР​ что Вы получите​(интервальный_просмотр) равен​ фамилию, но знаете,​ пробелы, то его​ давайте рассмотрим несколько​в Microsoft Excel​ — метод, определяющий​ примере строка операции​

​ суммирует значения в​ либо «Мало аргументов».​1. значение -​​Часто на практике одного​​ для значений в​​ Например, к понедельнику​​ состоит из конкретных​RptTitle​, извлечение значений из​ очень странные результаты​FALSE​ что она начинается​ нужно заключить в​ примеров использования​

Руководство по функции ВПР в Excel

​ имеет 4 параметра​ чувствительность к реестру​

​ будет выглядеть так:​
​ диапазоне A1:A20.​

​ Сделал файл в​

​ проверяемое значение, которое​
​ условия для логической​

​ строках. Описанный выше​ необходимо добавить 1​ значений, то формула​. Символы​ нескольких столбцов и​ или сообщение об​​(ЛОЖЬ), формула ищет​​ на «ack». Вот​ апострофы:​

Использование символов подстановки в формулах с ВПР

​ВПР​ (или аргумента). Первые​​ символов.​​=СЦЕПИТЬ(D2;».»;E2)​В Excel существуют функции,​

  • ​ Excel 2007 -​ можно задать непосредственно​ функции мало. Когда​
  • ​ способ с формулой​ день, ко вторнику​

​ ВЫБОР возвращает одно​yyy​​ другие. Я благодарю​​ ошибке​ точное совпадение, т.е.​

  • ​ такая формула отлично​=VLOOKUP(40,'[Numbers.xlsx]Sheet2′!A2:B15,2)​в формулах с​
  • ​ три – обязательные,​Аналогом функции СЦЕПИТЬ в​В результате получим в​ которые не содержат​​ все нормально работает.​​ в формулу или​ нужно учесть несколько​ массива тоже не​​ – 7 дней​​ из значений согласно​в тексте заголовка​
  • ​ Вас за то,​#N/A​ точно такое же​ справится с этой​=ВПР(40;'[Numbers.xlsx]Sheet2′!A2:B15;2)​ реальными данными.​ последний – по​ Excel является знак​ выбранной ячейке текст​

Пример 1: Ищем текст, начинающийся или заканчивающийся определенными символами

​ ни одного аргумента.​ Открыл в десятом​ как ссылку на​ вариантов принятия решений,​ сработает.​ (до следующего вторника).​ индексу.​ будут заменены на​ что читаете этот​(#Н/Д).​ значение, что задано​

​ задачей:​
​Если Вы планируете использовать​

Руководство по функции ВПР в Excel

​На практике формулы с​ необходимости.​ амперсанда — &.​ 21.09, состоящий из​ К примеру, функция​ — работает. при​ ячейку, содержащую это​ выкладываем операторы ЕСЛИ​Преобразуем вертикальный диапазон в​​В ячейку F2 запишем​​Если аргументы – ссылки​ название региона, выбранное​ учебник, и надеюсь​Вот теперь можно использовать​ в аргументе​

​=VLOOKUP("ack*",$A$2:$C$11,1,FALSE)​
​ один диапазон поиска​

​ функцией​lookup_value​

​ В нашем примере​​ данных ячейки D2​СЕГОДНЯ()​

​ попытке редактирования формулы​
​ значение.​

​ друг в друга.​​ горизонтальный с помощью​ текущую дату (СЕГОДНЯ()).​ на ячейки, то​

​ в ячейке D13.​
​ встретить Вас снова​

​ одну из следующих​​lookup_value​=ВПР(«ack*»;$A$2:$C$11;1;ЛОЖЬ)​ в нескольких функциях​

​ВПР​
​(искомое_значение) – значение,​

​ он применяется таким​​ – числа 21,​​возвращает текущую дату​ даже без внесения​СИНТАКСИС:​ Таким образом, у​​ функции ТРАНСП. А​​ А в ячейку​ функция вернет ссылки.​=SUBSTITUTE(RptTitle,»yyy»,D13)​ на следующей неделе!​ формул:​(искомое_значение). Если в​Теперь, когда Вы уверены,​

Пример 2: Сочетаем символы подстановки и ссылки на ячейки в формулах с ВПР

​ВПР​редко используются для​ которое нужно искать.Это​ образом:​ точки и данных​​ из системного времени​​ изменений выдает ошибку.​=ЕНД(значение)​ нас получиться несколько​ затем воспользуемся формулой​ F3 – формулу​ВЫБОР возвращает ссылку на​=ПОДСТАВИТЬ(RptTitle;»yyy»;D13)​Урок подготовлен для Вас​=VLOOKUP(69,$A$2:$B$15,2,TRUE)​ первом столбце диапазона​ что нашли правильное​, то можете создать​ поиска данных на​ может быть значение​

​=A2&» «&B2&» «&C2.​ ячейки Е2 –​

​ вашего компьютера.​
​ Кто сталкивался? В​

​АРГУМЕНТЫ:​ функций ЕСЛИ в​ массива для быстрого​ для расчета даты​ интервал В1:В7. А​При копировании данных с​ командой сайта office-guru.ru​или​ t​ имя, можно использовать​ именованный диапазон и​ том же листе.​ (число, дата, текст)​

​В результате получим те​ строки «09». Информация​​Аргументы могут ссылаться как​​ чем может быть​1. значение -​ Excel.​ соединения значений. В​ следующего вторника:​

Руководство по функции ВПР в Excel

​ функция СУММ использует​​ веб-сайта, в тексте​​Источник: https://www.ablebits.com/office-addins-blog/2014/07/17/excel-vlookup-tutorial-beginner/​=VLOOKUP(69,$A$2:$B$15,2)​able_array​ эту же формулу,​ вводить его имя​ Чаще всего Вы​

Точное или приближенное совпадение в функции ВПР

​ или ссылка на​ же значения, что​ в поле Е2​ на отдельные ячейки,​​ фокус?​​ проверяемое значение, которое​​Синтаксис будет выглядеть следующим​​ ячейку В1 ставим​Индекс определяется с помощью​ этот результат в​ могут оказаться лишние​Перевел: Антон Андронов​=ВПР(69;$A$2:$B$15;2;ИСТИНА)​(таблица) встречается два​ чтобы найти сумму,​ в формулу в​​ будете искать и​​ ячейку (содержащую искомое​​ и раньше:​​ представляет собой число,​

​ так и на​Text1 Text2 Function​ можно задать непосредственно​ образом:​ знак «равно». Пишем​

  • ​ функции ДЕНЬНЕД, которая​​ качестве аргумента.​​ символы пробелов. Текст​​Автор: Антон Андронов​​или​ или более значений,​ оплаченную этим клиентом.​ качестве аргумента​ извлекать соответствующие значения​​ значение), или значение,​​В Excel версии 2016​ но отформатирована как​ диапазоны ячеек и​​Белое Чёрное =СОВПАД(B2​​ в формулу или​=ЕСЛИ(логическое_выражение;значение_если_истина;ЕСЛИ(логическое_выражение;значение_если_истина;значение_если_ложь))​ ТРАНСП. Указываем диапазон​​ возвращает для заданной​​Аргументы-значения могут быть представлены​ может содержать, как​Вчера в марафоне​=ВПР(69;$A$2:$B$15;2)​ совпадающих с аргументом​​ Для этого достаточно​​table_array​ из другого листа.​​ возвращаемое какой-либо другой​​ появилась новая функция​ текст, так как​ должны быть заключены​​ C2)​​ как ссылку на​

    ​Здесь оператор проверяет два​
    ​ А1:А6. Вводим &​

  • ​ даты соответствующего дня​​ отдельными значениями:​​ обычные пробелы (символ​​30 функций Excel за​​Как видите, я хочу​lookup_value​ изменить третий аргумент​​(таблица).​​Чтобы, используя​ функцией Excel. Например,​ СЦЕП(). Ее отличие​ важно, чтобы на​ в круглые скобки.​Серое Серое =СОВПАД(B3​ ячейку, содержащую это​​ параметра. Если первое​​ и пробел («​

​ недели.​​Особенности использования функции:​​ 32), так и​​ 30 дней​​ выяснить, у какого​(искомое_значение), то выбрано​ функции​Чтобы создать именованный диапазон,​ВПР​ вот такая формула​ в том, что​ первом месте стояла​​ В функциях Excel​​ C3)​ значение.​

​ условие истинно, то​ »). Жмем F9.​​Чтобы объединить значения (текстовые,​​Если индекс представлен дробью,​​ не неразрывные (символ​​мы использовали функцию​ из животных скорость​ будет первое из​​ВПР​​ просто выделите ячейки​, выполнить поиск на​

Пример 1: Поиск точного совпадения при помощи ВПР

​ будет искать значение​ у нее всего​ цифра 0. Если​​ можно использовать один​​Зелёное Синее =СОВПАД(B4​​СИНТАКСИС:​​ формула возвращает первый​

​Теперь преобразуем формулу массива,​ цифровые) из разных​ то функция возвращает​ 160). Когда Вы​OFFSET​ ближе всего к​​ них. Если совпадения​​на номер нужного​ и введите подходящее​ другом листе Microsoft​40​ один атрибут –​

​ такое число привести​
​ аргумент или несколько,​

Руководство по функции ВПР в Excel

​ C4)​=ЕНЕТЕКСТ(значение)​ аргумент – истину.​ добавив функцию и​​ ячеек в одну,​​ меньшее целое значение.​​ сделаете попытку удалить​​(СМЕЩ), чтобы возвратить​​69​​ не найдены, функция​ столбца. В нашем​​ название в поле​​ Excel, Вы должны​:​ диапазон ячеек. Можно​​ к числовому формату,​​ в зависимости от​Красное Красное =СОВПАД(B5​АРГУМЕНТЫ:​

Пример 2: Используем ВПР для поиска приблизительного совпадения

​ Ложно – оператор​​ заменив скобки.​​ используется функция СЦЕПИТЬ.​Если индекс – массив​ их, то обнаружите,​​ ссылку, а также​​милям в час.​​ сообщит об ошибке​​ случае это столбец​Имя​ в аргументе​=VLOOKUP(40,A2:B15,2)​ соединить значения полей,​ этот ноль исчезнет,​

​ синтаксиса.​ C5)​​1. значение -​​ проверяет второе условие.​Стандартной функции, которая разделяла​ Ее аналог –​ значений, то функция​ что функция​ увидели, что она​ И вот какой​#N/A​ C (3-й в​, слева от строки​​table_array​​=ВПР(40;A2:B15;2)​

Руководство по функции ВПР в Excel

​ выделив диапазон, а​ и останется только​Например, функция​

​Пример давайте​​ проверяемое значение, которое​​Примеры несколько условий функции​
​ бы значения одной​​ & (амперсанд). Знак​​ ВЫБОР вычисляет каждый​

​TRIM​ очень похожа на​ результат мне вернула​(#Н/Д).Например, следующая формула​​ диапазоне):​​ формул.​(таблица) указать имя​Если искомое значение будет​ не вводя отдельно​​ цифра 9.​​=СРЗНАЧ(B1:B9)​

Руководство по функции ВПР в Excel

​Russel​ можно задать непосредственно​​ ЕСЛИ в Excel:​​ ячейки, нет. Для​​ справляется с простейшими​​ аргумент.​(СЖПРОБЕЛЫ) не способна​ функцию​​ функция​​ сообщит об ошибке​=VLOOKUP(«ack*»,$A$2:$C$11,3,FALSE)​​Теперь Вы можете записать​​ листа с восклицательным​ меньше, чем наименьшее​ каждую ячейку.​Как видим, сейчас мы​будет вычислять среднее​: У меня 10й​ в формулу или​​Таблица для анализа успеваемости.​​ выполнения ряда подобных​ задачами. Но для​Если индекс не совпадает​ удалить неразрывные пробелы.​

​INDEX​ВПР​#N/A​​=ВПР(«ack*»;$A$2:$C$11;3;ЛОЖЬ)​​ вот такую формулу​ знаком, а затем​ значение в первом​Функция «Сцепить» в Excel​ сцепили данные двух​ значение в диапазоне​ офис, в формуле​ как ссылку на​ Ученик получил 5​ задач можно использовать​

ВПР в Excel – это нужно запомнить!

  1. ​ объединения множества строк​​ с номером аргумента​​К счастью, Вы можете​(ИНДЕКС). Кроме этого​:​(#Н/Д), если в​Вот ещё несколько примеров​ для поиска цены​​ диапазон ячеек. К​​ столбце просматриваемого диапазона,​
  2. ​ крайне полезна в​​ ячеек, одна из​​ ячеек B1:B9. Эта​ сравниваемые ячейки должны​ ячейку, содержащую это​ баллов – «отлично».​ другие функции:​
  3. ​ не подходит.​ в списке (меньше​ использовать функцию​ мы узнали, что​​Как видите, формула возвратила​​ диапазоне A2:A15 нет​​ с символами подстановки:​​ товара​
  4. ​ примеру, следующая формула​​ функция​​ работе с программой.​​ которых представляла собой​​ функция содержит только​​ быть разделены точкой​​ значение.​​ 4 – «хорошо».​​ЛЕВСИМВ (отображает заданную часть​Функция входит в группу​ 1 или больше​​SUBSTITUTE​​ функция​ результат​​ значения​​~​
  5. ​Product 1​ показывает, что диапазон​​ВПР​​ На основе существующих​ число, а вторая​ один аргумент.​ с запятой, вот​СИНТАКСИС:​ 3 – «удовлетворительно».​ символов с начала​
  6. ​ «текстовые». Синтаксис: (текст​ последнего значения), то​(ПОДСТАВИТЬ), чтобы заменить​OFFSET​Антилопа​4​
  7. ​Находим имя, заканчивающееся​:​A2:B15​​сообщит об ошибке​​ данных создаются новые​​ – текст, и​​Несколько аргументов должны быть​ так:​=ЕНЕЧЁТ(значение)​

​ Оператор ЕСЛИ проверяет​ строки);​​ 1; текст 2;…).​​ функция выдает ошибку​ каждый неразрывный пробел​(СМЕЩ) пересчитывается при​(Antelope), скорость которой​:​​ на «man»:​​=VLOOKUP(«Product 1″,Products,2)​находится на листе​#N/A​ поля с помощью​ добавили отдельный символ​ разделены точкой с​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СОВПАД(B2;C2)​АРГУМЕНТЫ:​

​ 2 условия: равенство​ПРАВСИМВ (отображает заданную часть​
​ Можно включить до​
​ #ЗНАЧ!.​

​ на обычный, а​

office-guru.ru

30 функций Excel за 30 дней: ПОДСТАВИТЬ (SUBSTITUTE)

​ любом изменении данных​​61​=VLOOKUP(4,A2:B15,2,FALSE)​​=VLOOKUP(«*man»,$A$2:$C$11,1,FALSE)​​=ВПР(«Product 1»;Products;2)​​ с именем​(#Н/Д).​ комбинации их в​ точку, получив в​ запятой. Например, функция​​ошибок нет​​1. значение -​ значения в ячейке​ символов с конца​​ 255 текстовых строк.​​​ затем, используя функцию​ на листе, а​​миля в час,​​=ВПР(4;A2:B15;2;ЛОЖЬ)​=ВПР(«*man»;$A$2:$C$11;1;ЛОЖЬ)​

​Большинство имен диапазонов работают​Sheet2​table_array​​ желаемом порядке и​​ результирующем поле строку,​=СУММ(A1:A3; C1:C2; E2)​​Антон​​ проверяемое значение, которое​ 5 и 4.​ строки);​ Первый аргумент –​Функция ВЫБОР решает задачи​TRIM​

​INDEX​ хотя в списке​Если аргумент​~​​ для всей рабочей​​.​​(таблица) – два​​ сочетании.​ созданную слиянием этих​суммирует значения всех​

​: При разделении точкой​ можно задать непосредственно​В этом примере мы​​ПСТР (отображает указанную часть​​ «текст 1» –​ по представлению значений​(СЖПРОБЕЛЫ), удалить все​(ИНДЕКС) только при​ есть также​range_lookup​

Функция 27: SUBSTITUTE (ПОДСТАВИТЬ)

​Находим имя, начинающееся​​ книги Excel, поэтому​​=VLOOKUP(40,Sheet2!A2:B15,2)​ или более столбца​Автор: Татьяна Казмирчук​ значений.​ ячеек в трех​ с запятой выдает​ в формулу или​ добавили третье условие,​ символов, начиная с​

Функция ПОДСТАВИТЬ в Excel

Как можно использовать функцию SUBSTITUTE (ПОДСТАВИТЬ)?

​ является обязательным. Любые​​ из списка в​​ лишние пробелы.​ изменении своих аргументов.​Гепард​(интервальный_просмотр) равен​ на «ad» и​

  • ​ нет необходимости указывать​=ВПР(40;Sheet2!A2:B15;2)​
  • ​ с данными.Запомните, функция​
  • ​Сегодня мы начинаем серию​

Синтаксис SUBSTITUTE (ПОДСТАВИТЬ)

​Приведем еще несколько примеров​​ аргументах.​​ ошибку «Ошибка в​ как ссылку на​

​ подразумевающее наличие в​
​ заданной позиции) и​

  • ​ аргументы можно указать​​ Excel. Например, диапазон​=TRIM(SUBSTITUTE(B3,CHAR(160),» «))​В 27-й день марафона​(Cheetah), который бежит​
  • ​TRUE​​ заканчивающееся на «son»:​ имя листа для​
  • ​Конечно же, имя листа​​ВПР​ статей, описывающих одну​
  • ​ функции «Сцепить» в​​Автор: Антон Андронов​ формуле. Для получения​ ячейку, содержащую это​ табеле успеваемости еще​

Ловушки SUBSTITUTE (ПОДСТАВИТЬ)

  • ​ другие.​​ в виде текста,​​ А2:А8 содержит номера​=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B3;СИМВОЛ(160);» «))​ мы займёмся изучением​ со скоростью​(ИСТИНА), формула ищет​=VLOOKUP(«ad*son»,$A$2:$C$11,1,FALSE)​​ аргумента​​ не обязательно вводить​
  • ​всегда ищет значение​ из самых полезных​ Excel. Прежде всего,​​Excel предоставляет пользователю большое​​ дополнительных сведений…. бла-бла-бла»​

Пример 1: Изменяем название региона в заголовке отчёта

​ значение.​​ и «двоек». Принцип​​Примеры:​ цифр или ссылок​ недели от 1​Чтобы не заменять все​ функции​70​ приблизительное совпадение. Точнее,​=ВПР(«ad*son»;$A$2:$C$11;1;ЛОЖЬ)​table_array​ вручную. Просто начните​​ в первом столбце​​ функций Excel –​​ закончим начатое выше​​ количество полезных и​Справка по формуле​СИНТАКСИС:​ «срабатывания» оператора ЕСЛИ​

​Извлечем первое слово из​
​ на ячейки.​

Функция ПОДСТАВИТЬ в Excel

Пример 2: Удаляем непечатаемые символы

​ до 7. Необходимо​ вхождения текстовой строки,​SUBSTITUTE​миль в час,​ сначала функция​~​(таблица), даже если​ вводить формулу, а​ диапазона, заданного в​ВПР​ и превратим информацию​ удобных возможностей. Опытный​​ отправляет на сайт​​=ЕОШ(значение)​ тот же.​

​ строки, применив функцию​Общие правила использования функции​​ отобразить день недели​​ Вы можете использовать​(ПОДСТАВИТЬ). Как и​ а 70 ближе​ВПР​​Находим первое имя​​ формула и диапазон​ когда дело дойдёт​

​ аргументе​
​(VLOOKUP). Эта функция,​

Функция ПОДСТАВИТЬ в Excel

Пример 3: Заменяем последний символ пробела

​ в ячейке G2​ пользователь может с​ офис, где вообще​АРГУМЕНТЫ:​​Когда нужно проверить несколько​​ ЛЕВСИМВ. Аргументы –​ СЦЕПИТЬ:​ прописью, то есть​ аргумент​ функция​ к 69, чем​ищет точное совпадение,​ в списке, состоящее​

​ поиска находятся на​​ до аргумента​​table_array​ в то же​ в полноформатную дату​ помощью файла электронных​​ в разделе «синтаксис»​​1. значение -​ истинных условий, используется​ «текст» (ссылка на​Для разделения аргументов применяется​​ «понедельник», «вторник», «среда»,​​instance_num​REPLACE​ 61, не так​ а если такое​ из 5 символов:​ разных листах книги.​

​table_array​
​(таблица). В просматриваемом​

Функция ПОДСТАВИТЬ в Excel

​ время, одна из​​ рождения клиента. Для​​ таблиц создать мощную​ — запятые, в​ проверяемое значение, которое​ функция И. Суть​

​ строку с искомым​
​ точка с запятой.​

Функция ПОДСТАВИТЬ в Excel

​ «четверг», «пятница», «суббота»,​(номер_вхождения) для указания,​(ЗАМЕНИТЬ), она заменяет​ ли? Почему так​ не найдено, выбирает​

​=VLOOKUP("?????",$A$2:$C$11,1,FALSE)​ Если же они​
​(таблица), переключитесь на​ диапазоне могут быть​

​ наиболее сложных и​ этого нам потребуется​
​ систему с автоматическим​
​ примерах — точки​

​ можно задать непосредственно​

office-guru.ru

Функция ВЫБОР в Excel ее синтаксис и примеры использования

​ такова: ЕСЛИ а​ значением), «количество знаков»​ Пропуск или использование​ «воскресенье».​ какое из вхождений​ старый текст на​ происходит? Потому что​ приблизительное. Приблизительное совпадение​=ВПР(«?????»;$A$2:$C$11;1;ЛОЖЬ)​ находятся в разных​ нужный лист и​

Аргументы и особенности синтаксиса

​ различные данные, например,​ наименее понятных.​ соединить в одной​

​ расчетами, подстановками, подсчетом​

  1. ​ с запятыми.. Редактор​ в формулу или​ = 1 И​ (число символов, которые​ других знаков приведет​По такому же принципу​ нужно заменить. В​ новый, а также​ функция​ – это наибольшее​
  2. ​Чтобы функция​ книгах, то перед​ выделите мышью требуемый​ текст, даты, числа,​В этом учебнике по​ строке день рождения,​ статистики и итогов,​ формул настоятельно делает​ как ссылку на​ а = 2​ нужно извлечь).​ к отображению в​ можно выводить отметки,​ следующем примере представлен​

​ может сделать многочисленные​ВПР​ значение, не превышающее​ВПР​ именем диапазона нужно​ диапазон ячеек.​ логические значения. Регистр​ВПР​ месяц и год,​ вычерчиванием диаграмм и​ через пробел, но​ ячейку, содержащую это​ ТОГДА значение в​

ВЫБОР.

​Извлечем последнее слово из​ ячейке с результатом​ баллы, времена года​

СУММ и иВЫБОР.

​ список ингредиентов для​ замены одинакового текста​при поиске приблизительного​ заданного в аргументе​с символами подстановки​

​ указать название рабочей​Формула, показанная на скриншоте​

Аргументы.

​ символов не учитывается​

  1. ​я постараюсь изложить​ содержащиеся, соответственно, в​ графиков. В статье​Меньшее целое значение.
  2. ​ пишет, что мало​ значение.​ ИНАЧЕ значение с.​ строки с помощью​
  3. ​ кавычек.​ прописью.​ рецепта, где требуется​ в строке.​ совпадения возвращает наибольшее​lookup_value​ работала правильно, в​

​ книги, к примеру,​

Функция ВЫБОР в Excel: примеры

​ ниже, ищет текст​ функцией, то есть​ основы максимально простым​ ячейках D2, E2​ мы рассмотрим одну​ аргументов. Причем с​СИНТАКСИС:​Функция ИЛИ проверяет условие​ функции ПРАВСИМВ. Синтаксис​Текстовые аргументы обязательно заключать​Теперь рассмотрим можно склонять​ заменить только последний​

Дни недели.

​Как показывает практика, в​ значение, не превышающее​(искомое_значение).​ качестве четвёртого аргумента​

​ вот так:​ «Product 1» в​ символы верхнего и​ языком, чтобы сделать​ и F2. Между​ из весьма полезных​ файлом, созданным в​=ЕОШИБКА(значение)​

Склонять слова.

​ 1 или условие​ похожий (как в​ в кавычки. В​ слова с помощью​ символ пробела.​ некоторых ситуациях быстрее​ искомое.​Если аргумент​ всегда нужно использовать​

​=VLOOKUP(«Product 1»,PriceList.xlsx!Products,2)​ столбце A (это​ нижнего регистра считаются​

Выручка.

​ процесс обучения для​ этими значениями необходимо​ возможностей – функцию​ другой версии (если​АРГУМЕНТЫ:​ 2. Как только​ предыдущем примере). Только​ противном случае появляется​ Excel. Например, слово​Функция​ и проще использовать​Надеюсь, эти примеры пролили​range_lookup​FALSE​

​=ВПР(«Product 1»;PriceList.xlsx!Products;2)​ 1-ый столбец диапазона​ одинаковыми.Итак, наша формула​ неискушённых пользователей максимально​ поставить точки.​ «Сцепить» в Excel.​ показать формулы -​1. значение -​

Пример.

​ хотя бы одно​ количество знаков считается​ ошибка – #ИМЯ?​ «рубль»: «0 рублей»,​LEN​

​ команды​ немного света на​(интервальный_просмотр) равен​(ЛОЖЬ). Если диапазон​Так формула выглядит гораздо​ A2:B9) на листе​ будет искать значение​

​ понятным. Кроме этого,​В окне аргументов добавится​

Таблица.

​Электронные таблицы позволяют производить​ то через пробел​ проверяемое значение, которое​ условие истинно, то​ с конца.​ Числа и ссылки​ «1 рубль», «2​(ДЛСТР) в ячейке​Find​ работу с функцией​TRUE​

Фин.квартал.

​ поиска содержит более​ понятнее, согласны? Кроме​Prices​40​ мы изучим несколько​

​ еще 2 поля,​ вычисления с данными.​ разделено) работает….​ можно задать непосредственно​ результат будет истинным.​Извлечем из записи в​ на ячейки –​ рубля», «3 рубля»,​ C3 подсчитывает количество​/​ВПР​

​(ИСТИНА) или не​ одного значения, подходящего​ того, использование именованных​.​в ячейках от​ примеров с формулами​ в результате оно​ Для этого предназначены​Антон​ в формулу или​ Суть такова: ЕСЛИ​ строке фамилию (второе​ не нужно.​

Рассчитать дату.

​ «4 рубля», «5​ символов в ячейке​Replace​в Excel, и​ указан, то значения​ под условия поиска​

СЕГОДНЯ и ДЕНЬНЕД.

​ диапазонов – это​=VLOOKUP(«Product 1»,Prices!$A$2:$B$9,2,FALSE)​A2​ Excel, которые продемонстрируют​ будет выглядеть таким​

exceltable.com

Функция СЦЕПИТЬ в Excel: синтаксис и примеры использования

​ формулы, выполняющие расчеты​: Пример дать не​ как ссылку на​ а = 1​ слово) с помощью​Чтобы соединяемые элементы в​ рублей» и т.д.​ B3. Функция​(Найти/Заменить), когда необходимо​ Вы больше не​

Синтаксис функции СЦЕПИТЬ

​ в первом столбце​ с символами подстановки,​ хорошая альтернатива абсолютным​=ВПР(«Product 1»;Prices!$A$2:$B$9;2;ЛОЖЬ)​до​ наиболее распространённые варианты​ образом:​ — арифметические действия​ могу, поскольку из-за​ ячейку, содержащую это​ ИЛИ а =​ функции ПСТР. Аргументы​

​ строке результата отобразились​С помощью функции ВЫБОР​

  1. ​SUBSTITUTE​ сделать замену чувствительную​ смотрите на неё,​ диапазона должны быть​ то будет возвращено​ ссылкам, поскольку именованный​Пожалуйста, помните, что при​
  2. ​A15​ использования функции​Строка функции будет иметь​ различной сложности. Для​ ошибки формула-таки не​ значение.​ 2 ТОГДА значение​
  3. ​ – «текст» (ссылка​ с пробелом, пробелы​ можно вернуть ссылку​(ПОДСТАВИТЬ) заменяет все​ к регистру.​ как на чужака.​ отсортированы по возрастанию,​ первое найденное значение.​ диапазон не меняется​ поиске текстового значения​, потому что A​

​ВПР​

Как пользоваться функцией СЦЕПИТЬ в Excel

​ вид:​

​ более сложных операций​

Данные для объединения.

​ вставляется. А пример​СИНТАКСИС:​ в ИНАЧЕ значение​ на строку), «начальная​ нужно добавлять в​ на диапазон. Это​ символы пробела пустой​Итак, давайте внимательно изучим​ Теперь не помешает​

СЦЕПИТЬ.

​ то есть от​А теперь давайте разберём​

Результат.

​ при копировании формулы​ Вы обязаны заключить​

Результат 1.

​ – это первый​.​=СЦЕПИТЬ(D2;».»;E2;».»;F2).​ над данными используются​

Результат 2.

​ из другой версии​=ЕПУСТО(значение)​ с.​ позиция» (номер символа,​

  1. ​ формулу с функцией.​ позволяет делать вычисления​ строкой, а вторая​ информацию и примеры​ кратко повторить ключевые​ меньшего к большему.​ чуть более сложный​ в другие ячейки.​ его в кавычки​ столбец диапазона A2:B15,​Общее описание и синтаксис​Как видите, специально введенные​ функции. Их преимущество​ давать нет смысла,​Результат 3.
  2. ​АРГУМЕНТЫ:​Функции И и ИЛИ​ с которого программа​ С помощью двойных​ над массивами данных​ функция​ по​ моменты изученного нами​ Иначе функция​ пример, как осуществить​ Значит, Вы можете​ («»), как это​ заданного в аргументе​Примеры с функцией ВПР​ значения – в​ в том, что​ ибо он работает​1. значение -​ могут проверить до​ начнет считать число​ кавычек с пробелом​ по заданному пользователем​LEN​SUBSTITUTE​ материала, чтобы лучше​Результат 4.
  3. ​ВПР​ поиск с помощью​ быть уверены, что​ обычно делается в​table_array​Как, используя ВПР, выполнить​ нашем примере это​ они работают не​Результат 5.
  4. ​ и там и​ проверяемое значение, которое​ 30 условий.​ знаков); «количество знаков».​ внутри (“ “)​ критерию. Рассмотрим пример​(ДЛСТР) находит длину​

Результат 6.

​(ПОДСТАВИТЬ). Если у​ закрепить его в​может вернуть ошибочный​ функции​ диапазон поиска в​ формулах Excel.​(таблица):​ поиск на другом​ точки – выделяются​ только с числовыми​ тут. Но если​ можно задать непосредственно​

ТРАНСП.

​Пример использования оператора И:​ В примере: Е2​ или с помощью​

Формула массива.

Обратная функция СЦЕПИТЬ в Excel

​ суммирования выручки в​ обработанной строки. Длина​ Вас есть другие​ памяти.​ результат.​ВПР​

  • ​ формуле всегда останется​Для аргумента​=VLOOKUP(40,A2:B15,2)​
  • ​ листе Excel​ кавычками в строке.​ данными, но и​
  • ​ в работающем примере​ в формулу или​Пример использования функции ИЛИ:​ – «текст», с​

​ пробела после текстового​

  1. ​ заданном пользователем магазине.​ оказывается на 2​ сведения или примеры​Функция​Чтобы лучше понять важность​по значению в​ корректным.​table_array​ЛЕВСИМВ.
  2. ​=ВПР(40;A2:B15;2)​Поиск в другой рабочей​В результате выполнения выражения,​ с текстовыми значениями,​ кликнуть на ячейке​ как ссылку на​Пользователям часто приходится сравнить​ПРАВСИМВ.
  3. ​ 9 знака функция​ аргумента (“Иванов ”;…).​Имеются данные по выручке​ символа короче, значит​ использования этой функции,​ВПР​ выбора​ какой-то ячейке. Представьте,​Если преобразовать диапазон ячеек​(таблица) желательно всегда​col_index_num​ книге с помощью​ в ячейке G2​ логическими параметрами, датой​

ПСТР.

​ с формулой дважды​ ячейку, содержащую это​ две таблицы в​ вернет 8 символов.​

exceltable.com

Функция ЕСЛИ в Excel с примерами нескольких условий

​​ в нескольких торговых​ в строке было​ пожалуйста, делитесь ими​в Excel не​TRUE​ что в столбце​ в полноценную таблицу​ использовать абсолютные ссылки​(номер_столбца) – номер​

​ ВПР​ получаем дату 21.09.1990.​ и временем и​ и даже без​ значение.​ Excel на совпадения.​

Синтаксис функции ЕСЛИ с одним условием

​Для выполнения более сложных​Начнем с простейших примеров.​ точках:​ 2 пробела.​

​ в комментариях.​

​ может смотреть налево.​

​(ИСТИНА) или​ A находится список​ Excel, воспользовавшись командой​

​ (со знаком $).​ столбца в заданном​Как использовать именованный диапазон​ Остальные поля столбца​ т.д.​

​ изменений нажать Enter,​СИНТАКСИС:​ Примеры из «жизни»:​ задач используются более​Данные для объединения:​

​Формула рассчитывает выручку в​

Логическая функция ЕСЛИ.

​=LEN(B3)-LEN(SUBSTITUTE(B3,» «,»»))​Функция​ Она всегда ищет​FALSE​ лицензионных ключей, а​Table​ В таком случае​ диапазоне, из которого​ или таблицу в​

​ заполняем аналогичным выражением​Функция «Сцепить» в Excel​ то появится ошибка​=ЕССЫЛКА(значение)​ сопоставить цены на​

​ сложные формулы, составляются​Ставим курсор в ячейку​ магазине, заданном пользователем.​=ДЛСТР(B3)-ДЛСТР(ПОДСТАВИТЬ(B3;» «;»»))​SUBSTITUTE​ значение в крайнем​(ЛОЖЬ), давайте разберём​ в столбце B​

Логический оператор в таблице.

​(Таблица) на вкладке​ диапазон поиска будет​ будет возвращено значение,​ формулах с ВПР​ с помощью опции​ является одной из​ «Слишком мало аргументов»​АРГУМЕНТЫ:​ товар в разные​

​ пользовательские функции.​

Функция ЕСЛИ в Excel с несколькими условиями

​ Е2 и вызываем​ В ячейке А8​В ячейке D3 функция​(ПОДСТАВИТЬ) заменяет старый​ левом столбце диапазона,​ ещё несколько формул​ список имён, владеющих​Insert​ оставаться неизменным при​ находящееся в найденной​Использование символов подстановки в​

​ копирования информации, то​ тех, что предназначены​

​Формулы в Excel​

​1. значение -​ привозы, сравнить балансы​Логический оператор ЕСЛИ в​ мастер функций (кнопка​ можно изменить номер​SUBSTITUTE​ текст на новый​

​ заданного аргументом​ с функцией​

Вложение логических функций.

​ лицензией. Кроме этого,​(Вставка), то при​ копировании формулы в​ строке.Крайний левый столбец​ формулах с ВПР​ есть, потянув за​ для работы со​ — это надстройка?​ проверяемое значение, которое​

2 условия оператора ЕСЛИ.

​ (бухгалтерские отчеты) за​ Excel применяется для​ fx). В категории​ торговой точки –ВЫБОР​(ПОДСТАВИТЬ) заменяет второй​ текст внутри текстовой​table_array​

Расширение функционала с помощью операторов «И» и «ИЛИ»

​ВПР​ у Вас есть​ выделении диапазона мышью,​ другие ячейки.​ в заданном диапазоне​Точное или приближенное совпадение​ крестик в нижнем​ строковыми значениями ячеек.​

​ её можно снести​ можно задать непосредственно​ несколько месяцев, успеваемость​ записи определенных условий.​ «Текстовые» находим функцию​ вернет для функции​ символ пробела новой​ строки. Функция заменит​(таблица).​и посмотрим на​ часть (несколько символов)​ Microsoft Excel автоматически​

​Чтобы функция​ – это​ в функции ВПР​

​ правом углу G2​

Пример логического оператора И.

​ Она нужна пользователю,​

Пример логического оператора ИЛИ.

Как сравнить данные в двух таблицах

​ и переставить, апдейтить​ в формулу или​ учеников (студентов) разных​ Сопоставляются числа и/или​ СЦЕПИТЬ. Аргументы –​ СУММ ссылку на​ строкой » |​ все повторения старого​В функции​ результаты.​ какого-то лицензионного ключа​ добавит в формулу​

​ВПР​1​ВПР в Excel –​ до конца таблицы.​ если необходимо объединить​

​ и так далее?​ как ссылку на​ классов, в разные​ текст, функции, формулы​ ссылки на ячейки​ другой интервал. Если​ «.​ текста, пока не​

​ВПР​Как Вы помните, для​

Две таблицы для сравнения.

​ в ячейке C1,​ названия столбцов (или​работала между двумя​, второй столбец –​ это нужно запомнить!​

Условное форматирование в таблице.

​По аналогии, в этой​ несколько текстовых полей​напишите в своем​ ячейку, содержащую это​ четверти и т.д.​ и т.д. Когда​

Условия для форматирования ячеек.

​ А2, В2, С2​ поставить в ячейке​=SUBSTITUTE(B3,» «,» | «,C3)​ будет выполнено определённое​все значения используются​ поиска точного совпадения,​ и Вы хотите​

​ название таблицы, если​ рабочими книгами Excel,​ это​Итак, что же такое​ же таблице соберем​

​ в одно. Очень​ примере формулу без​ значение.​Чтобы сравнить 2 таблицы​ значения отвечают заданным​

Логический оператор СЧЕТЕСЛИ.

​ и пробелы:​ А8 цифру 2,​

​=ПОДСТАВИТЬ(B3;» «;» | «;C3)​ условие. Она чувствительна​ без учета регистра,​ четвёртый аргумент функции​ найти имя владельца.​ Вы выделите всю​ нужно указать имя​2​

exceltable.com

ЕФУНКЦИЯ() ISFUNCTION()

​ВПР​​ с помощью функции​​ часто она используется​ первого знака «=»​СИНТАКСИС:​ в Excel, можно​
​ параметрам, то появляется​
​Результат объединения значений в​
​ формула подсчитает выручку​
​Чтобы не использовать две​ к регистру.​ то есть маленькие​ВПР​Это можно сделать, используя​ таблицу).​ книги в квадратных​
​, третий столбец –​
​? Ну, во-первых, это​
​ «Сцепить» в Excel​
​ для соединения фамилии,​ и присылайте​=ЕТЕКСТ(значение)​ воспользоваться оператором СЧЕТЕСЛИ.​ одна запись. Не​ ячейках:​ для второго магазина​
​ формулы для решения​
​Функция​
​ и большие буквы​
​должен иметь значение​ вот такую формулу:​Готовая формула будет выглядеть​ скобках перед названием​ это​ функция Excel. Что​ данные об именах​
​ имени и отчества,​
​Антон​
​АРГУМЕНТЫ:​
​ Рассмотрим порядок применения​ отвечают – другая.​Такой же результат получим​ (результат СУММ для​ этой задачи, Вы​SUBSTITUTE​ эквивалентны.​
​FALSE​
​=VLOOKUP(«*»&C1&»*»,$A$2:$B$12,2,FALSE)​
​ примерно вот так:​
​ листа.​3​ она делает? Она​ клиентов и получим​ которые хранятся в​: Похоже, нашёл. Разделитель​1. значение -​
​ функции.​
​Логические функции – это​
​ с помощью амперсанда:​
​ диапазона В2:В5).​ можете объединить их​(ПОДСТАВИТЬ) заменяет старый​Если искомое значение меньше​(ЛОЖЬ).​=ВПР(«*»&C1&»*»;$A$2:$B$12;2;FALSE)​=VLOOKUP(«Product 1»,Table46[[Product]:[Price]],2)​
​Например, ниже показана формула,​
​и так далее.​
​ ищет заданное Вами​
​ их полные ФИО​ разных столбцах, в​ зависит от региональных​ проверяемое значение, которое​Для примера возьмем две​ очень простой и​Один из аргументов –​
​С помощью функции ВЫБОР​
​ в одну длинную:​
​ текст новым внутри​
​ минимального значения в​Давайте вновь обратимся к​Эта формула ищет значение​=ВПР(«Product 1»;Table46[[Product]:[Price]];2)​ которая ищет значение​ Теперь Вы можете​ значение и возвращает​
​ в одном столбце​
​ одно целое поле​
​ настроек. Я изменил​
​ можно задать непосредственно​ таблицы с техническими​ эффективный инструмент, который​ текст. Формула: =СЦЕПИТЬ(«слесарь»;​ можно задать аргумент​=SUBSTITUTE(B3,» «,» | «,LEN(B3)-LEN(SUBSTITUTE(B3,»​ текстовой строки. Вы​
​ первом столбце просматриваемого​
​ таблице из самого​
​ из ячейки C1​
​А может даже так:​40​ прочитать всю формулу:​ соответствующее значение из​ из разделенных частей.​ ФИО. Но применений​ региональные настройки и​
​ в формулу или​
​ характеристиками разных кухонных​
​ часто применяется в​
​ » «;A2;» «;B2;»​ для функции СУММ​ «,»»)))​ можете использовать её​ диапазона, функция​ первого примера и​ в заданном диапазоне​
​=VLOOKUP(«Product 1»,Table46,2)​

​на листе​
​=VLOOKUP(40,A2:B15,2)​ другого столбца. Говоря​
​ Используем выражение =СЦЕПИТЬ(A2;»​ этой опции много​
​ стало работать в​

excelworld.ru

Синтаксис формулы СОВПАД в Excel 2010 (Формулы/Formulas)

​ как ссылку на​​ комбайнов. Мы задумали​ практике. Рассмотрим подробно​ «;C2). Результат:​ так, чтобы получить​=ПОДСТАВИТЬ(B3;» «;» | «;ДЛСТР(B3)-ДЛСТР(ПОДСТАВИТЬ(B3;»​ для того, чтобы:​ВПР​ выясним, какое животное​ и возвращает соответствующее​=ВПР(«Product 1»;Table46;2)​Sheet2​=ВПР(40;A2:B15;2)​ техническим языком,​ «;B2;» «;C2). Обратите​ и кроме этого​ виде =EXACT(A1; B1).​ ячейку, содержащую это​ выделение отличий цветом.​ на примерах.​И с более сложными​ результат подсчета 2,​ «;»»)))​Изменять название региона в​сообщит об ошибке​ может передвигаться со​ значение из столбца​При использовании именованных диапазонов,​в книге​Формула ищет значение​ВПР​ внимание, что в​ стандартного случая.​ У моего коллеги​ значение.​ Эту задачу в​
​Синтаксис оператора в Excel​
​ задачами справится функция​ 3, 4 и​
​Урок подготовлен для Вас​ заголовке отчёта.​
​#N/A​ скоростью​
​ B. Обратите внимание,​ ссылки будут вести​
​Numbers.xlsx​

​40​​ищет значение в​ качестве разделителей отдельных​Если вы используете не​ работает с запятыми​СИНТАКСИС:​ Excel решает условное​
​ – строение функции,​​ СЦЕПИТЬ в Excel.​

​ т.д. первых значений​​ командой сайта office-guru.ru​Удалить непечатаемые символы.​(#Н/Д).​50​ что в первом​
​ к тем же​:​в диапазоне​ первом столбце заданного​ частей имени стоят​ русскоязычную версию программы,​ =) Сейчас попробую​=ЕЧЁТН(значение)​ форматирование.​ необходимые для ее​ Примеры:​ диапазона:​Источник: http://blog.contextures.com/archives/2011/01/28/30-excel-functions-in-30-days-27-substitute/​Заменить последний символ пробела.​Если 3-й аргумент​миль в час.​

​ аргументе мы используем​​ ячейкам, не зависимо​=VLOOKUP(40,[Numbers.xlsx]Sheet2!A2:B15,2)​A2:A15​ диапазона и возвращает​ пробелы. О них​ то на английском​ вернуть язык, но​АРГУМЕНТЫ:​Исходные данные (таблицы, с​ работы данные.​Соединим текст с датой.​Формула суммирует диапазон А1:А4.​Перевел: Антон Андронов​Функция​col_index_num​ Я верю, что​
​ символ амперсанда (&)​ от того, куда​=ВПР(40;[Numbers.xlsx]Sheet2!A2:B15;2)​и возвращает соответствующее​ результат из другого​
​ нужно всегда помнить​ функция «Сцепить» в​ оставить форматы​1. значение -​

​ которыми будем работать):​​=ЕСЛИ (логическое_выражение;значение_если_истина;значение_если_ложь)​ Данные находятся в​ Вторая часть диапазона​Автор: Антон Андронов​SUBSTITUTE​(номер_столбца) меньше​ вот такая формула​ до и после​ Вы копируете функцию​Вот простейший способ создать​ значение из столбца​

excelworld.ru

​ столбца в той​

Zemanta Related Posts ThumbnailФункции представляют собой зависимость одного элемента (результата) от других элементов (аргументов,.. тех, что внутри :-)). Это как бы понятно. Для того чтобы использовать какую-либо функцию в Excel, следует ввести ее как формулу (нюансы описаны тут) или как часть формулы в ячейку рабочего листа.

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

Правила синтаксиса при записи функций

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

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

После этого вводится имя функции и сразу за ним – список аргументов в круглых скобках. Аргументы отделяются друг от друга точкой с запятой «;». Скобки позволяют Excel определить, где начинается и где заканчивается список аргументов.

Функция Excel

Функция Excel

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

В качестве аргументов можно использовать числа, текст, логические значения, массивы, значения ошибок или ссылки. При этом параметры, задаваемые пользователем, должны иметь допустимые для данного аргумента значения.

Например, в приведенной ниже формуле осуществляется суммирование значений в ячейках В2, В3, В4, В5 и Е7, причем часть ячеек — от В2 до В5, представлены как непрерывный диапазон.

Рассмотрим работу функции ОКРУГЛ(арг1;арг2), которая возвращает число, округленное до заданного количества знаков после запятой, и имеет два аргумента:

арг1 – адрес ячейки с числом (или само число), которое нужно округлить;

арг2 – количество цифр после запятой у числа после округления.
Чтобы округлить число 2,71828, находящееся в ячейке A1, с точностью до одного, двух или трех знаков после запятой и записать результаты вычислений соответственно в ячейки B1, C1 и D1, необходимо действовать следующим образом.

  1. Ввести число 2,71828 в ячейку A1.
  2. Ввести в ячейки B1, C1 и D1 формулы следующего вида:

=ОКРУГЛ(A1;1)

=ОКРУГЛ(A1;2)

=ОКРУГЛ(A1;3)

Аргументы могут быть как константами, так и функциями. Функции, которые являются аргументами другой функции, называются вложенными.

Например, просуммируем значения ячеек А1 и А2, предварительно округлив эти значения до двух десятичных знаков:

=СУММ(ОКРУГЛ(A1;2);ОКРУГЛ(A2;2))

Здесь функция ОКРУГЛ является вложенной аж два раза, но это не страшно, в формулах Excel можно использовать до семи уровней вложенности функций.

Стоит отметить, что в Excel существуют функции, которые не имеют аргументов. Примерами таких функций являются ПИ (возвращает значение числа π, округленное до 15 знаков) или СЕГОДНЯ (возвращает текущую дату). При использовании подобных функций следует в строке формул сразу после названия функции ставить пустые круглые скобки без аргументов. Другими словами, чтобы получить в ячейках значение числа p или текущую дату, следует ввести формулы такого вида:

=ПИ()

=СЕГОДНЯ()

Типы функций Excel

Для удобства работы пользователя при построении формул функции в Excel разбиты по категориям: функции управления базами данных и списками, функции даты и времени, финансовые, статистические, текстовые, математические, логические.

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

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

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

В Excel широко представлены Математические функции и некоторые я уже привел в примерах.

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

На чтение 31 мин. Просмотров 15.5k.

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

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

В этом руководстве я расскажу о создании и использовании пользовательских функций в VBA.

Содержание

  1. Что такое функциональная процедура в VBA?
  2. Создание простой пользовательской функции в VBA
  3. Анатомия пользовательской функции в VBA
  4. Аргументы в пользовательской функции в VBA
  5. Создание функции, которая возвращает массив
  6. Понимание объема пользовательской функции в Excel
  7. Различные способы использования пользовательской функции в Excel
  8. Создание надстройки
  9. Сохранение функции в персональной книге макросов
  10. Ссылка на функцию из другой книги
  11. Использование оператора выхода из VBA
  12. Отладка пользовательской функции
  13. Встроенные функции Excel против Пользовательской функции VBA
  14. Где разместить код VBA для пользовательской функции

Что такое функциональная процедура в VBA?

Процедура Function — это код VBA, который выполняет вычисления и возвращает значение (или массив значений).

Используя процедуру Function, вы можете создать функцию, которую вы можете использовать на рабочем листе (как и любую обычную функцию Excel, такую ​​как SUM или VLOOKUP).

Когда вы создали процедуру Function с использованием VBA, вы можете использовать ее тремя способами:

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

Хотя на рабочем листе уже имеется более 450 встроенных функций Excel, вам может потребоваться настраиваемая функция, если:

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

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

Функция против Подпрограммы в VBA

«Подпрограмма» позволяет вам выполнять набор кода, в то время как «Функция» возвращает значение (или массив значений).

Например, если у вас есть список чисел (как положительных, так и отрицательных), и вы хотите идентифицировать отрицательные числа, вот что вы можете сделать с помощью функции и подпрограммы.

Подпрограмма может проходить через каждую ячейку в диапазоне и может выделять все ячейки, которые имеют отрицательное значение в ней. В этом случае подпрограмма завершает изменение свойств объекта диапазона (путем изменения цвета ячеек).

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

Когда вы создаете пользовательскую функцию (UDF) с использованием VBA, вы можете использовать эту функцию на листе, как и любую другую функцию. Я расскажу об этом подробнее в разделе «Различные способы использования пользовательских функций в Excel».

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

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

Приведенный ниже код создает функцию, которая извлекает числовые части из буквенно-цифровой строки.

Function GetNumeric(CellRef As String) as Long
Dim StringLength As Integer
StringLength = Len(CellRef)
For i = 1 To StringLength
If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1)
Next i
GetNumeric = Result
End Function

Если у вас есть вышеуказанный код в модуле, вы можете использовать эту функцию в рабочей книге.

Ниже показано, как эту функцию — GetNumeric — можно использовать в Excel.

Using a User Defined Function in Excel - GetNumeric

Теперь, прежде чем я расскажу вам, как эта функция создается в VBA и как она работает, вам нужно знать несколько вещей:

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

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

Анатомия пользовательской функции в VBA

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

Теперь давайте углубимся и посмотрим, как создается эта функция. Вы должны поместить приведенный ниже код в модуль в VB Editor. Я рассматриваю эту тему в разделе «Где разместить код VBA для пользовательской функции».

Function GetNumeric(CellRef As String) as Long
' Эта функция извлекает числовую часть из строки
Dim StringLength As Integer
StringLength = Len(CellRef)
For i = 1 To StringLength
If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1)
Next i
GetNumeric = Result
End Function

Первая строка кода начинается со слова «Функция».

Это слово говорит VBA, что наш код является функцией (а не подпрограммой). За словом Function следует имя функции — GetNumeric. Это имя, которое мы будем использовать на листе, чтобы использовать эту функцию.

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

За именем функции следуют некоторые аргументы в скобках. Это аргументы, которые нужны нашей функции от пользователя. Это как аргументы, которые мы должны предоставить встроенным функциям Excel. Например, в функции COUNTIF есть два аргумента (диапазон и критерии).

Arguments in a user defined function in VBA

В скобках необходимо указать аргументы.

В нашем примере есть только один аргумент — CellRef.

Также полезно указывать, какой аргумент ожидает функция. В этом примере, так как мы будем передавать функции ссылку на ячейку, мы можем указать аргумент как тип «Range». Если вы не укажете тип данных, VBA будет рассматривать его как вариант (что означает, что вы можете использовать любой тип данных).

Argument defined as range in the user defined function

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

Обратите внимание, что функция указана как тип данных «String». Это сообщит VBA, что результат формулы будет иметь тип данных String.

Здесь я могу использовать числовой тип данных (например, Long или Double), но это ограничит диапазон возвращаемых чисел. Если у меня есть строка длиной 20 номеров, которую мне нужно извлечь из общей строки, объявление функции как Long или Double приведет к ошибке (так как число будет вне диапазона). Поэтому я сохранил тип выходных данных функции как String.

Defining the Function Output Data type in the custom function

Вторая строка кода — зеленая, которая начинается с апострофа — это комментарий. При чтении кода VBA игнорирует эту строку. Вы можете использовать это, чтобы добавить описание или подробности о коде.

Comment in the User Defined Function in Excel VBA

Третья строка кода объявляет переменную StringLength как тип данных Integer. Это переменная, в которой мы храним значение длины строки, которая анализируется по формуле.

В четвертой строке переменная Result объявляется как тип данных String. Это переменная, в которой мы будем извлекать числа из буквенно-цифровой строки.

Declaring Variables in the UDF custom function in VBA

Пятая строка назначает длину строки во входном аргументе переменной «StringLength». Обратите внимание, что «CellRef» относится к аргументу, который будет предоставлен пользователем при использовании формулы в рабочей таблице (или при использовании ее в VBA — которую мы увидим позже в этом руководстве).

Assigning length of the string to a variable

Шестая, седьмая и восьмая строки являются частью цикла For Next. Цикл выполняется столько раз, сколько символов во входном аргументе. Этот номер задается функцией LEN и присваивается переменной «StringLength».

Таким образом, цикл проходит от «1 до Stringlength».

Внутри цикла оператор IF анализирует каждый символ строки и, если он числовой, добавляет этот числовой символ в переменную Result. Для этого он использует функцию MID в VBA.

For Next Loop in the User Defined Function

Вторая последняя строка кода присваивает значение результата функции. Именно эта строка кода гарантирует, что функция вернет значение «Result» обратно в ячейку (откуда она вызывается).

Assigning Result value to the custom function

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

End Function as the last line of VBA code

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

Аргументы в пользовательской функции в VBA

В приведенных выше примерах, где мы создали пользовательскую функцию для получения числовой части из буквенно-цифровой строки (GetNumeric), функция была разработана для получения одного аргумента.

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

Создание функции в VBA без каких-либо аргументов

В листе Excel у нас есть несколько функций, которые не принимают аргументов (например, RAND, TODAY, NOW).

Эти функции не зависят от входных аргументов. Например, функция TODAY возвращает текущую дату, а функция RAND возвращает случайное число в диапазоне от 0 до 1.

Вы можете создать такую же функцию в VBA.

Ниже приведен код, который даст вам имя файла. Он не принимает никаких аргументов, так как результат, который нужно вернуть, не зависит ни от одного аргумента.

Function WorkbookName() As String
WorkbookName = ThisWorkbook.Name
End Function

Приведенный выше код определяет результат функции как тип данных String (в качестве результата мы хотим получить имя файла, которое является строкой).

Эта функция присваивает функции значение «ThisWorkbook.Name», которое возвращается, когда функция используется на рабочем листе.

Если файл был сохранен, он возвращает имя с расширением файла, в противном случае он просто дает имя.

Выше есть одна проблема, хотя.

Если имя файла изменится, оно не будет автоматически обновлено. Обычно функция обновляется при изменении входных аргументов. Но поскольку в этой функции нет аргументов, функция не пересчитывает (даже если вы измените имя книги, закройте ее, а затем снова откройте).

При желании вы можете форсировать пересчет с помощью сочетания клавиш — Control + Alt + F9.

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

Приведенный ниже код заставляет функцию пересчитывать всякий раз, когда происходит изменение в рабочем листе (как и в других аналогичных функциях рабочего листа, таких как функция TODAY или RAND).

Function WorkbookName() As String
Application.Volatile True
WorkbookName = ThisWorkbook.Name
End Function

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

Создание функции в VBA с одним аргументом

В одном из разделов выше мы уже видели, как создать функцию, которая принимает только один аргумент (функция GetNumeric, описанная выше).

Давайте создадим еще одну простую функцию, которая принимает только один аргумент.

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

Function ConvertToUpperCase(CellRef As Range)
ConvertToUpperCase = UCase(CellRef)
End Function

Эта функция использует функцию UCase в VBA для изменения значения переменной CellRef. Затем он присваивает значение функции ConvertToUpperCase.

Поскольку эта функция принимает аргумент, нам не нужно использовать здесь часть Application.Volatile. Как только аргумент изменится, функция автоматически обновится.

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

Точно так же, как функции рабочего листа, вы можете создавать функции в VBA, которые принимают несколько аргументов.

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

Function GetDataBeforeDelimiter(CellRef As Range, Delim As String) as String
Dim Result As String
Dim DelimPosition As Integer
DelimPosition = InStr(1, CellRef, Delim, vbBinaryCompare) - 1
Result = Left(CellRef, DelimPosition)
GetDataBeforeDelimiter = Result
End Function

Когда вам нужно использовать более одного аргумента в пользовательской функции, вы можете иметь все аргументы в скобках, разделенные запятой.

Обратите внимание, что для каждого аргумента вы можете указать тип данных. В приведенном выше примере «CellRef» был объявлен как тип данных диапазона, а «Delim» был объявлен как тип данных String. Если вы не укажете какой-либо тип данных, VBA считает, что это вариант данных.

Когда вы используете вышеуказанную функцию на листе, вам нужно указать ссылку на ячейку, в которой в качестве первого аргумента указан текст, а в качестве двойного кавычка — символ (ы) в двойных кавычках.

Затем он проверяет положение разделителя с помощью функции INSTR в VBA. Эта позиция затем используется для извлечения всех символов перед разделителем (используя функцию LEFT).

Наконец, он присваивает результат функции.

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

Function GetDataBeforeDelimiter(CellRef As Range, Delim As String) as String
Dim Result As String
Dim DelimPosition As Integer
DelimPosition = InStr(1, CellRef, Delim, vbBinaryCompare) - 1
If DelimPosition < 0 Then DelimPosition = Len(CellRef)
Result = Left(CellRef, DelimPosition)
GetDataBeforeDelimiter = Result
End Function

Мы можем дополнительно оптимизировать эту функцию.

Если вы введете текст (из которого вы хотите извлечь часть перед разделителем) непосредственно в функции, это приведет к ошибке. Давай .. попробуй!

Это происходит, когда мы указали «CellRef» в качестве типа данных диапазона.

Или, если вы хотите, чтобы разделитель находился в ячейке и использовал ссылку на ячейку вместо жесткого кодирования в формуле, вы не можете сделать это с помощью приведенного выше кода. Это потому, что Delim был объявлен как строковый тип данных.

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

Код ниже сделает это:

Function GetDataBeforeDelimiter(CellRef, Delim) As String
Dim Result As String
Dim DelimPosition As Integer
DelimPosition = InStr(1, CellRef, Delim, vbBinaryCompare) - 1
If DelimPosition < 0 Then DelimPosition = Len(CellRef)
Result = Left(CellRef, DelimPosition)
GetDataBeforeDelimiter = Result
End Function

Создание функции в VBA с необязательными аргументами

В Excel есть много функций, некоторые из которых не являются обязательными.

Например, легендарная функция VLOOKUP имеет 3 обязательных аргумента и один необязательный аргумент.

Optional Argument in the VLOOKUP function

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

Но необязательные аргументы не бесполезны. Они позволяют вам выбирать из целого ряда вариантов.

Например, в функции VLOOKUP, если вы не указали четвертый аргумент, VLOOKUP выполняет приблизительный поиск, а если вы указываете последний аргумент как FALSE (или 0), то он выполняет точное совпадение.

Помните, что необязательные аргументы всегда должны идти после всех обязательных аргументов. Вы не можете иметь дополнительные аргументы в начале.

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

Функция только с необязательным аргументом

Насколько я знаю, нет встроенной функции, которая принимает только необязательные аргументы (я могу ошибаться, но я не могу думать ни о какой такой функции).

Но мы можем создать один с VBA.

Ниже приведен код функции, которая выдаст вам текущую дату в формате dd-mm-yyyy, если вы не вводите никаких аргументов (т.е. оставьте это поле пустым), и в формате «dd mmmm, yyyy», если вы введете что-либо в качестве аргумента (т. е. что угодно, чтобы аргумент не был пустым).

Function CurrDate(Optional fmt As Variant)
Dim Result
If IsMissing(fmt) Then
CurrDate = Format(Date, "dd-mm-yyyy")
Else
CurrDate = Format(Date, "dd mmmm, yyyy")
End If
End Function

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

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

Вы можете сделать это более надежным, взяв только определенные значения в качестве аргументов и показывая ошибку в остальных случаях (как показано в приведенном ниже коде).

Function CurrDate(Optional fmt As Variant)
Dim Result
If IsMissing(fmt) Then
CurrDate = Format(Date, "dd-mm-yyyy")
ElseIf fmt = 1 Then
CurrDate = Format(Date, "dd mmmm, yyyy")
Else
CurrDate = CVErr(xlErrValue)
End If
End Function

Приведенный выше код создает функцию, которая показывает дату в формате «дд-мм-гггг», если аргумент не указан, и в формате «дд мммм, гггг», если аргумент равен 1. Во всех других случаях выдается ошибка.

Функция с необходимыми и необязательными аргументами

Мы уже видели код, который извлекает числовую часть из строки.

Теперь давайте рассмотрим похожий пример, который принимает как обязательные, так и необязательные аргументы.

Приведенный ниже код создает функцию, которая извлекает текстовую часть из строки. Если необязательный аргумент равен TRUE, он дает результат в верхнем регистре, а если необязательный аргумент имеет значение FALSE или опущен, он дает результат как есть.

Function GetText(CellRef As Range, Optional TextCase = False) As String
Dim StringLength As Integer
Dim Result As String
StringLength = Len(CellRef)
For i = 1 To StringLength
If Not (IsNumeric(Mid(CellRef, i, 1))) Then Result = Result & Mid(CellRef, i, 1)
Next i
If TextCase = True Then Result = UCase(Result)
GetText = Result
End Function

Обратите внимание, что в приведенном выше коде мы инициализировали значение «TextCase» как False (смотрите в скобках в первой строке).

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

Создание функции в VBA с массивом в качестве аргумента

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

Вы также можете создать функцию, которая может принимать массив в качестве аргумента. В функциях листа Excel есть много функций, которые принимают аргументы массива, такие как SUM, VLOOKUP, SUMIF, COUNTIF и т.д.

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

Function AddEven(CellRef as Range)
 Dim Cell As Range
 For Each Cell In CellRef
 If IsNumeric(Cell.Value) Then
 If Cell.Value Mod 2 = 0 Then
 Result = Result + Cell.Value
 End If
 End If
 Next Cell
 AddEven = Result
 End Function

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

Creating a User Defined Function with an array argument

В приведенной выше функции вместо одного значения мы предоставили массив (A1: A10). Чтобы это работало, вам нужно убедиться, что ваш тип данных аргумента может принимать массив.

В приведенном выше коде я указал аргумент CellRef как Range (который может принимать массив в качестве входных данных). Вы также можете использовать вариантный тип данных здесь.

В коде есть цикл For Each, который проходит через каждую ячейку и проверяет, является ли это число не. Если это не так, ничего не происходит, и он перемещается в следующую ячейку. Если это число, оно проверяет, является ли оно четным или нет (с помощью функции MOD).

В конце все четные числа добавляются, и сумма возвращается обратно в функцию.

Создание функции с неопределенным числом аргументов

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

Примером такой функции рабочего листа является функция SUM. Вы можете предоставить несколько аргументов (например, это):

= SUM (A1, A2: A4, B1: B20)

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

Вы можете создать такую ​​функцию в VBA, указав последний аргумент (или единственный аргумент) в качестве необязательного. Кроме того, этому необязательному аргументу должно предшествовать ключевое слово «ParamArray».

ParamArray — это модификатор, который позволяет вам принимать столько аргументов, сколько вы хотите. Обратите внимание, что использование слова ParamArray перед аргументом делает аргумент необязательным. Однако вам не нужно использовать здесь слово «Необязательно».

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

Function AddArguments(ParamArray arglist() As Variant)
For Each arg In arglist
AddArguments = AddArguments + arg
Next arg
End Function

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

Function with paramarray

Обратите внимание, что в качестве аргумента вы можете использовать только одно значение, ссылку на ячейку, логическое значение или выражение. Вы не можете предоставить массив в качестве аргумента. Например, если один из ваших аргументов — D8: D10, эта формула выдаст вам ошибку.

Если вы хотите использовать оба аргумента из нескольких ячеек, вам нужно использовать следующий код:

Function AddArguments(ParamArray arglist() As Variant)
For Each arg In arglist
For Each Cell In arg
AddArguments = AddArguments + Cell
Next Cell
Next arg
End Function

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

Цель здесь — показать вам, как работает ParamArray, чтобы вы могли разрешить неопределенное количество аргументов в функции. Если вам нужна функция лучше, чем та, которая была создана в приведенном выше коде, используйте функцию SUM на листе.

Создание функции, которая возвращает массив

До сих пор мы видели функции, которые возвращают одно значение.

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

Формулы массивов также доступны в виде встроенных функций на листах Excel. Если вы знакомы с формулами массива в Excel, вы знаете, что они вводятся клавишами Control + Shift + Enter (а не только Enter). Вы можете прочитать больше о формулах массива здесь. Если вы не знаете формул массива, не беспокойтесь, продолжайте читать.

Давайте создадим формулу, которая возвращает массив из трех чисел (1,2,3).

Код ниже сделает это.

Function ThreeNumbers() As Variant
Dim NumberValue(1 To 3)
NumberValue(1) = 1
NumberValue(2) = 2
NumberValue(3) = 3
ThreeNumbers = NumberValue
End Function

В приведенном выше коде мы указали функцию ThreeNumbers в качестве варианта. Это позволяет ему содержать массив значений.

Переменная NumberValue объявлена как массив из 3 элементов. Он содержит три значения и присваивает его функции «Три числа».

Вы можете использовать эту функцию на рабочем листе. Введите эту функцию и нажмите клавиши Control + Shift + Enter (удерживайте клавиши Control и Shift и затем нажмите Enter).

Creating a function in VBA that returns an array

Когда вы сделаете это, он вернет 1 в ячейке, но в действительности он содержит все три значения. Чтобы проверить это, используйте следующую формулу:

= MAX (ThreeNumbers ())

Используйте вышеуказанную функцию с Control + Shift + Enter. Вы заметите, что теперь результат равен 3, так как это самые большие значения в массиве, возвращаемом функцией Max, которая получает три числа в результате нашей пользовательской функции — ThreeNumbers.

Вы можете использовать ту же технику для создания функции, которая возвращает массив названий месяцев, как показано в приведенном ниже коде:

Function Months() As Variant
Dim MonthName(1 To 12)
MonthName(1) = "Январь"
MonthName(2) = "Февраль"
MonthName(3) = "Март"
MonthName(4) = "Апрель"
MonthName(5) = "Май"
MonthName(6) = "Июнь"
MonthName(7) = "Июль"
MonthName(8) = "Август"
MonthName(9) = "Сентябрь"
MonthName(10) = "Октябрь"
MonthName(11) = "Ноябрь"
MonthName(12) = "Декабрь"
Months = MonthName
End Function

Теперь, когда вы введете функцию = Months () на листе Excel и используете Control + Shift + Enter, она вернет весь массив названий месяцев. Обратите внимание, что вы видите только январь в ячейке, поскольку это первое значение в массиве. Это не означает, что массив возвращает только одно значение.

Creating a function in VBA that returns an array of month names

Чтобы показать вам тот факт, что он возвращает все значения, сделайте это — выберите ячейку с формулой, перейдите на панель формул, выберите всю формулу и нажмите F9. Это покажет вам все значения, которые возвращает функция.

Array formula in VBA - All contents with F9

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

=INDEX(Months(),ROW())

Array formula in VBA - with Index Function

Теперь, если у вас много значений, не рекомендуется назначать эти значения одно за другим (как мы делали выше). Вместо этого вы можете использовать функцию Array в VBA.

Поэтому тот же код, в котором мы создаем функцию «Месяцы», станет короче, как показано ниже:

Function Months() As Variant
Months = Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", _
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь")
End Function

Вышеупомянутая функция использует функцию Array для назначения значений непосредственно этой функции.

Обратите внимание, что все функции, созданные выше, возвращают горизонтальный массив значений. Это означает, что если вы выберете 12 горизонтальных ячеек (скажем, A1: L1) и введете формулу = Months () в ячейку A1, вы получите все названия месяцев.

Months names in horizontal cells

Но что, если вы хотите эти значения в вертикальном диапазоне ячеек.

Вы можете сделать это, используя формулу TRANSPOSE на листе.

Просто выберите 12 вертикальных ячеек (смежные) и введите приведенную ниже формулу.

getting a vertical array of values from a VBA function

Функция может иметь две области действия — Public или Private.

  • Общая область означает, что функция доступна для всех листов в рабочей книге, а также для всех процедур (вспомогательных и функциональных) во всех модулях в рабочей книге. Это полезно, когда вы хотите вызвать функцию из подпрограммы (мы увидим, как это делается в следующем разделе).
  • Частная область означает, что функция доступна только в том модуле, в котором она существует. Вы не можете использовать его в других модулях. Вы также не увидите его в списке функций на рабочем листе. Например, если имя вашей функции — «Месяцы ()», и вы вводите функцию в Excel (после знака =), она не будет отображать вам имя функции. Однако вы все равно можете использовать его, если вводите название формулы

Если вы ничего не указали, функция по умолчанию является публичной.

Ниже приведена функция, которая является частной функцией:

Private Function WorkbookName() As String
WorkbookName = ThisWorkbook.Name
End Function

Вы можете использовать эту функцию в подпрограммах и процедурах в тех же модулях, но не можете использовать ее в других модулях. Эта функция также не будет отображаться на листе.

Приведенный ниже код сделает эту функцию публичной. Это также будет отображаться на листе.

Function WorkbookName() As String
WorkbookName = ThisWorkbook.Name
End Function

Различные способы использования пользовательской функции в Excel

Создав пользовательскую функцию в VBA, вы можете использовать ее по-разному.

Давайте сначала рассмотрим, как использовать функции на листе.

Использование пользовательских функций в рабочих листах

Мы уже видели примеры использования функции, созданной в VBA, на листе.

Все, что вам нужно сделать, это ввести имя функции, и оно отобразится в intellisense.

Public VBA function used in Worksheet

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

Вы также можете использовать диалоговое окно «Вставить функцию» для вставки пользовательской функции (используя шаги ниже). Это будет работать только для публичных функций.

  • Перейдите на вкладку «Данные».
  • Нажмите «Вставить функцию».

Insert Function option in the ribbon

  • В диалоговом окне «Вставка функции» выберите «Определено пользователем» в качестве категории. Эта опция отображается только тогда, когда у вас есть функция в редакторе VB (и функция Public).

Insert User Defined Function in Worksheet - dilaog box

  • Выберите функцию из списка всех общедоступных пользовательских функций.
  • Нажмите кнопку ОК

Вышеуказанные шаги вставят функцию в лист. Он также отображает диалоговое окно «Аргументы функции», которое предоставит вам подробную информацию об аргументах и результате.

Information dialog box when you insert the Function

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

=UPPER(WorkbookName())

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

Когда вы создали функцию, вы можете использовать ее и в других подпроцедурах.

Если функция Public, она может использоваться в любой процедуре в том же или другом модуле. Если это Private, его можно использовать только в том же модуле.

Ниже приведена функция, которая возвращает имя рабочей книги.

Function WorkbookName() As String 
WorkbookName = ThisWorkbook.Name 
End Function

Приведенная ниже процедура вызывает функцию, а затем отображает имя в окне сообщения.

Sub ShowWorkbookName()
MsgBox WorkbookName
End Sub

Вы также можете вызвать функцию из другой функции.

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

Function WorkbookName() As String
WorkbookName = ThisWorkbook.Name
End Function
Function WorkbookNameinUpper()
WorkbookNameinUpper = UCase(WorkbookName)
End Function

Вызов пользовательской функции из других книг

Если у вас есть функция в рабочей книге, вы можете вызвать эту функцию и в других рабочих книгах.

Есть несколько способов сделать это:

  1. Создание надстройки
  2. Функция сохранения в персональной макрокоманде
  3. Ссылка на функцию из другой рабочей книги.

Создание надстройки

Создав и установив надстройку, вы получите настраиваемую функцию, доступную во всех книгах.

Предположим, вы создали пользовательскую функцию — «GetNumeric» и хотите, чтобы она была во всех книгах. Для этого создайте новую рабочую книгу и поместите код функции в модуль этой новой рабочей книги.

Теперь следуйте инструкциям ниже, чтобы сохранить его как надстройку, а затем установить его в Excel.

  • Перейдите на вкладку «Файл» и нажмите «Сохранить как».

Create an Excel Add-in - Save as

  • В диалоговом окне «Сохранить как» измените тип «Сохранить как» на .xlam. Имя, которое вы назначаете файлу, будет именем вашей надстройки. В этом примере файл сохраняется с именем GetNumeric.
    • Вы заметите, что путь к файлу, в котором он сохраняется, автоматически изменяется. Вы можете использовать по умолчанию или изменить его, если хотите.

Create an Excel Add-in - Save as drop down

  • Откройте новую книгу Excel и перейдите на вкладку Разработчик.
  • Выберите параметр «Надстройки Excel».

Create an Excel Add-in - add-in

  • В диалоговом окне «Надстройки» найдите и найдите сохраненный файл и нажмите «ОК».

installing the addin to get function in all workbooks

Теперь надстройка была активирована.

Теперь вы можете использовать пользовательские функции во всех книгах.

Сохранение функции в персональной книге макросов

Персональная книга макросов — это скрытая рабочая книга в вашей системе, которая открывается при каждом запуске приложения Excel.

Это место, где вы можете хранить макросы и получать к ним доступ из любой книги. Это отличное место для хранения тех макросов, которые вы хотите часто использовать.

По умолчанию в вашем Excel нет личной книги макросов. Вам необходимо создать его, записав макрос и сохранив его в личной книге макросов.

Ссылка на функцию из другой книги

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

Предположим, у вас есть рабочая книга с именем «Рабочая тетрадь с формулой», и она имеет функцию с именем «GetNumeric».

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

=’Workbook with Formula’!GetNumeric(A1)

Приведенная выше формула будет использовать пользовательскую функцию в файле Workbook with Formula и даст вам результат.

Обратите внимание: поскольку в имени книги есть пробелы, его необходимо заключить в одинарные кавычки.

Использование оператора выхода из VBA

Если вы хотите выйти из функции во время выполнения кода, вы можете сделать это с помощью оператора «Выход из функции».

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

Function GetNumericFirstThree(CellRef As Range) As Long
Dim StringLength As Integer
StringLength = Len(CellRef)
For i = 1 To StringLength
If J = 3 Then Exit Function
If IsNumeric(Mid(CellRef, i, 1)) Then
J = J + 1
Result = Result & Mid(CellRef, i, 1)
GetNumericFirstThree = Result
End If
Next i
End Function

Вышеприведенная функция проверяет количество числовых символов, и когда она получает 3 числовых символа, она выходит из функции в следующем цикле.

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

Есть несколько методов, которые вы можете использовать при отладке пользовательской функции в VBA:

Отладка пользовательской функции с помощью окна сообщения

Используйте функцию MsgBox, чтобы показать окно сообщения с определенным значением.

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

Отладка пользовательской функции путем установки точки останова

Установите точку останова, чтобы иметь возможность проходить шаг за шагом по каждой строке. Чтобы установить точку останова, выберите нужную строку и нажмите F9 или нажмите на серую вертикальную область, которая слева от строк кода. Любой из этих методов вставил бы точку останова (вы увидите красную точку в серой области).

Setting the breakpoint

Как только вы установили точку останова и выполнили функцию, она идет до линии точки останова и затем останавливается. Теперь вы можете просмотреть код с помощью клавиши F8. Нажмите F8 один раз, чтобы перейти к следующей строке в коде.

Отладка пользовательской функции с помощью Debug.Print в коде

Вы можете использовать оператор Debug.Print в своем коде, чтобы получить значения указанных переменных / аргументов в непосредственном окне.

Например, в приведенном ниже коде я использовал Debug.Print, чтобы получить значение двух переменных — «j» и «Result».

Function GetNumericFirstThree(CellRef As Range) As Long
Dim StringLength As Integer
StringLength = Len(CellRef)
For i = 1 To StringLength
If J = 3 Then Exit Function
If IsNumeric(Mid(CellRef, i, 1)) Then
 J = J + 1
 Result = Result & Mid(CellRef, i, 1)
 Debug.Print J, Result
 GetNumericFirstThree = Result
End If
Next i
End Function

Когда этот код выполняется, он показывает следующее в immediate window.

Immediate Window result when creating a custom function in VBA Excel

Встроенные функции Excel против Пользовательской функции VBA

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

  • Встроенные функции работают намного быстрее, чем функции VBA.
  • Когда вы создаете отчет / панель мониторинга с использованием функций VBA и отправляете его клиенту / коллеге, им не нужно беспокоиться о том, включены макросы или нет. В некоторых случаях клиенты / клиенты пугаются, увидев предупреждение в желтой полосе (которое просто просит их включить макросы).
  • Благодаря встроенным функциям Excel вам не нужно беспокоиться о расширениях файлов. Если у вас есть макросы или пользовательские функции в рабочей книге, вам нужно сохранить их в формате .xlsm

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

  • Лучше использовать пользовательскую функцию, если ваша встроенная формула огромна и сложна. Это становится еще более актуальным, когда вам нужен кто-то еще, чтобы обновить формулы. Например, если у вас есть огромная формула, состоящая из множества различных функций, даже изменение ссылки на ячейку может быть утомительным и подверженным ошибкам. Вместо этого вы можете создать пользовательскую функцию, которая принимает только один или два аргумента и выполняет всю тяжелую работу с бэкэндом.
  • Когда вам нужно что-то сделать, что не может быть сделано встроенными функциями Excel. Примером этого может быть случай, когда вы хотите извлечь все числовые символы из строки. В таких случаях польза от использования пользовательской функции gar перевешивает ее недостатки.

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

При создании пользовательской функции необходимо поместить код в окно кода для книги, в которой вы хотите использовать функцию.

Ниже приведены инструкции по размещению кода для функции «GetNumeric» в книге.

  1. Перейдите на вкладку Разработчик.IF Then Else in Excel VBA - Developer Tab in ribbon
  2. Нажмите на Visual Basic. Это откроет редактор VB в бэкэнде.Создание и примеры пользовательской функции
  3. На панели Project Explorer в редакторе VB щелкните правой кнопкой мыши любой объект для книги, в которую вы хотите вставить код. Если вы не видите Project Explorer, перейдите на вкладку View и щелкните Project Explorer.
  4. Перейти к Вставить и нажмите на модуль. Это вставит объект модуля для вашей книги.                 Saving a Custom Function code in the module
  5. Скопируйте и вставьте код в окно модуля. User Defined function in the module code window

Понравилась статья? Поделить с друзьями:
  • Что может быть введено в таблице excel
  • Что используете при работе с excel
  • Что может содержать документ созданный с помощью word
  • Что имеется в word
  • Что изучает программа microsoft word