Обзор формул — Excel
Если вы еще не Excel в Интернете, скоро вы увидите, что это не просто сетка для ввода чисел в столбцах или строках. Да, с помощью Excel в Интернете можно найти итоги для столбца или строки чисел, но вы также можете вычислять платежи по ипотеке, решать математические или инженерные задачи или находить лучшие сценарии в зависимости от переменных чисел, которые вы подключали.
Excel в Интернете делает это с помощью формул в ячейках. Формула выполняет вычисления или другие действия с данными на листе. Формула всегда начинается со знака равенства (=), за которым могут следовать числа, математические операторы (например, знак «плюс» или «минус») и функции, которые значительно расширяют возможности формулы.
Ниже приведен пример формулы, умножающей 2 на 3 и прибавляющей к результату 5, чтобы получить 11.
=2*3+5
Следующая формула использует функцию ПЛТ для вычисления платежа по ипотеке (1 073,64 долларов США) с 5% ставкой (5% разделить на 12 месяцев равняется ежемесячному проценту) на период в 30 лет (360 месяцев) с займом на сумму 200 000 долларов:
=ПЛТ(0,05/12;360;200000)Ниже приведены примеры формул, которые можно использовать на листах.
-
=A1+A2+A3 Вычисляет сумму значений в ячейках A1, A2 и A3.
-
=КОРЕНЬ(A1) Использует функцию КОРЕНЬ для возврата значения квадратного корня числа в ячейке A1.
-
=СЕГОДНЯ() Возвращает текущую дату.
-
=ПРОПИСН(«привет»)
-
=ЕСЛИ(A1>0) Анализирует ячейку A1 и проверяет, превышает ли значение в ней нуль.
Элементы формулы
Формула также может содержать один или несколько из таких элементов: функции, ссылки, операторы и константы. («крышка») применяется для возведения числа в степень, а оператор * («звездочка») — для умножения.
Использование констант в формулах
Константа представляет собой готовое (не вычисляемое) значение, которое всегда остается неизменным. Например, дата 09.10.2008, число 210 и текст «Прибыль за квартал» являются константами. выражение или его значение константами не являются. Если формула в ячейке содержит константы, но не ссылки на другие ячейки (например, имеет вид =30+70+110), значение в такой ячейке изменяется только после изменения формулы.
Использование операторов в формулах
Операторы определяют операции, которые необходимо выполнить над элементами формулы. Вычисления выполняются в стандартном порядке (соответствующем основным правилам арифметики), однако его можно изменить с помощью скобок.
Типы операторов
Приложение Microsoft Excel поддерживает четыре типа операторов: арифметические, текстовые, операторы сравнения и операторы ссылок.
Арифметические операторы
Арифметические операторы служат для выполнения базовых арифметических операций, таких как сложение, вычитание, умножение, деление или объединение чисел. Результатом операций являются числа. Арифметические операторы приведены ниже.
Арифметический оператор | Значение | Пример |
---|---|---|
+ (знак «плюс») |
Сложение |
3+3 |
– (знак «минус») |
Вычитание |
3–1 |
* (звездочка) |
Умножение |
3*3 |
/ (косая черта) |
Деление |
|
% (знак процента) |
Доля |
20% |
^ (крышка) |
Возведение в степень |
3^2 |
Операторы сравнения
Операторы сравнения используются для сравнения двух значений. Результатом сравнения является логическое значение: ИСТИНА либо ЛОЖЬ.
Оператор сравнения | Значение | Пример |
---|---|---|
= (знак равенства) |
Равно |
A1=B1 |
> (знак «больше») |
Больше |
A1>B1 |
< (знак «меньше») |
Меньше |
A1<B1 |
>= (знак «больше или равно») |
Больше или равно |
A1>=B1 |
<= (знак «меньше или равно») |
Меньше или равно |
A1<=B1 |
<> (знак «не равно») |
Не равно |
A1<>B1 |
Текстовый оператор конкатенации
Амперсанд (&) используется для объединения (соединения) одной или нескольких текстовых строк в одну.
Текстовый оператор | Значение | Пример |
---|---|---|
& (амперсанд) |
Соединение или объединение последовательностей знаков в одну последовательность |
Выражение «Северный»&«ветер» дает результат «Северный ветер». |
Операторы ссылок
Для определения ссылок на диапазоны ячеек можно использовать операторы, указанные ниже.
Оператор ссылки | Значение | Пример |
---|---|---|
: (двоеточие) |
Оператор диапазона, который образует одну ссылку на все ячейки, находящиеся между первой и последней ячейками диапазона, включая эти ячейки. |
B5:B15 |
; (точка с запятой) |
Оператор объединения. Объединяет несколько ссылок в одну ссылку. |
СУММ(B5:B15,D5:D15) |
(пробел) |
Оператор пересечения множеств, используется для ссылки на общие ячейки двух диапазонов. |
B7:D7 C6:C8 |
Порядок выполнения Excel в Интернете формулах
В некоторых случаях порядок вычисления может повлиять на возвращаемое формулой значение, поэтому для получения нужных результатов важно понимать стандартный порядок вычислений и знать, как можно его изменить.
Порядок вычислений
Формулы вычисляют значения в определенном порядке. Формула всегда начинается со знака равно(=).Excel в Интернете интерпретирует знаки после знака равно как формулу. После знака равно вычисляются элементы (операнды), такие как константы или ссылки на ячейки. Они разделены операторами вычислений. Excel в Интернете вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.
Приоритет операторов
Если в одной формуле несколько операторов, Excel в Интернете выполняет операции в том порядке, который показан в таблице ниже. Если формула содержит операторы с одинаковым приоритетом, например операторы деления и умножения, Excel в Интернете эти операторы оцениваются слева направо.
Оператор | Описание |
---|---|
: (двоеточие) (один пробел) , (запятая) |
Операторы ссылок |
– |
Знак «минус» |
% |
Процент |
^ |
Возведение в степень |
* и / |
Умножение и деление |
+ и — |
Сложение и вычитание |
& |
Объединение двух текстовых строк в одну |
= |
Сравнение |
Использование круглых скобок
Чтобы изменить порядок вычисления формулы, заключите ее часть, которая должна быть выполнена первой, в скобки. Например, следующая формула дает результат 11, так как Excel в Интернете умножение выполняется перед с добавлением. В этой формуле число 2 умножается на 3, а затем к результату прибавляется число 5.
=5+2*3
Если же изменить синтаксис с помощью скобок, Excel в Интернете сбавляет 5 и 2, а затем умножает результат на 3, чтобы получить 21.
=(5+2)*3
В следующем примере скобки, в которые заключена первая часть формулы, принудительно Excel в Интернете сначала вычислить ячейки B4+25, а затем разделить результат на сумму значений в ячейках D5, E5 и F5.
=(B4+25)/СУММ(D5:F5)
Использование функций и вложенных функций в формулах
Функции — это заранее определенные формулы, которые выполняют вычисления по заданным величинам, называемым аргументами, и в указанном порядке. Эти функции позволяют выполнять как простые, так и сложные вычисления.
Синтаксис функций
Приведенный ниже пример функции ОКРУГЛ, округляющей число в ячейке A10, демонстрирует синтаксис функции.
1. Структура. Структура функции начинается со знака равно (=), за которым следуют имя функции, открывая скобка, аргументы функции, разделенные запятой, и закрывая скобка.
2. Имя функции. Чтобы отобразить список доступных функций, щелкните любую ячейку и нажмите клавиши SHIFT+F3.
3. Аргументы. Существуют различные типы аргументов: числа, текст, логические значения (ИСТИНА и ЛОЖЬ), массивы, значения ошибок (например #Н/Д) или ссылки на ячейки. Используемый аргумент должен возвращать значение, допустимое для данного аргумента. В качестве аргументов также используются константы, формулы и другие функции.
4. Всплывающая подсказка аргумента. При вводе функции появляется всплывающая подсказка с синтаксисом и аргументами. Например, всплывающая подсказка появляется после ввода выражения =ОКРУГЛ(. Всплывающие подсказки отображаются только для встроенных функций.
Ввод функций
Диалоговое окно Вставить функцию упрощает ввод функций при создании формул, в которых они содержатся. При вводе функции в формулу в диалоговом окне Вставить функцию отображаются имя функции, все ее аргументы, описание функции и каждого из аргументов, текущий результат функции и всей формулы.
Чтобы упростить создание и редактирование формул и свести к минимуму количество опечаток и синтаксических ошибок, пользуйтесь автозавершением формул. После того как вы введите знак «= » (знак равно) и начинательные буквы или триггер отображения Excel в Интернете под ячейкой будет отображаться динамический список действительных функций, аргументов и имен, которые соответствуют этим буквам или триггеру. После этого элемент из раскрывающегося списка можно вставить в формулу.
Вложенные функции
В некоторых случаях может потребоваться использовать функцию в качестве одного из аргументов другой функции. Например, в приведенной ниже формуле для сравнения результата со значением 50 используется вложенная функция СРЗНАЧ.
1. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.
Допустимые типы вычисляемых значений Вложенная функция, используемая в качестве аргумента, должна возвращать соответствующий ему тип данных. Например, если аргумент должен быть логическим, т. е. Если эта функция не работает, Excel в Интернете отобразит #VALUE! В противном случае TE102825393 выдаст ошибку «#ЗНАЧ!».
<c0>Предельное количество уровней вложенности функций</c0>. В формулах можно использовать до семи уровней вложенных функций. Если функция Б является аргументом функции А, функция Б находится на втором уровне вложенности. Например, в приведенном выше примере функции СРЗНАЧ и СУММ являются функциями второго уровня, поскольку обе они являются аргументами функции ЕСЛИ. Функция, вложенная в качестве аргумента в функцию СРЗНАЧ, будет функцией третьего уровня, и т. д.
Использование ссылок в формулах
Ссылка указывает на ячейку или диапазон ячеек на сайте и сообщает Excel в Интернете, где искать значения или данные, которые вы хотите использовать в формуле. С помощью ссылок в одной формуле можно использовать данные, которые находятся в разных частях листа, а также значение одной ячейки в нескольких формулах. Вы также можете задавать ссылки на ячейки разных листов одной книги либо на ячейки из других книг. Ссылки на ячейки других книг называются связями или внешними ссылками.
Стиль ссылок A1
Стиль ссылок по умолчанию По умолчанию в Excel в Интернете используется стиль ссылок A1, который ссылается на столбцы буквами (от A до XFD, всего 16 384 столбца) и ссылается на строки с числами (от 1 до 1 048 576). Эти буквы и номера называются заголовками строк и столбцов. Для ссылки на ячейку введите букву столбца, и затем — номер строки. Например, ссылка B2 указывает на ячейку, расположенную на пересечении столбца B и строки 2.
Ячейка или диапазон | Использование |
---|---|
Ячейка на пересечении столбца A и строки 10 |
A10 |
Диапазон ячеек: столбец А, строки 10-20. |
A10:A20 |
Диапазон ячеек: строка 15, столбцы B-E |
B15:E15 |
Все ячейки в строке 5 |
5:5 |
Все ячейки в строках с 5 по 10 |
5:10 |
Все ячейки в столбце H |
H:H |
Все ячейки в столбцах с H по J |
H:J |
Диапазон ячеек: столбцы А-E, строки 10-20 |
A10:E20 |
<c0>Ссылка на другой лист</c0>. В приведенном ниже примере функция СРЗНАЧ используется для расчета среднего значения диапазона B1:B10 на листе «Маркетинг» той же книги.
1. Ссылка на лист «Маркетинг».
2. Ссылка на диапазон ячеек с B1 по B10 включительно.
3. Ссылка на лист, отделенная от ссылки на диапазон значений.
Различия между абсолютными, относительными и смешанными ссылками
<c0>Относительные ссылки</c0>. Относительная ссылка в формуле, например A1, основана на относительной позиции ячейки, содержащей формулу, и ячейки, на которую указывает ссылка. При изменении позиции ячейки, содержащей формулу, изменяется и ссылка. При копировании или заполнении формулы вдоль строк и вдоль столбцов ссылка автоматически корректируется. По умолчанию в новых формулах используются относительные ссылки. Например, при копировании или заполнении относительной ссылки из ячейки B2 в ячейку B3 она автоматически изменяется с =A1 на =A2.
<c0>Абсолютные ссылки</c0>. Абсолютная ссылка на ячейку в формуле, например $A$1, всегда ссылается на ячейку, расположенную в определенном месте. При изменении позиции ячейки, содержащей формулу, абсолютная ссылка не изменяется. При копировании или заполнении формулы по строкам и столбцам абсолютная ссылка не корректируется. По умолчанию в новых формулах используются относительные ссылки, а для использования абсолютных ссылок надо активировать соответствующий параметр. Например, при копировании или заполнении абсолютной ссылки из ячейки B2 в ячейку B3 она остается прежней в обеих ячейках: =$A$1.
Смешанные ссылки Смешанная ссылка имеет абсолютный столбец и относительную строку либо абсолютную строку и относительный столбец. Абсолютная ссылка на столбец принимает форму $A 1, $B 1 и так далее. Абсолютная ссылка на строку имеет форму A$1, B$1 и так далее. При изменении позиции ячейки, содержаной формулу, изменяется относительная ссылка, а абсолютная ссылка не изменяется. При копировании или заполнении формулы по строкам или вниз по столбцам относительная ссылка автоматически корректируется, а абсолютная ссылка не корректируется. Например, при копировании или заполнении смешанной ссылки из ячейки A2 в B3 она будет меняться с =A$1 на =B$1.
Стиль трехмерных ссылок
Удобный способ для ссылки на несколько листов Трехмерные ссылки используются для анализа данных из одной и той же ячейки или диапазона ячеек на нескольких листах одной книги. Трехмерная ссылка содержит ссылку на ячейку или диапазон, перед которой указываются имена листов. Excel в Интернете использует все таблицы, которые хранятся между начальным и конечним именами ссылки. Например, формула =СУММ(Лист2:Лист13!B5) суммирует все значения, содержащиеся в ячейке B5 на всех листах в диапазоне от листа 2 до листа 13 включительно.
-
При помощи трехмерных ссылок можно создавать ссылки на ячейки на других листах, определять имена и создавать формулы с использованием следующих функций: СУММ, СРЗНАЧ, СРЗНАЧА, СЧЁТ, СЧЁТЗ, МАКС, МАКСА, МИН, МИНА, ПРОИЗВЕД, СТАНДОТКЛОН. Г, СТАНДОТКЛОН.В, СТАНДОТКЛОНА, СТАНДОТКЛОНПА, ДИСПР, ДИСП.В, ДИСПА и ДИСППА.
-
Трехмерные ссылки нельзя использовать в формулах массива.
-
Трехмерные ссылки нельзя использовать вместе с оператор пересечения (один пробел), а также в формулах с неявное пересечение.
<c0>Что происходит при перемещении, копировании, вставке или удалении листов</c0>. Нижеследующие примеры поясняют, какие изменения происходят в трехмерных ссылках при перемещении, копировании, вставке и удалении листов, на которые такие ссылки указывают. В примерах используется формула =СУММ(Лист2:Лист6!A2:A5) для суммирования значений в ячейках с A2 по A5 на листах со второго по шестой.
-
Вставка или копирование Если вставить листы между листами 2 и 6, Excel в Интернете будет включать в расчет все значения из ячеек с A2 по A5 на добавленных листах.
-
Удалить Если удалить листы между листами 2 и 6, Excel в Интернете вы вычислите их значения.
-
Переместить Если переместить листы между листами 2 и 6 в место за пределами диапазона, на который имеется ссылка, Excel в Интернете удалит их значения из вычислений.
-
Перемещение конечного листа Если переместить лист 2 или 6 в другое место книги, Excel в Интернете скорректирует сумму с учетом изменения диапазона листов.
-
Удаление конечного листа Если удалить лист 2 или 6, Excel в Интернете скорректирует сумму с учетом изменения диапазона листов между ними.
Стиль ссылок R1C1
Можно использовать такой стиль ссылок, при котором нумеруются и строки, и столбцы. Стиль ссылок R1C1 удобен для вычисления положения столбцов и строк в макросах. В стиле R1C1 Excel в Интернете указывает на расположение ячейки с помощью R, за которым следует номер строки, и C, за которым следует номер столбца.
Ссылка | Значение |
---|---|
R[-2]C |
относительная ссылка на ячейку, расположенную на две строки выше в том же столбце |
R[2]C[2] |
Относительная ссылка на ячейку, расположенную на две строки ниже и на два столбца правее |
R2C2 |
Абсолютная ссылка на ячейку, расположенную во второй строке второго столбца |
R[-1] |
Относительная ссылка на строку, расположенную выше текущей ячейки |
R |
Абсолютная ссылка на текущую строку |
При записи макроса Excel в Интернете некоторые команды с помощью стиля ссылок R1C1. Например, если записать команду (например, нажать кнопку «Автоумма»), чтобы вставить формулу, в которую добавляется диапазон ячеек, Excel в Интернете записи формулы со ссылками с помощью стиля R1C1, а не A1.
Использование имен в формулах
Можно создавать определенные имена для представления ячеек, диапазонов ячеек, формул, констант и Excel в Интернете таблиц. Имя — это значимое краткое обозначение, поясняющее предназначение ссылки на ячейку, константы, формулы или таблицы, так как понять их суть с первого взгляда бывает непросто. Ниже приведены примеры имен и показано, как их использование упрощает понимание формул.
Тип примера | Пример использования диапазонов вместо имен | Пример с использованием имен |
---|---|---|
Ссылка |
=СУММ(A16:A20) |
=СУММ(Продажи) |
Константа |
=ПРОИЗВЕД(A12,9. 5%) |
=ПРОИЗВЕД(Цена,НСП) |
Формула |
=ТЕКСТ(ВПР(MAX(A16,A20),A16:B20,2,FALSE),»дд.мм.гггг») |
=ТЕКСТ(ВПР(МАКС(Продажи),ИнформацияОПродажах,2,ЛОЖЬ),»дд.мм.гггг») |
Таблица |
A22:B25 |
=ПРОИЗВЕД(Price,Table1[@Tax Rate]) |
Типы имен
Существует несколько типов имен, которые можно создавать и использовать.
Определенное имя Имя, используемое для представления ячейки, диапазона ячеек, формулы или константы. Вы можете создавать собственные определенные имена. Кроме Excel в Интернете иногда задайте определенное имя, например при создании области печати.
Имя таблицы Имя таблицы Excel в Интернете, которая является набором данных по определенной теме, которые хранятся в записях (строках) и полях (столбцах). Excel в Интернете создает таблицу Excel в Интернете имя таблицы «Таблица1», «Таблица2» и так далее, каждый раз при вставке таблицы Excel в Интернете, но эти имена можно изменить, чтобы сделать их более осмысленными.
Создание и ввод имен
Имя создается с помощью «Создать имя из выделения». Можно удобно создавать имена из существующих имен строк и столбцов с помощью фрагмента, выделенного на листе.
Примечание: По умолчанию в именах используются абсолютные ссылки на ячейки.
Имя можно ввести указанными ниже способами.
-
Ввод с клавиатуры Введите имя, например, в качестве аргумента формулы.
-
<c0>Автозавершение формул</c0>. Используйте раскрывающийся список автозавершения формул, в котором автоматически выводятся допустимые имена.
Использование формул массива и констант массива
Excel в Интернете не поддерживает создание формул массива. Вы можете просматривать результаты формул массива, созданных в классическом приложении Excel, но не сможете изменить или пересчитать их. Если на вашем компьютере установлено классическое приложение Excel, нажмите кнопку Открыть в Excel, чтобы перейти к работе с массивами.
В примере формулы массива ниже вычисляется итоговое значение цен на акции; строки ячеек не используются при вычислении и отображении отдельных значений для каждой акции.
При вводе формулы «={СУММ(B2:D2*B3:D3)}» в качестве формулы массива сначала вычисляется значение «Акции» и «Цена» для каждой биржи, а затем — сумма всех результатов.
<c0>Вычисление нескольких значений</c0>. Некоторые функции возвращают массивы значений или требуют массив значений в качестве аргумента. Для вычисления нескольких значений с помощью формулы массива необходимо ввести массив в диапазон ячеек, состоящий из того же числа строк или столбцов, что и аргументы массива.
Например, по заданному ряду из трех значений продаж (в столбце B) для трех месяцев (в столбце A) функция ТЕНДЕНЦИЯ определяет продолжение линейного ряда объемов продаж. Чтобы можно было отобразить все результаты формулы, она вводится в три ячейки столбца C (C1:C3).
Формула «=ТЕНДЕНЦИЯ(B1:B3;A1:A3)», введенная как формула массива, возвращает три значения (22 196, 17 079 и 11 962), вычисленные по трем объемам продаж за три месяца.
Использование констант массива
В обычную формулу можно ввести ссылку на ячейку со значением или на само значение, также называемое константой. Подобным образом в формулу массива можно ввести ссылку на массив либо массив значений, содержащихся в ячейках (его иногда называют константой массива). Формулы массива принимают константы так же, как и другие формулы, однако константы массива необходимо вводить в определенном формате.
Константы массива могут содержать числа, текст, логические значения, например ИСТИНА или ЛОЖЬ, либо значения ошибок, такие как «#Н/Д». В одной константе массива могут присутствовать значения различных типов, например {1,3,4;ИСТИНА,ЛОЖЬ,ИСТИНА}. Числа в константах массива могут быть целыми, десятичными или иметь экспоненциальный формат. Текст должен быть заключен в двойные кавычки, например «Вторник».
Константы массива не могут содержать ссылки на ячейку, столбцы или строки разной длины, формулы и специальные знаки: $ (знак доллара), круглые скобки или % (знак процента).
При форматировании констант массива убедитесь, что выполняются указанные ниже требования.
-
Константы заключены в фигурные скобки ( { } ).
-
Столбцы разделены запятыми (,). Например, чтобы представить значения 10, 20, 30 и 40, введите {10,20,30,40}. Эта константа массива является матрицей размерности 1 на 4 и соответствует ссылке на одну строку и четыре столбца.
-
Значения ячеек из разных строк разделены точками с запятой (;). Например, чтобы представить значения 10, 20, 30, 40 и 50, 60, 70, 80, находящиеся в расположенных друг под другом ячейках, можно создать константу массива с размерностью 2 на 4: {10,20,30,40;50,60,70,80}.
5 вариантов использования функции ИНДЕКС (INDEX)
Бывает у вас такое: смотришь на человека и думаешь «что за @#$%)(*?» А потом при близком знакомстве оказывается, что он знает пять языков, прыгает с парашютом, имеет семеро детей и черный пояс в шахматах, да и, вообще, добрейшей души человек и умница?
Так и в Microsoft Excel: есть несколько похожих функций, про которых фраза «внешность обманчива» работает на 100%. Одна из наиболее многогранных и полезных — функция ИНДЕКС (INDEX). Далеко не все пользователи Excel про нее знают, и еще меньше используют все её возможности. Давайте разберем варианты ее применения, ибо их аж целых пять.
Вариант 1. Извлечение данных из столбца по номеру ячейки
Самый простой случай использования функции ИНДЕКС – это ситуация, когда нам нужно извлечь данные из одномерного диапазона-столбца, если мы знаем порядковый номер ячейки. Синтаксис в этом случае будет:
=ИНДЕКС(Диапазон_столбец; Порядковый_номер_ячейки)
Этот вариант известен большинству продвинутых пользователей Excel. В таком виде функция ИНДЕКС часто используется в связке с функцией ПОИСКПОЗ (MATCH), которая выдает номер искомого значения в диапазоне. Таким образом, эта пара заменяет легендарную ВПР (VLOOKUP):
… но, в отличие от ВПР, могут извлекать значения левее поискового столбца и номер столбца-результата высчитывать не нужно.
Вариант 2. Извлечение данных из двумерного диапазона
Если диапазон двумерный, т.е. состоит из нескольких строк и столбцов, то наша функция будет использоваться немного в другом формате:
=ИНДЕКС(Диапазон; Номер_строки; Номер_столбца)
Т.е. функция извлекает значение из ячейки диапазона с пересечения строки и столбца с заданными номерами.
Легко сообразить, что с помощью такой вариации ИНДЕКС и двух функций ПОИСКПОЗ можно легко реализовать двумерный поиск:
Вариант 3. Несколько таблиц
Если таблица не одна, а их несколько, то функция ИНДЕКС может извлечь данные из нужной строки и столбца именно заданной таблицы. В этом случае используется следующий синтаксис:
=ИНДЕКС((Диапазон1;Диапазон2;Диапазон3); Номер_строки; Номер_столбца; Номер_диапазона)
Обратите особое внимание, что в этом случае первый аргумент – список диапазонов — заключается в скобки, а сами диапазоны перечисляются через точку с запятой.
Вариант 4. Ссылка на столбец / строку
Если во втором варианте использования функции ИНДЕКС номер строки или столбца задать равным нулю (или просто не указать), то функция будет выдавать уже не значение, а ссылку на диапазон-столбец или диапазон-строку соответственно:
Обратите внимание, что поскольку ИНДЕКС выдает в этом варианте не конкретное значение ячейки, а ссылку на диапазон, то для подсчета потребуется заключить ее в дополнительную функцию, например СУММ (SUM), СРЗНАЧ (AVERAGE) и т.п.
Вариант 5. Ссылка на ячейку
Общеизвестно, что стандартная ссылка на любой диапазон ячеек в Excel выглядит как Начало-Двоеточие-Конец, например A2:B5. Хитрость в том, что если взять функцию ИНДЕКС в первом или втором варианте и подставить ее после двоеточия, то наша функция будет выдавать уже не значение, а адрес, и на выходе мы получим полноценную ссылку на диапазон от начальной ячейки до той, которую нашла ИНДЕКС:
Нечто похожее можно реализовать функцией СМЕЩ (OFFSET), но она, в отличие от ИНДЕКС, является волатильной, т.е. пересчитывается каждый раз при изменении любой ячейки листа. ИНДЕКС же работает более тонко и запускает пересчет только при изменении своих аргументов, что ощутимо ускоряет расчет в тяжелых книгах по сравнению со СМЕЩ.
Один из весьма распространенных на практике сценариев применения ИНДЕКС в таком варианте — это сочетание с функцией СЧЁТЗ (COUNTA), чтобы получить автоматически растягивающиеся диапазоны для выпадающих списков, сводных таблиц и т.д.
Ссылки по теме
СохранитьСохранитьExcel функция ячейка
Функция ЯЧЕЙКА() в MS EXCEL
Смотрите такжеПоставим пробел и выберем складывают или вычитают. например, для пользователя критерием лишь частично. аргумент ссылки указывает=INDEX(1:5000,C2,C3)A1или20 его первому столбцу можно указать, какой а затем — клавишуАргументы функции ИНДЕКС описаны
Предположим, что нужно узнать,
быть источником ошибки.
в круглых скобках;Функция ЯЧЕЙКА(), английская версия любую ячейку из Например, в ячейках с ником sam Например, таблица Excel на диапазон ячеек,=ИНДЕКС(1:5000;C2;C3).
R1C1Грецкие орехи и т. д. из них требуется ВВОД. При необходимости ниже. все ли участники Хорошая новость в во всех остальных CELL(), возвращает сведения данного диапазона: A1:A10 хранится последовательность это значение равно содержит столбец с функция ЯЧЕЙКА() возвращает
1:5000=ADDRESS($C$2,$C$3). К тому же | 1,75 ₽ Ссылка, возвращаемая функцией использовать. измените ширину столбцов, |
Массив | группы ввели в том, что при |
случаях — 0. | о форматировании, адресеЗакроем обе скобки и значений от 1 0,25 (4 вхождения). ФИО клиентов. Для |
сведения только для | – это первые=АДРЕС($C$2;$C$3) в результат может |
12 | ИНДЕКС, указывает наИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области]) чтобы видеть все — обязательный аргумент. Диапазон книгу время работы открытии книги функция»префикс» или содержимом ячейки. |
нажмем Enter. В | до 10. Для Общая сумма таких определения количества клиентов-однофамильцев левой верхней ячейки 5000 строк листаЕсли не указывать значение быть включено имяФормула пересечение строки «номер_строки»Аргументы функции ИНДЕКС описаны данные. ячеек или константа над проектом. Иначе пересчитывает свое значение |
Текстовое значение, соответствующее префиксу | Функция может вернуть результате получим: расчета количества ячеек значений, вычисляемая функцией с фамилией Иванов |
диапазона. | Excel. аргумента листа.Описание и столбца «номер_столбца». ниже.Данные массива. говоря, нужно подсчитать (также пересчитать книгу метки ячейки. Апостроф подробную информацию оЕсли выбрать ячейку не |
с числами больше | СУММ, соответствует количеству можно ввести функцию |
В этом примере мы | abs_numФункция |
Результат | Если указать в качествеСсылкаДанныеЕсли массив содержит только количество ячеек с можно нажав клавишу (‘) соответствует тексту, |
формате ячейки, исключив | из указанного диапазона, 3 и менее уникальных вхождений, то =СЧЁТЕСЛИ(A1:A300;”*Иванов*”). Символ «*»Пример 1. Дана таблица найдём ячейку с |
Использование функции
(тип_ссылки) в формуле,ADDRESS=ИНДЕКС(A2:C6;2;3)
аргумента «номер_строки» или — обязательный аргумент. СсылкаЯблоки одну строку или данными, причем данные
F9 выровненному влево, кавычки тем самым в получим ошибку #ПУСТО!. 8 необходимо выполнить есть, числу пользователей указывает на любое учета работы сотрудников максимальным значением и то результатом будет
(АДРЕС) может возвратитьПересечение второй строки и «номер_столбца» значение 0 на один илиЛимоны один столбец, соответствующий могут не быть). При открытии файлов («) — тексту, выровненному некоторых случаях необходимостьДанная ошибка означает, что следующие действия: на сайте. Полученное количество любых символов организации вида: используем функцию абсолютная ссылка. адрес ячейки или третьего столбца в (ноль), функция ИНДЕКС несколько диапазонов ячеек.Бананы аргумент «номер_строки» или численными: например, некоторые в разных экземплярах вправо, знак крышки использования VBA. Функция ячейка не принадлежитзаписать первую функцию СЧЁТЕСЛИ значение: до и послеНеобходимо с помощью функцииADDRESSЧтобы увидеть адрес в работать в сочетании диапазоне A2:C6, т.) — тексту, выровненному особенно полезна, если выделенной области. с критерием «>3»;
Для определения количества просмотренных подстроки «Иванов». ЯЧЕЙКА вычислить в(АДРЕС), чтобы получить виде относительной ссылки, с другими функциями, содержимое ячейки C3. целый столбец или «ссылка» используется несмежныйФормула обязательным. значения-заполнители, такие как подобного эффекта не по центру, обратная необходимо вывести вЕсли выделить несколько ячеекзаписать вторую функцию с страниц пользователями defaultПример 1. В таблице какой строке и её адрес. можно подставить в чтобы:38 целую строку соответственно. диапазон, его необходимоОписаниеЕсли массив содержит больше «TBD». Для выполнения возникает — формула =
Понимание ячеек Excel и функций диапазона в VBA
Excel мощный Если вы часто его используете, вы, вероятно, уже знаете много хитростей, используя формулы или автоформатирование, но используя ячейки а также Спектр Функции в VBA, вы можете поднять свою аналитику Excel на совершенно новый уровень.
Проблема с использованием функций Cells и Range в VBA состоит в том, что на продвинутых уровнях большинству людей трудно понять, как эти функции действительно работают. Использование их может очень запутать. Вот как вы можете использовать их так, как вы, вероятно, никогда не предполагали.
Функция клеток
Функции Cells и Range позволяют вам сообщить ваш VBA-скрипт
точно, где на вашем рабочем листе вы хотите получить, или разместить данные. Основное различие между двумя ячейками состоит в том, что они ссылаются.
ячейки обычно ссылаются на одну ячейку за раз, в то время как Спектр ссылается на группу клеток сразу. Формат этой функции Клетки (ряд, столбец).
Это относится к каждой ячейке на всем листе. Это единственный пример, когда функция Cells не ссылается на одну ячейку:
Worksheets("Sheet1").Cells
Это относится к третьей ячейке слева в верхнем ряду. Ячейка С1:
Worksheets("Sheet1").Cells(3)
Следующий код ссылается на ячейку D15:
Worksheets("Sheet1").Cells(15,4)
Если вы хотите, вы также можете ссылаться на ячейку D15 с помощью «Ячейки (15,« D »)» — вам разрешено использовать букву столбца.
Существует большая гибкость в возможности ссылаться на ячейку, используя число для столбца и ячейки, особенно с помощью сценариев, которые могут Переберите большое количество ячеек (и выполнять на них вычисления) очень быстро. Подробнее об этом мы поговорим ниже.
Функция диапазона
Во многих отношениях функция Range намного мощнее, чем использование ячеек, поскольку она позволяет вам ссылаться либо на одну ячейку, либо на определенный диапазон ячеек одновременно. Вы не собираетесь зацикливаться на функции Range, потому что ссылки на ячейки не являются числами (если только вы не внедрили в них функцию Cells).
Формат этой функции Диапазон (ячейка № 1, ячейка № 2). Каждая ячейка может быть обозначена буквой-номером.
Давайте посмотрим на несколько примеров.
Здесь функция диапазона ссылается на ячейку A5:
Worksheets("Sheet1").Range("A5")
Здесь функция диапазона ссылается на все ячейки между A1 и E20:
Worksheets("Sheet1").Range("A1:E20")
Как уже упоминалось выше, вам не нужно использовать числовые назначения. На самом деле вы можете использовать две функции Cells внутри функции Range для определения диапазона на листе, например так:
With Worksheets("Sheet1")
.Range(.Cells(1, 1), _
.Cells(20, 5))
End With
Приведенный выше код ссылается на тот же диапазон, что и функция Range («A1: E20»). Ценность его использования заключается в том, что он позволит вам писать код, который динамически работает с диапазонами, используя циклы
,
Теперь, когда вы понимаете, как форматировать функции Cells и Range, давайте рассмотрим, как вы можете творчески использовать эти функции в своем коде VBA.
Обработка данных с функцией ячеек
Функция Cells наиболее полезна, когда у вас есть сложная формула, которую вы хотите выполнить в нескольких диапазонах ячеек. Эти диапазоны также могут существовать на нескольких листах.
Давайте возьмем простой пример. Допустим, вы управляете командой продаж из 11 человек, и каждый месяц вы хотите посмотреть на их эффективность.
Ты можешь иметь Лист1 который отслеживает их количество продаж и объем продаж.
На Sheet2 это место, где вы отслеживаете их отзывы за последние 30 дней от клиентов вашей компании.
Если вы хотите рассчитать бонус на первом листе, используя значения из двух листов, есть несколько способов сделать это. Вы можете написать формулу в первой ячейке, которая выполняет вычисления, используя данные на двух листах, и перетащить ее вниз. Это сработает.
Альтернативой этому является создание сценария VBA, который вы запускаете при каждом открытии листа или запускаете с помощью командной кнопки на листе, чтобы вы могли контролировать время его расчета. Вы можете использовать сценарий VBA для извлечения всех данных о продажах из внешнего файла в любом случае.
Так почему бы не запустить вычисления для бонусного столбца в одном и том же сценарии в то время?
Клетки функционируют в действии
Если вы никогда ранее не писали VBA в Excel, вам нужно включить пункт меню «Разработчик». Для этого перейдите в файл > Опции. Нажмите на Настроить ленту. Наконец, выберите Developer из левой панели, добавлять на правой панели, и убедитесь, что флажок установлен.
Теперь, когда вы нажимаете Хорошо и вернитесь на основной лист, вы увидите пункт меню Разработчик.
Вы можете использовать Вставить меню, чтобы вставить командную кнопку, или просто нажмите Посмотреть код начать кодирование.
В этом примере мы будем запускать скрипт при каждом открытии книги. Для этого просто нажмите Посмотреть код из меню разработчика и вставьте следующую новую функцию в окно кода.
Private Sub Workbook_Open()
End Sub
Ваше окно кода будет выглядеть примерно так.
Теперь вы готовы написать код для обработки расчетов. Используя один цикл, вы можете пройтись по всем 11 сотрудникам, а с помощью функции Cells ввести три переменные, необходимые для расчета.
Помните, что функция Cells имеет строку и столбец в качестве параметров для идентификации каждой отдельной ячейки. Мы сделаем «x» в строке, будем использовать число для запроса данных каждого столбца. Количество строк — это число сотрудников, поэтому оно будет от 1 до 11. Идентификатор столбца будет 2 для количества продаж, 3 для объема продаж и 2 из листа 2 для оценки обратной связи.
В окончательном расчете используются следующие проценты для суммирования до 100 процентов от общего бонуса. Он основан на идеальном количестве продаж 50, объеме продаж 50 000 долларов и обратной связи 10.
- (Количество продаж / 50) х 0,4
- (Объем продаж / 50000) х 0,5
- (Оценка обратной связи / 10) х 0,1
Этот простой подход дает продавцам взвешенный бонус. За счет 50, объем 50 000 долларов и 10 баллов они получают весь максимальный бонус за месяц. Тем не менее, все, что находится в идеальном состоянии по любому фактору, уменьшает бонус. Все, что лучше идеального, повышает бонус.
Теперь давайте посмотрим, как можно реализовать всю эту логику в очень простом и коротком VBA-скрипте:
Private Sub Workbook_Open()
For x = 2 To 12
Worksheets("Sheet1").Cells(x, 4) = (Worksheets("Sheet1").Cells(x, 2).Value / 50) * 0.4 _
+ (Worksheets("Sheet1").Cells(x, 3).Value / 50000) * 0.5 _
+ (Worksheets("Sheet2").Cells(x, 2).Value / 10) * 0.1 _
Next x
End Sub
Вот как будет выглядеть вывод этого скрипта.
Если вы хотите, чтобы в столбце «Бонус» отображался фактический долларовый бонус, а не процент, вы можете умножить его на максимальную сумму бонуса. А еще лучше, поместите эту сумму в ячейку на другом листе и укажите ее в своем коде. Это упростит изменение значения позже без необходимости редактировать код.
Прелесть функции Cells в том, что вы можете создать довольно креативную логику для извлечения данных из много клеток по многим различным листам, и выполните с ними довольно сложные вычисления.
Вы можете выполнять всевозможные действия с ячейками с помощью функции Cells — например, очистка ячеек, изменение форматирования шрифта и многое другое.
Чтобы изучить все, что вы можете сделать дальше, загляните на страницу Microsoft MSDN для объекта Cells.
Форматирование ячеек с функцией диапазона
Функция «Ячейки» идеально подходит для циклического прохождения множества ячеек по одной за раз. Но если вы хотите применить что-то сразу ко всему диапазону ячеек, функция Range будет гораздо более эффективной.
Одним из вариантов использования этого может быть форматирование диапазона ячеек с использованием скрипта, если выполняются определенные условия.
Например, скажем, если общий объем продаж всех сотрудников отдела продаж превышает 400 000 долл. США, вы хотите выделить все ячейки в столбце бонуса зеленым, чтобы показать, что команда заработала дополнительный командный бонус.
Давайте посмотрим, как вы можете сделать это с помощью заявления IF
,
Private Sub Workbook_Open()
If Worksheets("Sheet1").Cells(13, 3).Value > 400000 Then
ActiveSheet.Range("D2:D12").Interior.ColorIndex = 4
End If
End Sub
Когда это выполняется, если ячейка превышает цель команды, все ячейки в диапазоне будут заполнены зеленым цветом.
Это всего лишь один простой пример множества действий, которые вы можете выполнять над группами ячеек с помощью функции Range. Другие вещи, которые вы можете сделать, включают в себя:
- Применить план вокруг группы
- Проверьте правильность написания текста внутри диапазона ячеек
- Очистить, скопировать или вырезать ячейки
- Поиск по диапазону с помощью метода «Найти»
- Намного больше
Обязательно прочитайте страницу Microsoft MSDN для объекта Range, чтобы увидеть все возможности.
Возьмите Excel на следующий уровень
Теперь, когда вы понимаете различия между функциями Cells и Range, пришло время перевести ваши сценарии VBA на новый уровень. Статья Данна об использовании функций подсчета и добавления в Excel позволит вам создавать еще более сложные сценарии, которые могут очень быстро накапливать значения во всех ваших наборах данных.
И если вы только начинаете работать с VBA в Excel, не забудьте, что у нас есть фантастическое вводное руководство по Excel VBA
для тебя тоже.
Функция ЕСЛИ: проверяем условия с текстом
Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст.
Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые значения. Функция ЕСЛИ не проверяет регистр – это делают функции, которые вы в ней используете. Поясним на примере.
Проверяем условие для полного совпадения текста.
Проверку выполнения доставки организуем при помощи обычного оператора сравнения «=».
=ЕСЛИ(G2=»выполнено»,ИСТИНА,ЛОЖЬ)
При этом будет не важно, в каком регистре записаны значения в вашей таблице.
Если же вас интересует именно точное совпадение текстовых значений с учетом регистра, то можно рекомендовать вместо оператора «=» использовать функцию СОВПАД(). Она проверяет идентичность двух текстовых значений с учетом регистра отдельных букв.
Вот как это может выглядеть на примере.
Обратите внимание, что если в качестве аргумента мы используем текст, то он обязательно должен быть заключён в кавычки.
ЕСЛИ + СОВПАД
В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор «=» нам не сможет помочь.
Но мы можем использовать функцию СОВПАД (английский аналог — EXACT).
Функция СОВПАД сравнивает два текста и возвращает ИСТИНА в случае их полного совпадения, и ЛОЖЬ — если есть хотя бы одно отличие, включая регистр букв. Поясним возможность ее использования на примере.
Формула проверки выполнения заказа в столбце Н может выглядеть следующим образом:
=ЕСЛИ(СОВПАД(G2,»Выполнено»),»Да»,»Нет»)
Как видите, варианты «ВЫПОЛНЕНО» и «выполнено» не засчитываются как правильные. Засчитываются только полные совпадения. Будет полезно, если важно точное написание текста — например, в артикулах товаров.
Использование функции ЕСЛИ с частичным совпадением текста.
Выше мы с вами рассмотрели, как использовать текстовые значения в функции ЕСЛИ. Но часто случается, что необходимо определить не полное, а частичное совпадение текста с каким-то эталоном. К примеру, нас интересует город, но при этом совершенно не важно его название.
Первое, что приходит на ум – использовать подстановочные знаки «?» и «*» (вопросительный знак и звездочку). Однако, к сожалению, этот простой способ здесь не проходит.
ЕСЛИ + ПОИСК
Нам поможет функция ПОИСК (в английском варианте – SEARCH). Она позволяет определить позицию, начиная с которой искомые символы встречаются в тексте. Синтаксис ее таков:
=ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем)
Если третий аргумент не указан, то поиск начинаем с самого начала – с первого символа.
Функция ПОИСК возвращает либо номер позиции, начиная с которой искомые символы встречаются в тексте, либо ошибку.
Но нам для использования в функции ЕСЛИ нужны логические значения.
Здесь нам на помощь приходит еще одна функция EXCEL – ЕЧИСЛО. Если ее аргументом является число, она возвратит логическое значение ИСТИНА. Во всех остальных случаях, в том числе и в случае, если ее аргумент возвращает ошибку, ЕЧИСЛО возвратит ЛОЖЬ.
В итоге наше выражение в ячейке G2 будет выглядеть следующим образом:
=ЕСЛИ(ЕЧИСЛО(ПОИСК(«город»,B2)),»Город»,»»)
Еще одно важное уточнение. Функция ПОИСК не различает регистр символов.
ЕСЛИ + НАЙТИ
В том случае, если для нас важны строчные и прописные буквы, то придется использовать вместо нее функцию НАЙТИ (в английском варианте – FIND).
Синтаксис ее совершенно аналогичен функции ПОИСК: что ищем, где ищем, начиная с какой позиции.
Изменим нашу формулу в ячейке G2
=ЕСЛИ(ЕЧИСЛО(НАЙТИ(«город»,B2)),»Да»,»Нет»)
То есть, если регистр символов для вас важен, просто замените ПОИСК на НАЙТИ.
Итак, мы с вами убедились, что простая на первый взгляд функция ЕСЛИ дает нам на самом деле много возможностей для операций с текстом.
Примеры использования функции ЕСЛИ:
Сравнение ячеек в Excel — Вы узнаете, как сравнивать значения в ячейках Excel на предмет точного совпадения или без учета регистра. Мы предложим вам несколько формул для сопоставления двух ячеек по их значениям, длине или количеству… Как проверить правильность ввода данных в Excel? — Подтверждаем правильность ввода галочкой. Задача: При ручном вводе данных в ячейки таблицы проверять правильность ввода в соответствии с имеющимся списком допустимых значений. В случае правильного ввода в отдельном столбце ставить… Визуализация данных при помощи функции ЕСЛИ — Функцию ЕСЛИ можно использовать для вставки в таблицу символов, которые наглядно показывают происходящие с данными изменения. К примеру, мы хотим показать в отдельной колонке таблицы, происходит рост или снижение продаж.… 3 примера, как функция ЕСЛИ работает с датами. — На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно применять так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это…0 0 голос
Рейтинг статьи
Как сделать автозаполнение ячеек таблицы Excel: формулами и другими данными
Программа Excel позволяет не только обрабатывать большие объемы данных, но и благодаря различным инструментам и функциям, делать это максимально быстро и эффективно. В данной статье мы разберем, каким образом работает автозаполнение ячеек данными.
Принцип работы автозаполнения
Для того, чтобы выполнить автозаполнение в Эксель нужно использовать так называемый маркер заполнения. Делается это достаточно просто:
- Наводим указатель мыши на нижний правый угол ячейки, информацию из которой хотим размножить.
- Должен появиться черный плюсик, который и является маркером заполнения. Зажав левую кнопку мыши тянем его вниз/вверх/вправо/влево – в зависимости от того, какое направление нам нужно (в нашем случае – вниз).
- Остановившись на ячейке, до которой хотим выполнить автозаполнение, отпускаем кнопку.
Примечание: заполнение ячеек с помощью маркера зависит от того, какие данные содержатся в исходной. В нашем случае это текстовое значение, которое было просто скопировано.
Автоматическое заполнение числами
Одним из самых распространенных примеров применения автозаполнения является ввод подряд идущих чисел. Допустим, нам нужно выполнить нумерацию от 1 до 25. Чтобы не вводить значения вручную, делаем так:
- Пишем в самой верхней ячейке будущего списка единицу. Затем по описанному выше принципу воспользуемся маркером заполнения, протянув его вниз на 25 строк.
- В результате, во всех ячейках получаем цифру 1. После этого щелкаем на появившийся значок справа от заполненного диапазона и в предложенном перечне выбираем команду “Заполнить”.
- Всего в несколько кликов нам удалось автоматически ввести в выделенные ячейки числа от 1 до 25, что и требовалось.
Альтернативный способ
Во время протягивания маркера заполнения вниз вместе с зажатой левой копкой мыши, также, удерживаем клавишу Ctrl. Рядом с привычным значком в виде черного плюсика при этом должен появиться еще один плюсик поменьше – слева и сверху.
После этого числа сразу же заполнятся по порядку, и необходимость использовать меню с параметрами автозаполнения отпадает.
Заполнение значений математической прогрессии
С помощью автозаполнения можно максимально быстро составить ряд прогрессии, правда, только арифметической.
- Печатаем в начальной ячейке будущего ряда первое числовое значение, в соседней – второе число с учетом шага прогрессии.
- Выделив обе ячейки воспользуемся маркером заполнения, который появится внизу последней (в нашем случае – нижней).
- Все готово, мы продолжили ряд арифметической прогрессии с заданным шагом, равным двум.
Примечание: Если в первых двух ячейках указать числа 1 и 2, то мы получим еще один способ заполнения числовых значений по порядку (прогрессия с разностью – один).
Использование функции “Заполнить”
Выполнить автозаполнение в Excel можно с помощью специального инструмента “Заполнить”. Алгоритм действий следующий:
- Вносим информацию в исходную ячейку. После этого любым удобным способом (например, с помощью зажатой левой кнопки мыши) выделяем область ячеек, к которой хотим применить автозаполнение.
- В группе инструментов “Редактирование” главной вкладки щелкаем по значку в виде стрелке вниз (это и есть функция “Заполнить”). Откроется перечень возможных вариантов, среди которых выбираем тот, который нужен (“вниз” в нашем примере).
- Получаем автоматически заполненный диапазон ячеек.
Заполнение ряда прогрессии
С помощью функции “Заполнить” можно, в т.ч., продолжить ряд прогрессии:
- Как и в алгоритме выше, указываем в начальной ячейке первое значение. Затем выделяем требуемый диапазон, кликаем по инструменту “Заполнить” и останавливаемся на варианте “Прогрессия”.
- Настраиваем параметры прогрессии в появившемся окошке:
- т.к. мы изначально выполнили выделение, уже сразу выбрано соответствующее расположение, однако, его можно изменить при желании.
- выбираем тип прогрессии: арифметическая, геометрическая, даты, автозаполнение. На этот раз остановимся на геометрической.
- указываем желаемый шаг.
- заполняем предельное значение. Не обязательно – если заранее был выбран диапазон. В противном случае, указать конкретное число необходимо.
- в некоторых ситуациях требуется выбрать единицу измерения.
- когда все параметры выставлены, жмем OK.
- Все готово, мы получили ряд чисел геометрической прогрессии с учетом выполненных настроек.
Автозаполнение ячеек формулами/функциями
Еще один распространенный пример использования автозаполнения – быстрое копирование формул/функции. При это учитываются относительные и абсолютные ссылки, содержащиеся в исходной ячейке.
Допустим, у нас есть перечень товаров, их стоимость и продажи в шт. Необходимо посчитать итоговую выручку по каждой позиции:
- В первой ячейке результирующего столбца пишем формулу в виде произведения цены на количество проданных штук. В нашей таблице – ставим знак “=” (любая формула должна начинаться со знака “равно”) и перемножаем соответствующие ячейки:
=B2*C2
.Подробнее с выполнением данного действия можно ознакомиться в нашей публикации – “Как умножать в Экселе: числа, ячейки, столбцы, формула, функция”. - Нажав клавишу Enter на клавиатуре получаем результат. Теперь остается только воспользоваться маркером заполнения, чтобы растянуть/скопировать формулу на оставшиеся строки.
- Расчет выручки по каждому товару готов.Выбрав произвольную ячейку из автоматически заполненного диапазона мы можем убедиться в том, что формула скопирована с учетом типа ссылок (в данном случае они являются относительными).
Другие виды автозаполнения
Возможности Эксель позволяют выполнить автозаполнение по порядку не только чисел, но и других подходящих для этого значений. При этом план действий остается тем же.
Даты
- Вводим дату в исходной ячейке. Затем тянем маркер заполнения в выбранном направлении (допустим, вправо).
- Получаем подряд идущие даты в выделенном диапазоне.
- Также вместо маркера можно воспользоваться функцией “Заполнить”, предварительно выделив диапазон элементов в нужном направлении и выбрав его же в доступных вариантах.
Примечание: формат ячеек при этом можно настроить на наше усмотрение.
Дни недели/месяцы
Аналогичным образом выполняется автоматическое заполнение ячеек по дням недели или названиям месяцев (на скриншоте).
Произвольные значения
Иногда в определенный диапазон ячеек требуется ввести однотипные данные с изменением содержащегося числового значения по возрастанию. Например, это может быть список адресов.
При протягивании значения из исходной ячейки на другие, мы видим, что меняется только номер дома: 2, 3, 4, 5 и т.д.
Создаем собственные списки
Если необходимого варианта автозаполнения в программе Excel нет, его можно создать вручную. В данном случае руководствуемся следующим планом действий:
- Открываем меню “Файл”.
- В перечне слева выбираем пункт “Параметры”.
- В открывшихся параметрах переходим в подраздел “Дополнительно”. Пролистываем содержимое в правой части окна, находим группу “Общие”, в которой щелкаем по кнопке “Изменить списки…”.
- На экране отобразится окошко со стандартными списками. По умолчанию должен быть выбран пункт “НОВЫЙ СПИСОК” (если это не так, отмечаем его вручную). Чтобы создать свой, щелкаем внутри поля “Элементы списка”, после чего по порядку добавляем нужные значения, каждое из которых должно начинаться с новой строки. Когда все готово, щелкаем “Добавить”.
- Созданный список появится в перечне слева. Теперь окно можно закрыть. Также выходим из параметров программы.
- Пишем в свободной ячейке любое слово из созданного списка, после чего можно воспользоваться маркером заполнения.Получаем диапазон ячеек, заполненных с учетом расположения значений в нашем списке. Причем сделано это циклически, т.е. после последнего слова снова начинается первое – и так до последнего элемента выделенной области.
Заключение
Таким образом, благодаря автозаполнению процесс ввода однотипных данных в Экселе можно максимально ускорить, что делает эту функцию одной из самых полезных и незаменимых практически для каждого пользователя. А это значит, что потраченное на изучение данного инструмента время в дальнейшем неоднократно окупится.
Функция СЧЁТЕСЛИ — служба поддержки Office
Используйте СЧЁТЕСЛИ, одну из статистических функций, для подсчета количества ячеек, соответствующих критерию; например, чтобы подсчитать, сколько раз конкретный город появляется в списке клиентов.
В простейшей форме СЧЁТЕСЛИ означает:
Например:
= СЧЁТЕСЛИ (A2: A5, «Лондон»)
= СЧЁТЕСЛИ (A2: A5; A4)
СЧЁТЕСЛИ (диапазон, критерий)
Имя аргумента | Описание |
---|---|
диапазон (обязательно) | Группа ячеек, которую нужно подсчитать. Диапазон может содержать числа, массивы, именованный диапазон или ссылки, содержащие числа. Пустые и текстовые значения игнорируются. Узнайте, как выбирать диапазоны на листе. |
критерии (обязательно) | Число, выражение, ссылка на ячейку или текстовая строка, определяющая, какие ячейки будут подсчитаны. Например, вы можете использовать число типа 32, сравнение типа «> 32», ячейку типа B4 или слово вроде «яблоки». СЧЁТЕСЛИ использует только один критерий. Используйте СЧЁТЕСЛИМН, если хотите использовать несколько критериев. |
Примеры
Чтобы использовать эти примеры в Excel, скопируйте данные из приведенной ниже таблицы и вставьте их в ячейку A1 нового листа.
Данные | Данные |
---|---|
яблок | 32 |
апельсинов | 54 |
персики | 75 |
яблок | 86 |
Формула | Описание |
= СЧЁТЕСЛИ (A2: A5; «яблоки») | Подсчитывает количество ячеек с яблоками в ячейках с A2 по A5.Результат 2. |
= СЧЁТЕСЛИ (A2: A5; A4) | Подсчитывает количество ячеек с персиками (значение в A4) в ячейках с A2 по A5. Результат 1. |
= СЧЁТЕСЛИ (A2: A5; A2) + СЧЁТЕСЛИ (A2: A5, A3) | Подсчитывает количество яблок (значение в A2) и апельсинов (значение в A3) в ячейках с A2 по A5.Результат: 3. В этой формуле дважды используется СЧЁТЕСЛИ, чтобы указать несколько критериев, по одному критерию на выражение. Вы также можете использовать функцию СЧЁТЕСЛИМН. |
= СЧЁТЕСЛИ (B2: B5; «> 55») | Подсчитывает количество ячеек со значением больше 55 в ячейках с B2 по B5. Результат 2. |
= СЧЁТЕСЛИ (B2: B5; «<>» & B4) | Подсчитывает количество ячеек со значением, не равным 75 в ячейках с B2 по B5.Амперсанд (&) объединяет оператор сравнения, если он не равен (<>), и значение в B4 для чтения = COUNTIF (B2: B5, «<> 75»). Результат 3. |
= СЧЁТЕСЛИ (B2: B5, «> = 32») — СЧЁТЕСЛИ (B2: B5, «> 85») | Подсчитывает количество ячеек со значением больше (>) или равным (=) 32 и меньше (<) или равным (=) 85 в ячейках с B2 по B5.Результат 3. |
= СЧЁТЕСЛИ (A2: A5; «*») | Подсчитывает количество ячеек, содержащих любой текст, в ячейках с A2 по A5. Звездочка (*) используется как подстановочный знак для соответствия любому символу. Результат — 4. |
= СЧЁТЕСЛИ (A2: A5, «????? es») | Подсчитывает количество ячеек, которые содержат ровно 7 символов и оканчиваются буквами «es» в ячейках с A2 по A5.Вопросительный знак (?) Используется как подстановочный знак для соответствия отдельным символам. Результат 2. |
Общие проблемы
Проблема | Что пошло не так |
---|---|
Для длинных строк возвращено неверное значение. | Функция СЧЁТЕСЛИ возвращает неверные результаты, если вы используете ее для сопоставления строк длиной более 255 символов. Для сопоставления строк длиной более 255 символов используйте функцию СЦЕПИТЬ или оператор конкатенации &. Например, = СЧЁТЕСЛИ (A2: A5, «длинная строка» & «другая длинная строка»). |
Нет значения, возвращенного, когда вы ожидаете значение. | Обязательно заключите аргумент критерий в кавычки. |
Формула СЧЁТЕСЛИ получает # ЗНАЧ! ошибка при обращении к другому листу. | Эта ошибка возникает, когда формула, содержащая функцию, относится к ячейкам или диапазону в закрытой книге, и ячейки вычисляются.Чтобы эта функция работала, другая книга должна быть открыта. |
Лучшие практики
Сделай это | Почему |
---|---|
Имейте в виду, что СЧЁТЕСЛИ игнорирует верхний и нижний регистр в текстовых строках. | Критерии не чувствительны к регистру. Другими словами, строка «яблоки» и строка «ЯБЛОКИ» будут соответствовать одним и тем же ячейкам. |
Используйте подстановочные знаки. | Подстановочные знаки — вопросительный знак (?) И звездочка (*) — можно использовать в критериях .Знак вопроса соответствует любому одиночному символу. Звездочка соответствует любой последовательности символов. Если вы хотите найти настоящий вопросительный знак или звездочку, введите тильду (~) перед символом. Например, = COUNTIF (A2: A5, «яблоко?») Будет считать все экземпляры слова «яблоко» с последней буквой, которая может отличаться. |
Убедитесь, что ваши данные не содержат ошибочных символов. | При подсчете текстовых значений убедитесь, что данные не содержат начальных и конечных пробелов, непоследовательного использования прямых и фигурных кавычек или непечатаемых символов.В этих случаях СЧЁТЕСЛИ может вернуть неожиданное значение. Попробуйте использовать функцию CLEAN или функцию TRIM. |
Для удобства используйте именованные диапазоны | СЧЁТЕСЛИ поддерживает именованные диапазоны в формуле (например, = СЧЁТЕСЛИ ( плод , «> = 32») — СЧЁТЕСЛИ ( плод , «> 85»). Именованный диапазон может находиться на текущем листе, другой лист в из той же книги или из другой книги.Для ссылки из другой книги эта вторая книга также должна быть открыта. |
Примечание. Функция СЧЁТЕСЛИ не будет подсчитывать ячейки на основе фона ячейки или цвета шрифта. Однако Excel поддерживает определяемые пользователем функции (UDF) с помощью операций Microsoft Visual Basic для приложений (VBA) над ячейками на основе цвета фона или шрифта. Вот пример того, как вы можете подсчитать количество ячеек с определенным цветом ячеек с помощью VBA.
Нужна дополнительная помощь?
Вы всегда можете спросить эксперта в техническом сообществе Excel, получить поддержку в сообществе Answers или предложить новую функцию или улучшение в Excel User Voice.
См. Также
Чтобы подсчитать непустые ячейки, используйте функцию СЧЁТ
Чтобы подсчитать ячейки с использованием нескольких критериев, используйте функцию СЧЁТЕСЛИМН
Посмотрите видео о том, как использовать функцию СЧЁТЕСЛИМН
Функция СУММЕСЛИ добавляет только значения, соответствующие одному критерию.
Функция СУММЕСЛИМН добавляет только значения, соответствующие нескольким критериям.
Функция IFS (Microsoft 365, Excel 2016 и более поздние версии)
Используйте функцию TRIM, чтобы удалить начальные и конечные пробелы из ячеек
Используйте функцию CLEAN, чтобы удалить непечатаемые символы из ячеек
Обзор формул в Excel
Как избежать неправильных формул
Обнаруживать ошибки в формулах
Статистические функции
Функции Excel (по алфавиту)
Функции Excel (по категориям)
Использование СУММЕСЛИ, СЧЁТЕСЛИ и связанных функций для быстрого анализа данных (бесплатная предварительная версия)
.call (Call Function) — драйверы Windows
- 4 минуты на чтение
В этой статье
Команда .call заставляет целевой процесс выполнить функцию.
.call [/ v] Функция (аргументы)
.call / s Функция-прототип (аргументы)
.call / c
.call / C
Параметры
/ v
Отображается подробная информация о вызове и его аргументах.
/ с Prototype
Позволяет вызывать функцию, заданную параметром Function , даже если у вас нет правильных символов. В этом случае у вас должны быть символы для другой функции, которая имеет тот же вызывающий прототип, что и функция, которую вы пытаетесь вызвать. Параметр Prototype — это имя этой функции-прототипа.
Функция
Задает вызываемую функцию. Это может быть имя функции (желательно дополненное именем модуля) или любое другое выражение, вычисляющее адрес функции.Если вам нужно вызвать конструктор или деструктор, вы должны указать адрес — или же использовать выражение C ++ для оценки именованного синтаксиса операторов (подробности см. В разделе Синтаксис числовых выражений).
Аргументы
Задает аргументы, передаваемые функции. Если вы вызываете метод, первым аргументом должно быть это , а все остальные аргументы следуют за ним. Аргументы должны быть разделены запятыми и должны соответствовать обычному синтаксису аргументов. Поддерживаются списки аргументов переменной длины.Выражения внутри аргумента анализируются оценщиком выражений C ++; подробности см. в C ++ Числа и операторы. Вы не можете ввести буквальную строку в качестве аргумента, но можете использовать указатель на строку или любую другую память, доступную для целевого процесса.
/ c
Удаляет все существующие вызовы текущего потока.
/ C
Очищает любой существующий вызов в текущем потоке и сбрасывает контекст текущего потока в контекст, сохраненный невыполненным вызовом.
Окружающая среда
Режимы | только пользовательский режим |
Цели | только отладка в реальном времени |
Платформы | только x86 и x64 |
Примечания
Указанная функция вызывается текущим потоком текущего процесса.
Поддерживаются только соглашения о вызовах cdecl , stdcall , fastcall и thiscall . Управляемый код не может быть вызван этой командой.
После использования .call отладчик обновит стек, изменит указатель инструкции, чтобы он указывал на начало вызываемой функции, а затем остановится. Используйте g (Go) , чтобы возобновить выполнение, или ~. g для выполнения только потока, выполняющего вызов.
Когда функция возвращается, происходит прерывание, и отладчик отображает возвращаемое значение функции.Возвращаемое значение также сохраняется в псевдорегистраторе $ callret , который получает тип возвращаемого значения.
Если вы взломали цель с помощью CTRL + C или CTRL + BREAK, текущий поток является дополнительным потоком, созданным для обработки взлома. Если вы на этом этапе выполните команду .call , дополнительный поток будет использован для вызываемой функции.
Если вы достигли предопределенной точки останова, дополнительного потока прерывания нет. Если вы используете .вызовите , находясь в точке останова в пользовательском режиме, вы можете использовать g для выполнения всего процесса или ~. g для выполнения только текущего потока. Использование g может исказить поведение вашей программы, поскольку вы взяли один поток и перенаправили его на эту новую функцию. С другой стороны, этот поток по-прежнему будет иметь свои блокировки и другие атрибуты, и, следовательно, ~. g может привести к возникновению тупиковых ситуаций.
Самый безопасный способ использовать .call — установить точку останова в вашем коде в месте, где определенная функция может быть безопасно вызвана.При достижении этой точки останова вы можете использовать .call , если хотите, чтобы эта функция запускалась. Если вы используете .call в точке, где эта функция обычно не может быть вызвана, это может привести к тупиковой ситуации или повреждению цели.
Может быть полезно добавить в исходный код дополнительные функции, которые не вызываются существующим кодом, но предназначены для вызова отладчиком. Например, вы можете добавить функции, которые используются для исследования текущего состояния вашего кода и его среды, а также для хранения информации о состоянии в известной области памяти.Убедитесь, что ваш код не оптимизирован, иначе эти функции могут быть удалены компилятором. Используйте этот метод только в крайнем случае, потому что в случае сбоя приложения .call не будет доступен при отладке файла дампа.
Команды .call / c и .call / C следует использовать только в случае неудачной попытки использовать .call или если вы передумали перед вводом команды g . Их не следует использовать случайно, поскольку отказ от незавершенного вызова может привести к повреждению целевого состояния.
В следующем примере кода показано, как используется команда .call / s .
.call / s KnownFunction UnknownFunction (1)
В этом примере у вас есть частные символы для KnownFunction , которая принимает целое число в качестве единственного аргумента и возвращает, например, указатель на массив. У вас нет символов или, возможно, у вас есть только общедоступные символы для UnknownFunction , но вы знаете, что она принимает целое число в качестве единственного аргумента и возвращает указатель на массив.Используя параметр / s , вы можете указать, что UnknownFunction будет работать так же, как KnownFunction . Таким образом, вы можете успешно сгенерировать вызов UnknownFunction .
Функция ячейки| SEER Обучение
Структурные и функциональные характеристики различных типов клеток определяются природой присутствующих белков. Клетки разных типов имеют разные функции, потому что структура и функция клеток тесно связаны.Очевидно, что очень тонкая клетка не подходит для защитной функции. Костные клетки не имеют подходящей структуры для проведения нервных импульсов. Так же, как существует много типов клеток, существуют различные функции клеток. Обобщенные функции клеток включают перемещение веществ через клеточную мембрану, деление клеток с образованием новых клеток и синтез белка.
Движение веществ через клеточную мембрану
Выживание клетки зависит от сохранения разницы между внеклеточным и внутриклеточным материалом.Механизмы движения через клеточную мембрану включают простую диффузию, осмос, фильтрацию, активный транспорт, эндоцитоз и экзоцитоз.
Простая диффузия — это перемещение частиц (растворенных веществ) из области с более высокой концентрацией растворенных веществ в область с более низкой концентрацией растворенных веществ. Осмос — это диффузия молекул растворителя или воды через избирательно проницаемую мембрану. Фильтрация использует давление, чтобы проталкивать вещества через мембрану. Активный транспорт перемещает вещества против градиента концентрации из области более низкой концентрации в область более высокой концентрации.Он требует молекулы-носителя и использует энергию. Эндоцитоз относится к образованию пузырьков для переноса частиц и капель извне внутрь клетки. Секреторные пузырьки перемещаются изнутри наружу клетки путем экзоцитоза.
Отделение клеток
Деление клеток — это процесс образования новых клеток для роста, восстановления и замены в организме. Этот процесс включает деление ядерного материала и деление цитоплазмы. Все клетки тела (соматические клетки), кроме тех, которые дают начало яйцеклеткам и сперматозоидам (гаметам), размножаются путем митоза.Яйцеклетки и сперматозоиды образуются в результате особого типа деления ядра, называемого мейозом, при котором количество хромосом уменьшается вдвое. Деление цитоплазмы называется цитокинезом.
Соматические клетки размножаются путем митоза, в результате чего образуются две клетки, идентичные одной родительской клетке. Интерфаза — это период между последовательными делениями клеток. Это самая длинная часть клеточного цикла. Последовательные стадии митоза — профаза, метафаза, анафаза и телофаза. Цитокинез, деление цитоплазмы, происходит во время телофазы.
Мейоз — это особый тип деления клеток, который происходит при производстве гамет или яйцеклеток и сперматозоидов. Эти клетки имеют только 23 хромосомы, половину числа хромосом, обнаруженных в соматических клетках, поэтому, когда произойдет оплодотворение, полученная клетка снова будет иметь 46 хромосом, 23 из яйцеклетки и 23 из сперматозоидов.
Репликация ДНК и синтез белков
Белки, которые синтезируются в цитоплазме, действуют как структурные материалы, ферменты, регулирующие химические реакции, гормоны и другие жизненно важные вещества.ДНК в ядре направляет синтез белка в цитоплазме. Ген — это часть молекулы ДНК, которая контролирует синтез одной конкретной белковой молекулы. Информационная РНК несет генетическую информацию от ДНК в ядре к участкам синтеза белка в цитоплазме.
Структура ячейки| SEER Обучение
С годами представления о строении клеток значительно изменились.Ранние биологи рассматривали клетки как простые мембранные мешочки, содержащие жидкость и несколько плавающих частиц. Современные биологи знают, что клетки намного сложнее, чем это.
Есть много разных типов, размеров и форм клеток в теле. Для наглядности вводится понятие «обобщенная ячейка». Он включает в себя функции всех типов ячеек. Клетка состоит из трех частей: клеточной мембраны, ядра и цитоплазмы между ними. Внутри цитоплазмы находятся сложные структуры из тонких волокон и сотен или даже тысяч крохотных, но различных структур, называемых органеллами.
Клеточная мембрана
Каждая клетка тела окружена клеточной (плазменной) мембраной. Клеточная мембрана отделяет материал вне клетки, внеклеточный, от материала внутри клетки, внутриклеточный. Он поддерживает целостность ячейки и контролирует прохождение материалов в ячейку и из нее. Все материалы внутри клетки должны иметь доступ к клеточной мембране (границе клетки) для необходимого обмена.
Клеточная мембрана представляет собой двойной слой молекул фосфолипидов.Белки в клеточной мембране обеспечивают структурную поддержку, образуют каналы для прохождения материалов, действуют как рецепторные участки, действуют как молекулы-носители и обеспечивают маркеры идентификации.
Ядро и ядро
Ядро, образованное ядерной мембраной вокруг жидкой нуклеоплазмы, является центром управления клеткой. Нити хроматина в ядре содержат дезоксирибонуклеиновую кислоту (ДНК), генетический материал клетки. Ядрышко представляет собой плотный участок рибонуклеиновой кислоты (РНК) в ядре и место образования рибосом.Ядро определяет, как клетка будет функционировать, а также основную структуру этой клетки.
Цитоплазма
Цитоплазма представляет собой гелеобразную жидкость внутри клетки. Это среда для химической реакции. Он обеспечивает платформу, на которой другие органеллы могут работать внутри клетки. Все функции размножения, роста и репликации клеток выполняются в цитоплазме клетки. Внутри цитоплазмы материалы перемещаются путем диффузии, физического процесса, который может работать только на короткие расстояния.
Цитоплазматические органеллы
Цитоплазматические органеллы — это «маленькие органы», взвешенные в цитоплазме клетки. Каждый тип органелл имеет определенную структуру и определенную роль в функции клетки. Примерами цитоплазматических органелл являются митохондрии, рибосомы, эндоплазматический ретикулум, аппарат Гольджи и лизосомы.
Структура и функции бактериальных клеток
Бактерии — одноклеточные прокариотические организмы.Бактериальная клетка имеет более простую внутреннюю структуру. В нем отсутствуют все мембраносвязанные клеточные органеллы, такие как митохондрии, лизосомы, Гольджи, эндоплазматический ретикулум, хлоропласт, пероксисома, глиоксисома и настоящая вакуоль. Бактерии также не имеют действительно связанного с мембраной ядра и ядрышка. Бактериальное ядро известно как нуклеоид.
Типичная бактериальная клетка имеет следующую структуру.
A. Структура Наружная стенка ячейки
- Капсула
- Жгутик
- Пили
- Оболочка
- Prostheca
- Стебли
Б.Структура внутри стенки ячейки
- Клеточная стенка
- Цитоплазматическая мембрана
- Нуклеоид
- Мезосома
- Рибосома
- цитоплазма
- Спора
1. Капсула:
- Капсула представляет собой внешний слой вязкого слоя толщиной 0,2 мкм на стенке клетки.
- Капсула на 98% состоит из воды и 2% полисахарида или гликопротеина / полипептида или того и другого.
- Есть два типа капсул.
i. Макрокапсула: толщиной 0,2 мкм или более, видимая под световым микроскопом
ii. Микрокапсула: толщиной менее 0,2 мкм, видимая под электронным микроскопом
- Капсула имеет очень нежную структуру. Ее можно удалить путем тщательной промывки. Капсула является наиболее важным фактором вирулентности бактерий.
Функция:
- Помогает при установке насадок, а также предотвращает высыхание и высыхание ячейки.
- Капсула сопротивляется фагоцитозу лейкоцитами
2. Жгутики:
- Волосы длиной 15-20 нм, образующие спиральную структуру, выходящую из клеточной стенки.
- Жгутики не прямые, а спиралевидные. Он состоит из белка флагеллина (глобулярный белок) и известен как H-антиген.
- Жгутик состоит из трех частей. Базальное тело, крючок и нить
Функция:
- Способствует подвижности бактерий
3. Пили или фимбрии:
- Пили имеют полую нитевидную и неспиральную структуру.
- Они многочисленны и короче жгутиков
- Пили — характерный признак грамотрицательных бактерий.
- Пили состоит из белка пилина.
- Бактерии, содержащие пили: Shigella, Proteus, Neisseria gonorrhoae, E. coli
Вызов функции или подпроцедуры в VBA
Код процедур VBA выглядит так:
Sub ExampleCallFunction ()
Dim dtToday As Date
'вызвать пользовательскую функцию завтра
dtToday = Завтра
'вызов встроенного Sub MsgBox - внутри встроенного приглашения вызывается функция FormatDateTime
MsgBox Prompt: = "Завтра будет" & FormatDateTime (Выражение: = dtToday, NamedFormat: = vbGeneralDate), Buttons: = vbOKOnly + vbInformation
Конец подписки
Функция Завтра () как дата
Завтра = DateAdd (Интервал: = "d", Число: = 1, Дата: = Дата)
Завершение функции
На этой странице объясняются различные аспекты вызова вспомогательной или функциональной процедуры:
Не имеет значения, вызываете ли вы встроенную или настраиваемую процедуру.
Позвоните в службу поддержки
Чтобы вызвать подпроцедуру из другой процедуры, введите имя процедуры и включите значения для всех необходимых аргументов. Обычно для достижения побочных эффектов вы вызываете подпроцедуры:
- Спросите внимание пользователя:
Beep
- Запись в таблицу журнала:
ErrorHandle Err, Erl (), «Module1.Test»
Первый Sub является встроенным, второй будет написанным вами пользователем.
Вызов функции
Обычное использование функции — присвоить значение, возвращаемое функцией, переменной.Чтобы использовать возвращаемое значение функции, назначьте функцию переменной и заключите аргументы в круглые скобки.
Пример — вызов встроенной функции Date
:
Dim dtToday As Date
dtToday = Дата
Если тип возвращаемого значения — объект, а не встроенный тип, ему предшествует ключевое слово Set
, например в Excel VBA:
Dim rngActiveCell As Диапазон
Установите rngActiveCell = ActiveCell
Вы также можете вызывать функцию в аргументах функций.В приведенном ниже фрагменте (Сделать первый символ заглавными буквами) Len
используется, среди прочего, внутри IFF
.
Dim str As String: str =
IIf (Len (str)> 0, UCase (Left (str, 1)) & Mid (str, 2), "")
Другое использование функции — позиция в условном выражении, например:
Если не rngActiveCell - это ничего, тогда
Преобразование типа во время присвоения
Одна из особенностей VB, которая упрощает его использование, состоит в том, что он не строг в отношении типов.VB автоматически попытается интерпретировать то, что вы назначаете, чтобы продолжить. В приведенном ниже примере, даже если типы не совпадают, VB интерпретирует: Строка «Истина» преобразуется в Истину, Целое число 0 — в Ложь.
Dim boo As Boolean
boo = "Верно"
boo = 0
Возврат нескольких значений
Если вы хотите, чтобы ваша процедура возвращала несколько значений, например, функция TopLeftCoords. Теперь есть два подхода:
- Использовать аргументы для возврата одного или нескольких значений
- Создайте пользовательский тип данных и используйте его в качестве типа возвращаемого значения .
Используйте аргументы для возврата одного или нескольких значений
Sub TopLeft (X до длины, Y до длины)
Х = 5
Y = 6
Конец подписки
Sub TopLeftDemo ()
Dim lngX Пока
Dim lngY Пока
TopLeft lngX, lngY
Подсказка MsgBox: = "X =" & lngX & ";" & "Y =" & lngY, Кнопки: = vbOKOnly + vbInformation
Концевой переводник
Создайте пользовательский тип данных и используйте его как возвращаемый тип функции
Примечание: если вы хотите попробовать приведенный ниже код, по крайней мере, определение типа должно быть в стандартном модуле .
Координаты открытого типа
X до тех пор, пока
Y до тех пор, пока
Тип конца
Функция TopLeft () как координаты
С TopLeft
.X = 5
.Y = 6
Конец с
Конечная функция
Sub TopLeftDemo2 ()
Dim crds as Coords
crds = TopLeft
Подсказка MsgBox: = "X =" & crds.X & ";" & "Y =" & crds.Y, Кнопки: = vbOKOnly + vbInformation
Концевой переводник
Вызов функции с использованием аргументов позиции
Наиболее часто используемый способ вызова функции — использование позиции аргументов.Например. в следующем коде
Dim strReplaced As String
strReplaced = Replace ("AaBb", "ab", "ac")
Если вы видите такой код или вам нужно его написать, возникает повторяющийся вопрос: что он на самом деле делает. Хорошо, вы знаете, что это замена. Но какая строка заменяется где на что? И заменит ли он «aB» на «ac»? Чтобы увидеть, что можно поместить внутрь вызова функции и вставить пробел, открывающий всплывающую подсказку, см. Ниже. Однако более определенный способ — использовать явные аргументы.
Вызов функции с использованием явных аргументов
При использовании надстройки Code VBA Категории: Разное