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

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции СТРОКА в Microsoft Excel.

Описание

Возвращает номер строки, определяемой ссылкой.

Синтаксис

СТРОКА([ссылка])

Аргументы функции СТРОКА описаны ниже.

  • Ссылка    Необязательный. Ячейка или диапазон ячеек, для которых требуется вернуть номер строки.

    • Если ссылка опущена, то предполагается, что это ссылка на ячейку, в которой находится сама функция СТРОКА.

    • Если значение аргумента «ссылка» является диапазоном ячеек, а функция СТРОКА введена как вертикальный массив, функция СТРОКА возвращает номера строк, указанных в аргументе «ссылка», в виде вертикального массива.

    • В аргументе «ссылка» нельзя указывать несколько областей.

Примеры

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=СТРОКА()

Строка формулы

2

=СТРОКА(C10)

Строка ссылки

10

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


Функция

СТРОКА(

)

, английский вариант ROW(),

вычисляет

номер строки, определяемой ссылкой:

формула

=СТРОКА(B5)

вернет 5.

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


СТРОКА

(ссылка)


Ссылка

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

  • Если ссылка опущена, то функция

    СТРОКА()

    вернет номер строки в которую введена сама формула. Т.е. если формула

    =СТРОКА()

    введена в ячейку

    B5

    , то результат будет 5.

  • В аргументе «ссылка» нельзя указывать несколько областей, т.е. запись =СТРОКА(A1:A2;B2:B3) не допустима.

Использование функции в формулах массива

Так как функция

СТРОКА()

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

Строке формул

выражение

=СТРОКА(F8:F18)

. Выделите формулу и нажмите

F9

(см.

файл примера

).

Получим

массив последовательных чисел

{8:9:10:11:12:13:14:15:16:17:18}. Подобные последовательности часто используются в

формулах массива

(см., например, статью

Сложение значений в каждой третьей строке

).

Элементы этого массива можно вывести в отдельные ячейки. Для этого выделите диапазон

A5:A18

, состоящий из 13 ячеек, в

Строке формул

введите выражение

=СТРОКА(F8:F18)

как формулу массива, нажав

CTRL+SHIFT+ENTER

.

Функция

СТРОКА()

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

F8:F18

(10), то в трех ячейках формула вернула значения ошибки #Н/Д.

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

=ТРАНСП(СТРОКА(F8:F18))

. Не забудьте нажать

CTRL+SHIFT+ENTER

.

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

Записав в правиле

Условного форматирования

для диапазона

A5:A18

формулу

=НЕЧЁТ(СТРОКА())=СТРОКА()

получим

выделение цветом каждой второй строки

(см. рисунок выше).

Формирование списка без повторов

Если список значений содержит

повторяющиеся

значения (диапазон

A21:A34

), то функция

СТРОКА()

может быть использована для формирования списка без повторов. Формула

=ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)

возвращает значение если оно встречается первый раз.

Функция СТРОКА возвращает номер строки для указанной ссылки на ячейку. Например, формула =СТРОКА(D10) возвращает значение 10, поскольку D10 — это 10-я строка. Данную функцию удобно использовать для автоматической нумерации вертикального диапазона, если предполагается частое удаление или добавление новых строк. В этом случае строки будут всегда иметь правильный номер.

Описание функции СТРОКА

Возвращает номер строки, определяемой ссылкой.

Синтаксис

=СТРОКА([ссылка])

Аргументы

ссылка

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

  • Если ссылка опущена, то предполагается, что это ссылка на ячейку, в которой находится сама функция СТРОКА.
  • Если значение аргумента ссылка является диапазоном ячеек, а функция СТРОКА введена как вертикальный массив, функция СТРОКА возвращает номера строк, указанных в аргументе ссылка, в виде вертикального массива.
  • В аргументе ссылка нельзя указывать несколько областей.

Пример

На чтение 2 мин

Функция СТРОКА в Excel используется когда вы хотите получить значение номера строки в которой находится конкретная ячейка.

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции ROW (СТРОКА) в Excel
  6. Пример 1. Вычисляем номер строки ячейки
  7. Пример 2. Вычисляем номер строки конкретной ячейки

Что возвращает функция

Функция возвращает порядковый номер строки в которой находится нужная ячейка с данными. Например, =ROW(B4) или =СТРОКА(B4) вернет “4”, так как ячейка «B4: находится в четвертой строке таблицы.

Синтаксис

=ROW([reference]) — английская версия

=СТРОКА([ссылка]) — русская версия

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

  • [reference] ([ссылка]) — необязательный аргумент, который ссылается на ячейку или диапазон ячеек. Если при использовании функции СТРОКА(ROW) аргумент не указан, то функция отображает номер строки для той ячейки, в которой находится функция СТРОКА(ROW).

Дополнительная информация

  • Если аргумент функции ссылается на диапазон ячеек, то функция вернет минимальное значение из указанного диапазона. Например, =ROW(B5:D10) или =СТРОКА(B5:D10), функция СТРОКА вернет значение «5»;
  • Если аргумент функции ссылается на массив, функция вернет номера строк в которых находится каждый элемент указанного массива;
  • Аргумент функции не может ссылаться на несколько ссылок или адресов;

Примеры использования функции ROW (СТРОКА) в Excel

Пример 1. Вычисляем номер строки ячейки

Excel функция - ROW (СТРОКА) в Excel

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Если вы введете =СТРОКА() или =ROW() в любой ячейке => функция вернет номер строки, в которой находится ячейка с этой функцией.

Пример 2. Вычисляем номер строки конкретной ячейки

Функция ROW (СТРОКА) в Excel

Если вы укажете ссылку на ячейку с помощью функции СТРОКА или ROW, она вернет номер строки этой ячейки.

Функция СТРОКА в Excel

Добрый день уважаемый пользователь!

Темой этой статьи я решил сделать, еще одну функцию из раздела «Ссылки и массивы», это функция СТРОКА в Excel. Функция является одной из вспомогательных и достаточно часто используется внутри формул, когда возникает необходимость в определении адресов и номеров строк для дальнейшего вычисления.

Но давайте рассмотрим поподробнее эти функцию.

Итак, основная задача, когда используется функция СТРОКА в Excel, это возвращения номера той строки, в которой размещается ссылка на ячейку или на целый диапазон ячеек. Как понимаете аналогом этой функции, но уже горизонтальным, будет функция СТОЛБЕЦ в Excel, но о ней я напишу в другой статье.

Правописание функции СТРОКА в Excel очень проста и незатейлива и имеет следующий вид:

= СТРОКА([ссылка]), где:

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

Существуют несколько нюансов, как применяется функция СТРОКА в Excel во избежание возникновения разнообразных ошибок:

  • Если аргумент «ссылка» не указан (поскольку он не является обязательным аргументом), то по умолчанию будет возвращено значение той строки, на котором размещена функция СТРОКА;
  • Указывать в аргументе «ссылка» больше одной области – запрещено;
  • В случаях, когда аргументом «ссылка» указывается диапазон ячеек, а функция СТРОКА уже размещена в вертикальном массиве, то и наша функция будет возвращать нужные номера строк как вертикальный массив.

Рассмотрим примеры, как используется функция СТРОКА в Excel: Пример №1: Как видите с примера, и как я писал ранее, функция СТРОКА без аргумента «ссылка» возвращает нам номер той строки, где размещается формула. То есть, так как наша формула размещена в ячейке D2, то и результатом будет возвращения значения 2 (то есть вторая строка).

Пример №2: Укажем в этом примере произвольный аргумент, например, ссылку на столицу Италии – Рим по адресу А5, и результатом станет возвращения результата «5», так название столицы размещено в пятой строке.

Пример №3: Вы можете просмотреть возможность того как используется функция СТРОКА в Excel, на примере построения нумерованного списка в моей статье «5 интересных способов как происходит нумерация строк в Excel».

Как видите, функция СТРОКА достаточна, проста в использовании и понимании, поэтому ее применение для вас станет лёгким. С другими полезными и интересными функциями вы можете познакомиться в «Справочнике функций».

Если статья вам понравилась и пригодилась, напишите комментарий, поставьте лайк или поделитесь с друзьями!

До новых встреч на страницах TopExcel.ru!

«Есть вещи важнее денег, но без денег эти вещи не купишь.
»
Проспер Мериме

Функция СТРОКА() в MS EXCEL

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

СТРОКА(ссылка)

Ссылка — ячейка или интервал ячеек, для которых определяется номер строки.

Если ссылка опущена, то функция СТРОКА() вернет номер строки в которую введена сама формула. Т.е. если формула =СТРОКА() введена в ячейку B5, то результат будет 5.

В аргументе «ссылка» нельзя указывать несколько областей, т.е. запись =СТРОКА(A1:A2;B2:B3) не допустима.

Использование функции в формулах массива

Так как функция СТРОКА() в качестве аргумента позволяет ввести ссылку на диапазон ячеек, то следует ожидать, что она вернет не одно число, а массив целых чисел — соответствующих номеров строк. Для этого введите в Строке формул выражение =СТРОКА(F8:F18) . Выделите формулу и нажмите F9 (см. файл примера ).

Элементы этого массива можно вывести в отдельные ячейки. Для этого выделите диапазон A5:A18, состоящий из 13 ячеек, в Строке формул введите выражение =СТРОКА(F8:F18) как формулу массива, нажав CTRL+SHIFT+ENTER.

Функция СТРОКА() вернула номера строк, указанных в аргументе «ссылка». Т.к. число выделенных ячеек (13) было больше числа строк диапазона F8:F18 (10), то в трех ячейках формула вернула значения ошибки #Н/Д.

Чтобы вывести номера строк в горизонтальном диапазоне используйте формулу =ТРАНСП(СТРОКА(F8:F18)) . Не забудьте нажать CTRL+SHIFT+ENTER.

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

Записав в правиле Условного форматирования для диапазона A5:A18 формулу =НЕЧЁТ(СТРОКА())=СТРОКА() получим выделение цветом каждой второй строки (см. рисунок выше).

Формирование списка без повторов

Если список значений содержит повторяющиеся значения (диапазон A21:A34), то функция СТРОКА() может быть использована для формирования списка без повторов. Формула
=ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)
возвращает значение если оно встречается первый раз.

Функция ROW (СТРОКА) в Excel. Как использовать?

Функция СТРОКА в Excel используется когда вы хотите получить значение номера строки в которой находится конкретная ячейка.

Что возвращает функция

Функция возвращает порядковый номер строки в которой находится нужная ячейка с данными. Например, =ROW(B4) или =СТРОКА(B4) вернет “4”, так как ячейка “B4: находится в четвертой строке таблицы.

=ROW([reference]) – английская версия

=СТРОКА([ссылка]) – русская версия

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

  • [reference] ([ссылка]) – необязательный аргумент, который ссылается на ячейку или диапазон ячеек. Если при использовании функции СТРОКА ( ROW) аргумент не указан, то функция отображает номер строки для той ячейки, в которой находится функция СТРОКА(ROW) .

Дополнительная информация

  • Если аргумент функции ссылается на диапазон ячеек, то функция вернет минимальное значение из указанного диапазона. Например, =ROW(B5:D10) или =СТРОКА(B5:D10) , функция СТРОКА вернет значение “5”;
  • Если аргумент функции ссылается на массив, функция вернет номера строк в которых находится каждый элемент указанного массива;
  • Аргумент функции не может ссылаться на несколько ссылок или адресов;

Примеры использования функции ROW (СТРОКА) в Excel

Пример 1. Вычисляем номер строки ячейки

Если вы введете =СТРОКА() или =ROW() в любой ячейке => функция вернет номер строки, в которой находится ячейка с этой функцией.

Пример 2. Вычисляем номер строки конкретной ячейки

Если вы укажете ссылку на ячейку с помощью функции СТРОКА или ROW , она вернет номер строки этой ячейки.

Ёxcel — моксель!

Простая математика, Excel. Как минимум. Но не только.

среда, 12 января 2011 г.

Функции СТРОКА() и СТОЛБЕЦ()

Функция СТРОКА(ссылка) возвращает номер строки для указанной ссылки .
Ссылка представляет из себя ячейку или диапазон ячеек, если она опущена, то функция вернет номер строки на которой она расположена

Функция СТОЛБЕЦ(ссылка) возвращает номер столбца для указанной ссылки .

Для примера, выделим область A1:J10 , запишем =СТРОКА()*СТОЛБЕЦ() и, чтобы заполнить все ячейки сразу, нажмем CTRL + ENTER. Получим таблицу умножения.

Чтобы было наглядней через «Меню» — «Параметры» вкладка «Общие» установим «стиль ссылок» R1C1.

Эти функции можно комбинировать с другими.

Например, такая формула =ДВССЫЛ(«A»&СТРОКА()) будет возвращать значение ячейки, расположенной в этой строке в первом столбце.

Настоящую мощь функция СТРОКА() приобретает вот в таком случае:

  1. Выделим диапазон A7:A11
  2. Запишем =СТРОКА(1:5)
  3. Закончим ввод комбинацией CTRL + SHIFT + ENTER

Таким образом мы получим массив из пяти элементов, состоящий из чисел от 1 до 5.

Но есть один недостаток. Если мы вставим пустую строку над 1 строкой, то элементы массива изменятся.

Чтобы это поправить выделим диапазон B7:B11 и запишем такую формулу

Примеры использования функции СТРОКА на листе в Excel

Функция СТРОКА в Excel используется для возвращения номера строки для ссылки на диапазон ячеек или же одну ячейку. К примеру, формула =СТРОКА(D11) возвращает значение 11, поскольку D11 — это 11-я строка. Рассматриваемую функцию удобно использовать также для автоматической нумерации любого вертикального диапазона, если же предполагается частое добавление или удаление новых строк. В данном случае строки всегда будут иметь правильный номер.

Пример как получить номер строки листа по значению ячейки Excel

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

Необходимо вычислить, в какой строке находится столица с максимальным населением.

Введем в ячейку С2 формулу:

В результате вычислений формулы получим следующее значение:

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

Нумерация ячеек в таблице относительно номеров строк листа Excel

Пример 2. Дан список сотрудников компании:

Необходимо, используя функцию СТРОКА, создать столбец «№п/п».

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

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

=номера строк листа для текущей ячейки таблицы — 1

В данной формуле ссылка А2 отображает ячейку, где определяется номер строки.

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

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

Как видно, указанная строка была удалена, а нумерация сама автоматически обновилась.

Стоит отметить, что аналогичным образом мы можем нумеровать ячейки и по столбцам таблицы. Для этого просто нужно вместо функции СТРОКА использовать функцию СТОЛБЕЦ по горизонтали.

Как удалить повторяющиеся значения в Excel

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

Необходимо с помощью функции СТРОКА, определить не повторяющиеся имена из указанного перечня имен студентов.

Для этого в ячейку В2 введем формулу:

В данном случае функция СТРОКА используется без параметров, то есть, она будет возвращать номер строки, в которой записана данная формула.

В результате, скопировав формулу в ячейку В8, получим:

То есть, показан перечень имен, которые не повторяются.

Особенности использования функции СТРОКА в Excel

Существуют несколько нюансов, при которых применяется функция СТРОКА во избежание возникновения самых разнообразных ошибок:

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

Функция СТРОКА() в MS EXCEL

​Смотрите также​наименование товара;​ вручную задать номер​ на основе определенного​ расчетов лучше использовать​

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

​ ее код и​​ извлекаемые знаки.​

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

  • ​Если первый аргумент функции​ в MS EXCEL.​ необходимо понять структуру​ то нужно «разобрать»​ содержать активную ячейку).​ выделение цветом каждой​Функция СТРОКА(), английский вариант​​цвет;​​ ячейки, которая будет​ количества байтов. Если​

  • ​ встроенную функцию ОКРГУГЛ​ описание из строки.​Начальная_позиция​ чтобы видеть все​

Использование функции в формулах массива

​ используемый диапазон можно​ скобки {}. Если​ заданных строки и​ ИНДЕКС является константной​Про разбор фамилии​ текстовой строки, которую​ адрес на несколько​Для автоматического подбора высоты​ второй строки (см.​ ROW(), вычисляет номер​цена;​ начальной в процессе​ по умолчанию используется​ и подобные ей.​​Исходные данные:​​  — позиция первого знака,​

​ данные.​ с помощью функции​ вы попытаетесь ввести​ столбца.​ массива, используйте форму​см. Разделяем пробелами Фамилию,​ требуется разобрать. Например,​

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

​ их вручную, Excel​Скопируйте образец данных из​ массива.​ Имя и Отчество.​ извлечем номер дома​ потребуется, если необходимо​​ для полного отображения​​Если список значений содержит​ формула =СТРОКА(B5) вернет​В зависимости от времени​Синтаксис функции выглядит таким​

​ двухбайтовой кодировки, для​ с прочими функциями​ помощью следующей формулы:​Исходного_текста​​Цена​​Например, если аргумент «ссылка»​

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

​ отобразит формулу как​ следующей таблицы и​​ИНДЕКС(массив; номер_строки; [номер_столбца])​​Часто в русских текстовых​ из вышеуказанного адреса.​ разнести по столбцам​ содержимого активной ячейки,​

Формирование списка без повторов

​ повторяющиеся значения (диапазон​ 5.​​ поступления на склад​​ образом:​ получения первого символа​ для работы с​Описание:​
​. Первый знак в​
​Количество​ определяет ячейки (A1:B4,D1:E4,G1:H4),​ текст. Если при​

excel2.ru

Строка формул в MS EXCEL

​ вставьте их в​Аргументы функции ИНДЕКС описаны​ строках попадаются​ Понятно, что потребуется​ Имя и фамилию,​ установите курсор мыши​A21:A34​СТРОКА​ они по-разному маркируются.​НАЙТИ(«искомый текст»; просматриваемый текст;​ строки требуется в​

​ текстовыми строками в​ЛЕВСИМВ(B5;НАЙТИ(«3»;B5)+1) – функция, выделяющая​ текстовой строке всегда​

Изменение высоты Строки формул

​Яблоки​ номер области 1​ вводе формулы не​ ячейку A1 нового​ ниже.​английские буквы​

​ использовать функцию ПРАВСИМВ(),​​ артикул товара или​​ на нижний край​), то функция СТРОКА()​(ссылка)​ Нужно выбрать информацию​

​ [начальная позиция])​ качестве аргумента указать​ Excel (ПРАВСИМВ, СИМВОЛ,​ часть текстовой строки​ имеет начальную позицию​0,69 ₽​ соответствует диапазону A1:B4,​

​ нажать клавиши CTRL+SHIFT+ВВОД,​​ листа Excel. Чтобы​​Массив​. Их также можно​ но сколько символов​

​ извлечь число или​ Строки формул так,​ может быть использована​Ссылка​ по товарам артикулы​Результатом применения функции будет​ число 2, а​

​ СЦЕПИТЬ, ДЛСТР и​ слева, количество символов​ равную 1.​40​ номер области 2​ она возвратит ошибку​

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

​ для получения последующих​ прочими) и имеет​ в которой соответствуют​Число_знаков​Бананы​ — диапазону D1:E4,​ #ЗНАЧ!​ выделите их и​

​ ячеек или константа​ см. Есть ли в​ если в других​ строки.​ вид вертикальной двусторонней​ без повторов. Формула​ ячеек, для которых​ буквы «de». Эти​ строке, на котором​ второго, третьего и​ следующую синтаксическую запись:​ порядковому номеру символа​

​  — число извлекаемых знаков.​0,34 ₽​ а номер области​​К началу страницы​​ нажмите клавишу F2,​ массива.​

Просмотр промежуточного результата вычисления формулы

​ слове в MS​ адресах номер дома​Данная статья является сводной,​ стрелки, а затем​

​=ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)​ определяется номер строки.​ буквосочетания встречаются и​​ располагается искомое ключевое​​ прочих символов необходимо​=ЛЕВСИМВ(текст;[число_знаков])​ «3» (функция НАЙТИ​

​Если значение аргумента​​38​​ 3 — диапазону​Возвращает ссылку на ячейку,​ а затем — клавишу​​Если массив содержит только​​ EXCEL латинские буквы,​ состоит из 1​

​ т.е. в ней​ дважды кликните левой​возвращает значение если​Если ссылка опущена, то​

Отображение длинных формул

​ в других местах​ слово. Если его​
​ указывать соответствующие числа,​

​Описание аргументов:​ выполняет поиск порядкового​начальная_позиция​Лимоны​ G1:H4.​ расположенную на пересечении​ ВВОД. При необходимости​ одну строку или​
​ цифры, ПРОПИСНЫЕ символы.​
​ или 3 цифр?​ содержатся ссылки на​

​ клавишей мыши.​ оно встречается первый​ функция СТРОКА() вернет​ артикулов. Важно отсортировать​ нет, выдается символ​ кратные двум. Для​текст – ссылка на​ номера этого символа​больше, чем длина​0,55 ₽​​После того как с​​ указанной строки и​

​ измените ширину столбцов,​ один столбец, соответствующий​Все статьи сайта, связанные​ В этом случае​ другие статьи, в​

excel2.ru

Разбор текстовых строк в MS EXCEL

​Чтобы свернуть Строку формул​ раз.​ номер строки в​ только товары, в​ ошибки #ЗНАЧ!​ языков с однобайтовой​ ячейку, содержащую текст,​ и возвращает соответствующее​ текста, функция ПСТР()​15​ помощью аргументов «ссылка»​ указанного столбца. Если​ чтобы видеть все​ аргумент «номер_строки» или​ с преобразованием текстовых​ можно попытаться найти​ которых решены определенные​ обратно нажмите сочетание​Строка формул — это​

​ которую введена сама​ артикулах которых оно​​ кодировкой функции ЛЕВСИМВ​ или текстовая строка,​ значение). Единица (+1)​ возвращает значение Пустой​

​Апельсины​ и «номер_области» выбран​ ссылка составлена из​ данные.​ «номер_столбца» не является​ строк собраны в​ подстроку «д.», после​ задачи. Начнем с​ клавиш​ панель в верхней​ формула. Т.е. если​ встречается на первом​Эта формула редко используется​ и ЛЕВБ возвращают​ в которой требуется​ добавлена для выделения​ текст («»). Если​0,25 ₽​ диапазон, с помощью​ несмежных выделенных диапазонов,​Данные​ обязательным.​ этом разделе: Изменение Текстовых​ которой идет номер​ адресов.​CTRL+SHIFT+U​ части окна Microsoft​ формула =СТРОКА() введена​ месте.​ самостоятельно. Тем не​ идентичные результаты.​ выделить требуемое количество​ всего кода ошибки.​

​ значение аргумента​25​ аргументов «номер_строки» и​ можно указать, какой​Данные​Если массив содержит больше​ Строк (значений).​ дома. Это можно​Самый простейший случай, если​или кнопку «с​

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

​Используя таблицы Excel как​ символов слева. Аргумент​2 – количество символов,​начальная_позиция​

​Груши​ «номер_столбца» выбирается конкретная​ из них требуется​Яблоки​

​ одной строки и​Пусть имеется перечень артикулов​ сделать с помощью​ адрес, состоящий из​ шевроном».​ для ввода и​B5​ ячейке, следующей за​

​ продемонстрировать действие, стоит​ базу данных, не​ обязателен для заполнения.​ которые вернет функция​меньше, чем длина​0,59 ₽​ ячейка: номер строки​ использовать.​Лимоны​ одного столбца, а​ товара: 2-3657; 3-4897;​ функции ПОИСК() (см. статью​ названия города, улицы​В Строке формул можно​ изменения значений или​, то результат будет​ последней в первой​ рассмотреть несколько примеров​ обойтись без такой​[число_знаков] – необязательный для​ ПРАВСИМВ, работающая аналогично​ текста, но сумма​40​ 1 соответствует первой​ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])​Бананы​ из аргументов «номер_строки»​ … ​ Нахождение в MS​ и т.д., импортирован​ быстро посмотреть промежуточный​

​ формул в ячейках​ 5.​ строке прописываем функцию.​ ее использования.​ функции, как «Найти».​ заполнения аргумент; числовое​ рассматриваемой ЛЕВСИМВ (отличие​ значений начальная_позиция и​Миндаль​ строке диапазона, номер​Аргументы функции ИНДЕКС описаны​Груши​ и «номер_столбца» задан​Как видно, артикул состоит​ EXCEL позиции n-го​ в ячейку MS​ результат вычисления сложной​ листа. В Строке​В аргументе «ссылка» нельзя​=НАЙТИ(«de»;D2;1)​Пример 1. В таблице​ Она понадобится для​ значение, характеризующее количество​ – возвращает символы​ количество_знаков превышает длину​2,80 ₽​ столбца 1 —​ ниже.​

​Формула​ только один, функция​ из 2-х числовых​ вхождения символа в​ EXCEL из другой​ формулы.​ формул отображается значение​ указывать несколько областей,​После нажатия клавиши Enter​ 4 столбца по​ быстрого определения места​ символов, которые требуется​ справа, а не​

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

​Выделим в Строке формул​ или формула, содержащаяся​​ т.е. запись =СТРОКА(A1:A2;B2:B3)​ появляется номер места​

​ 10 строк. В​​ ключевого слова в​ выделить из текстовой​

​ слева строки).​ возвращает знаки вплоть​​Кешью​​ и т. д.​    — обязательный аргумент. Ссылка​Результат​ состоящий из целой​ Причем, числовые части​ вычислить количество цифр​

​ этом случае у​ интересующую часть формулы​ в активной ячейке.​ не допустима.​ заданных букв в​

Артикул товара

​ нее внесены:​ каждой строке таблицы.​ строки.​

​В результате получим:​ до конца текста.​3,55 ₽​ Ссылка, возвращаемая функцией​ на один или​=ИНДЕКС(A2:B3;2;2)​ строки или целого​ имеют строго заданный​ номера дома. Это​

​ адреса имеется определенная​ и нажмем клавишу​Строка формул находится в​Так как функция СТРОКА()​

​ артикуле товаров. Протянув​номера по штатному расписанию;​

​Каждая функция с заполненными​Примечания 1:​

​Выделим часть текста ошибки:​Пусть в ячейке​16​ ИНДЕКС, указывает на​ несколько диапазонов ячеек.​Значение ячейки на пересечении​ столбца аргумента «массив».​ размер: первое число​ сделано в файле​ структура (если элементы​F9​ верхней части окна​ в качестве аргумента​ за нижний угол​

ВНИМАНИЕ!

​ФИО работников;​ аргументами в Excel​Если необязательный аргумента [число_знаков]​В данном случае удобнее​А2​Арахис​ пересечение строки «номер_строки»​Если в качестве аргумента​ второй строки и​Номер_строки​ состоит из 1​

excel2.ru

ИНДЕКС (функция ИНДЕКС)

​ примера, ссылка на​ адреса хранились в​, в Строке формул​ Excel.​

​ позволяет ввести ссылку​ выделенную ячейку вниз,​

  • ​количество отработанных дней:​ – это формула,​ явно не указан,​ использовать ПРАВСИМВ, которая​введена строка Первый​

  • ​1,25 ₽​ и столбца «номер_столбца».​ «ссылка» используется несмежный​ второго столбца в​

Форма массива

Описание

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

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

Синтаксис

​оклад (размер оплаты).​

​ с помощью которой​ по умолчанию будет​

  • ​ является, по сути,​​ канал — лучший.​20​Если указать в качестве​

    • ​ диапазон, его необходимо​ диапазоне A2:B3.​ Выбирает строку в​ из 4-х.​Усложним ситуацию. Пусть подстрока «д.»​ скорее всего нет​

    • ​ вычисления.​ редактирования большого объема​ то следует ожидать,​ показатели по всем​Для отчета нужно выбрать​ выполняются сложные операции​ возвращен первый символ​ зеркальным отражением ЛЕВСИМВ.​Формула =ПСТР(A2;8;5), извлекающая из​Грецкие орехи​

  • ​ аргумента «номер_строки» или​​ заключить в скобки​Груши​ массиве, из которой​Задача состоит в том,​ может встречаться в​ (мало) опечаток. Разгадав​Нажатие клавиши​

  • ​ текста в ячейке​​ что она вернет​ строкам.​ информацию о том,​ и вычисления в​ строки. Например, функция​ Для определения второго​ строки слово канал,​

Замечания

  • ​1,75 ₽​ «номер_столбца» значение 0​Если каждая область в​=ИНДЕКС(A2:B3;2;1)​ требуется возвратить значение.​ чтобы определить артикулы,​ адресе несколько раз,​

  • ​ структуру можно быстро​ESC​ или длинной формулы​ не одно число,​В артикулах товаров, по​ сколько дней отработали​ Excel. Перед ее​ =ЛЕВСИМВ(«текст») вернет значение​ аргумента используется запись​ полностью эквивалентна формуле​12​ (ноль), функция ИНДЕКС​ ссылке содержит только​Значение ячейки на пересечении​ Если аргумент «номер_строки»​ у которых левый​ например, при указании​ разнести адрес по​

    ​вернет просматриваемую часть​​ можно настроить высоту​ а массив целых​ которым выдана ошибка​

  • ​ и какую оплату​ введением ставится знак​ «т».​ ДЛСТР(B5)-НАЙТИ(«:»;B5)-1, определяющая позицию​ =ЛЕВСИМВ(ПРАВСИМВ(A2;ДЛСТР(A2)-8+1);5). Где число​Формула​ возвратит ссылку на​

Примеры

Пример 1

​ одну строку или​ второй строки и​ опущен, аргумент «номер_столбца»​ индекс​ названия деревни используется​ столбцам. Например, адрес «г.Москва,​

​ формулы в прежнее​ Строки формул.​ чисел — соответствующих​ #ЗНАЧ!, нет заданных​ получили специалисты, которые​ равенства. Именно так​Числовое значение, переданное в​ символа «u» в​ 8 — это​Описание​ целый столбец или​ один столбец, аргумент​ первого столбца в​

​ является обязательным.​

​Первая часть задачи решается​

​ сокращение «д.», т.е.​

​ ул.Тверская, д.13″ очевидно​

​ состояние, нажатие клавиши​

​Нажав сочетание клавиш​

​ номеров строк. Для​

​ букв. Остается выполнить​

​ работают во вредных​

​ вы дадите знать​

​ качестве необязательного аргумента,​ слове «unknown» (единица​ позиция первого знака,​Результат​

​ целую строку соответственно.​

​ «номер_строки» или «номер_столбца»​

​ диапазоне A2:B3.​Номер_столбца​ формулой =—ЛЕВСИМВ(A16;1)​ совпадает с префиксом​

​ состоит из 3-х​

Пример 2

​ENTER​CTRL+SHIFT+U​ этого введите в​ автофильтр, поиск по​ условиях, связанных с​ программе, что вводится​ должно быть взято​

​ вычтена для удаления​ извлекаемого из строки,​=ИНДЕКС(A2:C6;2;3)​Аргументы «номер_строки», «номер_столбца» и​ соответственно является необязательным.​Бананы​     — необязательный аргумент.​Вторая часть задачи решается​ номера дома. В​ блоков: город, улица,​заменит часть формулы​, высота Строки формул​

​ Строке формул выражение​

​ которым дал результат​

​ задымленностью.​

​ именно формула, а​​ из диапазона неотрицательных​​ пробела).​

​ а 5 -​Пересечение второй строки и​ «номер_области» должны указывать​ Например, для ссылки​В этом примере функция​ Выбирает столбец в​ формулой =ЗНАЧЕН(ПРАВСИМВ(A16;4)). ​ этом случае нужно​ дом, разделенных пробелами​

​ результатом ее вычисления.​

​ увеличится, что позволит​ =СТРОКА(F8:F18). Выделите формулу​ 1.​Штатное расписание составлено особым​

​ не текст и​

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

​ образом. Номера рабочих​

Ссылочная форма

Описание

​ не значение. Функция​ должно быть равным​Пример 3. Создать функцию​Функция ЛЕВСИМВ в Excel​ диапазоне A2:C6, т. е.​ аргумента «ссылка»; в​ нужно использовать формулу​ формуле массива для​ требуется возвратить значение.​

Синтаксис

​ Дело в том,​

​ в которых имеется​ того, перед названием​

  • ​ статье Просмотр промежуточного​​ строк.​F9​Пример 3. В таблице​

    • ​ единиц имеют пометку​ состоит из двух​ нулю или больше​ для округления дробных​

    • ​ используется для получения​ содержимое ячейки C3.​ противном случае функция​ ИНДЕКС(ссылка,,номер_столбца).​ поиска значений двух​ Если аргумент «номер_столбца»​ что текстовые функции,​ название деревень (первые​ стоят сокращения г.,​ результата вычисления формулы​

  • ​Развернуть Строку формул также​​(см. файл примера).​ 5 строк. В​ «!». В зависимости​ частей: имени и​ нуля. В противном​

  • ​ чисел до ближайших​​ части текста и​38​ ИНДЕКС возвращает значение​Номер_строки​ заданных ячеек в​

  • ​ опущен, аргумент «номер_строки»​​ такие ка ПРАВСИМВ(),​ 2 символа, т.к.​ ул., д. С​ (клавиша F9).​ можно нажав кнопку,​Получим массив последовательных чисел​ нее введены математические​ от расположения этой​ аргумента.​ случае будет возвращен​ целых значений с​ возвращает заданное количество​=ИНДЕКС((A1:C6;A8:C11);2;2;2)​ ошибки #ССЫЛКА!. Если​    — обязательный аргумент. Номер​ массиве с диапазоном​ является обязательным.​ возвращают текст, а​ это адрес населенного​ такой задачей достаточно​Пусть в ячейке имеется​ расположенную в правом​ {8:9:10:11:12:13:14:15:16:17:18}. Подобные последовательности​ формулы.​ пометки можно понять,​Каждое название функции в​ код ошибки #ЗНАЧ!.​ использованием формул для​ символов текстовой строки,​Пересечение второй строки и​ аргументы «номер_строки» и​ строки в диапазоне,​

​ 2 x 2.​Если используются оба аргумента​ не число (т.е.​ пункта) и исключить​ легко справится инструмент​ длинная формула:​ краю Строки формул​ часто используются в​Студент готовит шпаргалку на​

Замечания

  • ​ с какими вредными​ Excel описывает ее​Если в качестве аргумента​ работы с текстом.​ при этом отсчет​ второго столбца во​ «номер_столбца» опущены, функция​ заданном аргументом «ссылка»,​В этом случае нужно​ — и «номер_строки»,​ в нашем случае​ их. Также можно​ MS EXCEL Текст​=+ЕСЛИ($A2=0;0; ЕСЛИ ($B2=4264;$B2=4895;$B232760;($B2*0,128-1623,49)*$C2/365)))))​ (на рисунке выше​ формулах массива (см.,​

  • ​ экзамен. Ему нужно​ факторами сталкивается рабочий.​ операцию и назначение.​ [число_знаков] будет переданы​Форма для округления числовых​ символов начинается слева.​ второй области (A8:C11),​

  • ​ ИНДЕКС возвращает область​ из которого требуется​ выбрать любые две​ и «номер_столбца», —​ число в текстовом​ извлечь все цифры​ по столбцам. Как​В Строке формул такую​ кнопка «с шевроном»​ например, статью Сложение​ выбрать формулы для​ Нам нужно отсортировать​

  • ​ В данном случае​ текстовые данные, функция​ значений имеет следующий​Пример 1. В таблице​ т. е. содержимое ячейки​ в аргументе «ссылка»,​ возвратить ссылку.​ ячейки по вертикали,​ функция ИНДЕКС возвращает​ формате). Для того,​ из строки в​ это сделать написано​ громоздкую формулу можно​ выделена красным кружком.)​ значений в каждой​ расчета суммы. Он​ строки, штатные номера​ это слово «НАЙТИ».​ ЛЕВСИМВ вернет код​ вид:​

​ Excel содержатся имена​​ B9.​ заданную аргументом «номер_области».​Номер_столбца​

Примеры

​ например A1:A2, вставить​ значение ячейки на​ чтобы применить к​ отдельный диапазон (см.​ в статье Текст-по-столбцам (мастер​ отобразить полностью (см.​Повторное нажатие сочетания клавиш​ третьей строке).​ знает, что в​ которых имеют пометку​Аргументов может быть несколько.​ ошибки #ЗНАЧ!.​В ячейке B3 введена​

​ переменных вместе с​

​1,25​

​Результатом вычисления функции ИНДЕКС​

​    — необязательный аргумент. Номер​

​ в первую ячейку​

​ пересечении указанных строки​

​ таким числам в​

​ статью Извлекаем в MS​

​ текстов) в MS​

​ выше), но ее​

​CTRL+SHIFT+U​

​Элементы этого массива можно​

​ таких формулах на​

​ «!» на втором​

​ Они могут быть​

​Если число, переданное в​

​ следующая сложная формула:​

​ текстом, определяющим их​

​=СУММ(ИНДЕКС(A1:C11;0;3;1))​

​ является ссылка, которая​

​ столбца в диапазоне,​

​ формулу =ИНДЕКС({1;2:3;4};0;2) и​

​ и столбца.​

​ текстовом формате операцию​

​ EXCEL число из​

​ EXCEL.​

​ трудно воспринимать. Гораздо​

​или кнопки «с​

​ вывести в отдельные​

​ четвертом месте всегда​

​ месте. Например, 3!7884,​

​ числовыми, символьными или​

​ качестве необязательного аргумента,​

​=5,ЛЕВСИМВ(A2+1,НАЙТИ(«.»,A2)-1),ЛЕВСИМВ(A2,НАЙТИ(«.»,A2)-1)),»Число не введено»)’​

​ тип данных. Необходимо​Сумма третьего столбца в​ интерпретируется в качестве​ заданном аргументом «ссылка»,​

​ нажать клавиши CTRL+SHIFT+ВВОД.​

​Если указать в качестве​

​ сравнения с другим​ конца текстовой строки).​Очевидно, что не всегда​ удобнее работать с​ шевроном» свернет Строку​

​ ячейки. Для этого​

​ стоит знак «+».​

​ 8!6453 или 5!54.​ текстовыми и всегда​ превышает количество знаков​ class=’formula’>​

​ выделить только названия​

​ первой области диапазона​

​ таковой другими функциями.​ из которого требуется​ Если ввести формулу​ аргумента «номер_строки» или​ числом, т.е. ​ Но, что делать,​ адрес имеет четкую​ формулой в таком​

​ формул.​

​ выделите диапазон​

support.office.com

Функция ПСТР() в MS EXCEL

​Как всегда, функция прописывается​Для этого в ячейку,​ заключаются в круглые​ в текстовой строке,​Логика работы:​ переменных и записать​ (A1:C11) является суммой​ В зависимости от​ возвратить ссылку.​ как формулу массива,​ «номер_столбца» значение 0​Если у Вас есть​

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

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

​ виде:​​Для точной настройки высоты​A5:A18​
​ в ячейке, следующей​​ следующую за последней​ скобки. Если аргументов​​ рассматриваемая функция вернет​​Первая функция ЕСЛИ проверяет​ их в отдельный​ диапазона C1:C11.​ формулы значение, возвращаемое​
​Номер_области​​ Excel автоматически вставит​

​ (ноль), функция ИНДЕКС​​ примеры или вопросы,​​ улицы есть числа?​ быть пропущены пробелы​=+ЕСЛИ($A2=0;0;​ Строки формул установите​, состоящий из 13​​ за последней в​​ в первой строчке,​ больше одного, между​ весь текст целиком.​ с помощью формулы​ столбец.​216​ функцией ИНДЕКС, может​

Функция ПСТР() vs ПРАВСИМВ() и ЛЕВСИМВ()

​    — необязательный аргумент. Диапазон​​ ее во вторую​​ возвратит массив значений​ связанные с разбором​

​ Например, «26 Бакинских​ (запятые все же​ЕСЛИ($B2 ЕСЛИ(И($B2>=4264;$B2 ЕСЛИ(И($B2>=4895;$B2​ курсор мыши на​ ячеек, в Строке​ первой строчке. Формула​ нужно ввести функцию​ ними ставится знак​Excel выполняет автоматическое преобразование​

excel2.ru

Примеры использования функции ЛЕВСИМВ в Excel работа с текстом

​ ЕПУСТО, заполнена ли​Исходная таблица данных:​=СУММ(B2:ИНДЕКС(A2:C6;5;2))​ использоваться как ссылка​ в аргументе «ссылка»,​ ячейку.​ для целого столбца​

Как вырезать часть текста из строки функцией ЛЕВСИМВ в Excel?

​ текстовых строк -​ комиссаров». Короче, тут​ стоят). В этом​ ЕСЛИ($B2>32760;($B2*0,128-1623,49)*$C2/365)))))​ нижний край Строки​ формул введите выражение​ выглядит так.​ НАЙТИ. Она будет​ «;». Для поиска​

​ типов данных там,​

Исходная таблица.

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

ЛЕВСИМВ.

​ из которого требуется​Формула​ или целой строки​ смело пишите в​ начинается творчество. ​ случае помогут функции,​Привести формулу в Строке​

первый символ.

​ формул так, чтобы​ =СТРОКА(F8:F18) как формулу​=НАЙТИ(«+»; A1; 1)​ выглядеть так.​ необходимо использовать следующие​ где это возможно.​ содержать значение, которое​

​ которым является искомое​

Как вытащить часть текста из ячейки в Excel используя функцию ЛЕВСИМВ?

​ начинающегося с ячейки​ Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2))​ возвратить значение ячейки​Описание​ соответственно. Чтобы использовать​ комментариях к этой​Не забудьте про пробелы!​ работающие с текстовыми​ формул к такому​

​ он принял вид​

Пример 2.

​ массива, нажав​Нажав Enter, вы получите​

код ошибки.

​=НАЙТИ(«!»; A2; 1)​

  • ​ аргументы.​ Например, рассмотрим некоторые​ требуется округлить.​ название переменной, используем​ B2 и заканчивающегося​ эквивалентна формуле ЯЧЕЙКА(«ширина»;B1).​ на пересечении строки​Результат​ значения, возвращенные как​ статье или в​ Каждый пробел -​ строками. Вот эти​
  • ​ виду можно вставив​ вертикальной двусторонней стрелки.​CTRL+SHIFT+ENTER​ результат функции.​При этом, для указания​Искомый текст. Сочетание знаков,​ возможные варианты записи​

​Если число введено, запись​

ЛЕВСИМВ и НАЙТИ.

​ формулу:​

​ пересечением пятой строки​ Функция ЯЧЕЙКА использует​ и столбца, заданных​=ИНДЕКС({1;2​ массив, введите функцию​ группу ! Я​ это отдельный символ.​ функции:​ перед функциями ЕСЛИ()​Нажав левую клавишу мыши,​.​

​Теперь можно выбрать формулы,​

В результате.

Округление чисел текстовыми функциями в текстовой строке

​ области поиска можно​ которые мы разыскиваем​ функции ЛЕВСИМВ и​ ЧЗНАЧ(ПРАВСИМВ(ЛЕВСИМВ(B2;НАЙТИ(«,»;B2)+1)) возвращает числовое​Второй равен 1 по​ и второго столбца​

​ значение, возвращаемое функцией​ аргументами «номер_строки» и​:​

Форма.

​ ИНДЕКС как формула​ дополню эту статью​

​ Часто при печати​- Функция ЛЕВСИМВ() в MS​Логика формулы.

​ символ Разрыв строки​

  1. ​ перетащите край Строки​Функция СТРОКА() вернула номера​ в которых знак​ выделить столбец с​ в таблице. Это​ результаты ее выполнения:​
  2. ​ значение первого символа​ умолчанию, поэтому функция​ диапазона A2:A6, т. е.​ ИНДЕКС, как ссылку.​ «номер_столбца». Первая введенная​3;4};0;2)​
  3. ​ массива в горизонтальный​ самыми интересными из​ их ставят 2​ EXCEL — выводит нужное​ (символ Разрыв строки​ формул вниз на​ строк, указанных в​
  4. ​ суммы находится на​

​ номерами. По окончанию​ может быть цифро-буквенное​ЛЕВСИМВ(«текст»;200%) вернет значение «те»​ после запятой и​ возвращает первый символ.​ сумма значений из​ С другой стороны,​ или выделенная область​Значение ячейки на пересечении​ диапазон ячеек для​ них.​ или 3 подряд,​

Функция ЛЕВСИМВ в Excel и особенности ее использования

​ количество левых символов​ не влияет на​ необходимое количество строк,​ аргументе «ссылка». Т.к.​ 4 месте.​ набора функции, нажмите​ сочетание, только цифры​ (преобразование процентов в​

​ сравнивает полученное значение​

​ Аналогично выделим названия​

  • ​ диапазона B2:B6.​ такая формула, как​ имеет номер 1, вторая —​ первой строки и​ строки и в​Функция ИНДЕКС возвращает значение​ а это совсем​
  • ​ строки;​ вычисления). Символ Разрыв​ а затем отпустите​ число выделенных ячеек​Читайте также: Примеры использования​ Enter. В ячейке​

​ или только буквы,​

  1. ​ числовое значение);​ с числом 5.​ переменных из других​2,42​ 2*ИНДЕКС(A1:B2;1;2), преобразует значение,​ 2 и т. д.​ второго столбца в​
  2. ​ вертикальный — для столбца.​ или ссылку на​ не то же​- Функция ПРАВСИМВ() в MS​ строки можно вставить,​ клавишу мыши.​ (13) было больше​ функции НАЙТИ в​ появится номер места,​ пробелы или знаки.​
  3. ​при аргументах: («текст»;ИСТИНА) вернет​Если полученное значение больше​ строк. В результате​К началу страницы​ возвращаемое функцией ИНДЕКС,​
  4. ​ Если аргумент «номер_области»​ массиве. Массив содержит​ Чтобы ввести формулу​ значение из таблицы​ самое, что один​ EXCEL — выводит нужное​
  5. ​ нажимая комбинацию клавиш​Установленная таким образом высота​ числа строк диапазона​ Excel формулах.​ на котором располагается​ Нужно помнить, что​ «т» (логическое ИСТИНА​
  • ​ 5, будет возвращен​ получим:​Функция ПСТР(), английский вариант​
  • ​ в число в​ опущен, в функции​ значения 1 и​ массива, нажмите сочетание​
  • ​ или диапазона.​ пробел. Используйте функцию Функция​ количество правых символов​ALT+ENTER​ Строки формул будет​
  • ​F8:F18​Выбраны все необходимые формулы​

​ пометка «!».​ функция учитывает введенный​ эквивалентно числовому значению​ результат выполнения функции​Как видно на рисунке​ MID(), возвращает указанное​ ячейке B1.​ ИНДЕКС используется область 1. ​ 2 в первой​ клавиш CTRL+SHIFT+ВВОД.​Функцию ИНДЕКС можно использовать​ СЖПРОБЕЛЫ() в MS​ строки;​.​ запомнена EXCEL и​(10), то в​ из списка по​Теперь вы сможете выделить​ регистр. Результаты поиска​ 1);​ ЛЕВСИМВ(B2+1;НАЙТИ(«,»;B2)-1), то есть​ с помощью функции​ число знаков из​Примечание:​

exceltable.com

Примеры использования функции НАЙТИ в таблицах Excel

​ Все указанные здесь​ строке и значения​Примечание:​ двумя способами:​ EXCEL, чтобы избавиться​- Функция ПСТР() в MS​Подробности можно прочитать в​ в дальнейшем будет​

Как использовать функцию НАЙТИ в Excel

​ трех ячейках формула​ критерию – «4»​ и скопировать строки,​ слов «Мир» и​при аргументах: («текст»;ЛОЖЬ) вернет​ целой части числа​ ЛЕВСИМВ получилось вытащить​ текстовой строки, начиная​  Функция ЯЧЕЙКА недоступна​ области должны находиться​ 3 и 4​  В Excel Web​Если вы хотите возвращать​ от лишних пробелов.​ EXCEL — выводит часть​ статье Вставка символа​ использована при разворачивании​

​ вернула значения ошибки​ указанном в условии​ напротив которых стоит​ «мир» будут разными.​ пустое значение «»,​

​ +1 по правилам​ левую часть текста​ с указанной позиции.​ в Excel Web​ на одном листе. ​ во второй строке.​ App невозможно создавать​ значение указанной ячейки​Об извлечении чисел из​ текста из середины​ Разрыва строки для​

  1. ​ Строки формул с​ #Н/Д.​ для отбора строк​ цифра 2 или​Просматриваемый текст. Область поиска​ поскольку логическое ЛОЖЬ​ округления.​ из каждой ячейки​ Формула =ПСТР(A1;8;5) из​ App.​ Если указать области,​2​
  2. ​ формулы массива.​ или массива ячеек,​ текстовой строки​ строки.​ удобства чтения формул​ помощью сочетания клавиш​
  3. ​Чтобы вывести номера строк​ автофильтром Excel.​ воспользоваться автофильтром: «ДАННЫЕ»-«Фильтр».​ может быть указана​ эквивалентно числовому 0​Если​ по одному (первому)​ строки «Первый канал​Скопируйте образец данных из​

​ находящиеся на разных​Значение ячейки на пересечении​

​Аргументы «номер_строки» и «номер_столбца»​ см. раздел Форма​

​см. здесь: Извлекаем в​Используя комбинации этих функций​ в ячейке.​CTRL+SHIFT+U​ в горизонтальном диапазоне​Все выше описанные примеры​Отчет готов за пару​

​ с помощью мыши.​

Примеры использования функции НАЙТИ

​ (нуль);​Примечание: данный алгоритм нельзя​ символу.​ — лучший» извлекает​ следующей таблицы и​ листах, произойдет ошибка​

​ второй строки и​ должны указывать на​ массива.​ MS EXCEL число​

  • ​ можно в принципе​
  • ​Часто текстовая строка может​
  • ​или кнопки «с​
  • ​ используйте формулу =ТРАНСП(СТРОКА(F8:F18)).​

4 столбца по 10 строк.

​ применяют функцию НАЙТИ​ секунд.​ Также ее значения​при аргументах: («текст»;15/7) вернет​ назвать гибким и​​ слово «канал». Т.е.​ вставьте их в​

​ #ЗНАЧ!  Если необходимо​ второго столбца в​ ячейку внутри заданного​Если требуется возвращать ссылку​ из начала текстовой​ разобрать любую строку,​ содержать несколько значений.​ шевроном».​ Не забудьте нажать​ без формул. Но​Пример 2. В таблице​ могут быть введены​ значение «те».​ он имеет некоторые​

​Пример 2. В таблицу​ функция ПСТР() возврачает​ ячейку A1 нового​ использовать диапазоны, находящиеся​ массиве, указанном выше.​ массива; в противном​

​ на указанные ячейки,​

нужно ввести функцию.

​ строки или здесь Извлекаем в​ имеющую определенную структуру.​ Например, адрес компании:​Высоту Строки формул можно​CTRL+SHIFT+ENTER​ на практике чаще​ 4 столбца по​ с клавиатуры.​Примечание 2: в Excel​

​ недостатки (например, не​ Excel подтягиваются данные​ часть текста из​ листа Excel. Чтобы​ на разных листах,​

выделить и скопировать строки.

​4​ случае функция ИНДЕКС​

​ см. раздел Ссылочная​ MS EXCEL число​ Об этом смотри​

​ «г.Москва, ул.Тверская, д.13»,​ увеличить практически на​.​ всего она используется​

  • ​ 10 строк.​
  • ​Начальная позиция (опциональный аргумент).​
  • ​ также существует схожая​
  • ​ учтен вариант ввода​

артикулы товаров.

​ из другого программного​ середины строки.​ отобразить результаты формул,​ рекомендуется применить функцию​Примечание:​ возвратит значение ошибки​ форма.​ из середины текстовой​ статью Разнесение в MS​ т.е. название города,​ весь лист, но​Записав в правиле Условного​ как вспомогательная функция​В нее сведены артикулы​

​ По умолчанию началом​ по принципу работы​ сразу целого числа).​ продукта. Одно из​

​ПСТРИсходный_текстначальная_позициячисло_знаков​

прописываем функцию.

​ выделите их и​ ИНДЕКС в форме​ Это формула массива, которую​ #ССЫЛКА!.​Возвращает значение элемента таблицы​ строки.​ EXCEL текстовых строк​ улицы и номер​ хотя бы одна​

​ форматирования для диапазона​ для формул с​ товаров, которые находятся​ поиска признается первая​ функция ЛЕВБ, возвращающая​ Он приведен в​ полей данных получило​

выполнить автофильтр.

​)​

​ нажмите клавишу F2,​ массива и использовать​ нужно вводить с​В этих примерах функция​

математические формулы.

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

​ ячейка первой строки​ определенное количество символов​ качестве примера использования​ ошибку. Для обработки​Исходный_текст​

​ а затем — клавишу​

НАЙТИ.

​ другую функцию для​ помощью клавиш CTRL+SHIFT+ВВОД.​

​ ИНДЕКС используется для​ номером строки и​ из полного пути​Еще раз отмечу, что​

отбор строк автофильтром.

​ определить все компании​ на листе полностью​формулу =НЕЧЁТ(СТРОКА())=СТРОКА() получим​

​ режиме базы данных.​ указаны такие параметры;​ таблицы. Вы можете​ текстовой строки слева​ функции ЛЕВСИМВ. Для​ ошибки необходимо выделить​

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

exceltable.com

​ (эта строка будет​

На чтение 23 мин. Просмотров 18.5k.

VBA String Functions

Содержание

  1. Краткое руководство по текстовым функциям
  2. Введение
  3. Прочитайте это в первую очередь!
  4. Добавление строк
  5. Извлечение части строки
  6. Поиск в строке
  7. Удаление пробелов
  8. Длина строки
  9. Перевернуть текст
  10. Сравнение
  11. Сравнение строк с использованием сопоставления с шаблоном
  12. Заменить часть строки
  13. Преобразовать типы в строку (базовый)
  14. Преобразовать строку в число — CLng, CDbl, Val и т.д.
  15. Генерация строки элементов — функция строки
  16. Преобразовать регистр / юникод — StrConv, UCase, LCase
  17. Использование строк с массивами
  18. Форматирование строки
  19. Заключение

Краткое руководство по текстовым функциям

Текстовые операции Функции
Добавить две или более строки Format or «&»
Построить текст из массива Join
Сравнить StrComp or «=»
Сравнить — шаблон Like
Преобразовать в текст CStr, Str
Конвертировать текст в дату Просто: CDate 
Дополнительно: Format
Преобразовать текст в число Просто: CLng, CInt, CDbl, Val
Дополнительно: Format
Конвертировать в юникод, широкий, узкий StrConv
Преобразовать в верхний / нижний регистр StrConv, UCase, LCase
Извлечь часть текста Left, Right, Mid
Форматировать текст Format
Найти символы в тексте InStr, InStrRev
Генерация текста String
Получить длину строки Len
Удалить пробелы LTrim, RTrim, Trim
Заменить часть строки Replace
Перевернуть строку StrReverse
Разобрать строку в массив Split

Введение

Использование строк является очень важной частью VBA. Есть много типов манипуляций, которые вы можете делать со строками. К ним относятся такие задачи, как:

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

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

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

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

Прочитайте это в первую очередь!

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

Исходная строка не изменяется

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

Как использовать Compare

Некоторые строковые функции, такие как StrComp (), Instr () и т.д. имеют необязательный параметр Compare. Он работает следующим образом:

vbTextCompare: верхний и нижний регистры считаются одинаковыми

vbBinaryCompare: верхний и нижний регистр считаются разными

Следующий код использует функцию сравнения строк StrComp () для демонстрации параметра Compare.

Sub Comp1()

    ' Печатает 0  : Строки совпадают
    Debug.Print StrComp("АБВ", "абв", vbTextCompare)
    ' Печатает -1 : Строки не совпадают
    Debug.Print StrComp("АБВ", "абв", vbBinaryCompare)

End Sub

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

  • Oпция Compare Text: делает vbTextCompare аргументом сравнения по умолчанию
Option Compare Text

Sub Comp2()
    ' Соответствие строк - использует vbCompareText в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub
  • Опция Compare Binary: делает vbBinaryCompare аргументом сравнения по умолчанию.
Option Compare Binary

Sub Comp2()
    ' Строки не совпадают - использует vbCompareBinary в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub

Если Option Compare не используется, то по умолчанию используется Option Compare Binary.

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

Добавление строк

VBA String Functions - Smaller

Вы можете добавлять строки, используя оператор &. Следующий код показывает несколько примеров его использования.

Sub Dobavlenie()

    Debug.Print "АБВ" & "ГДЕ"
    Debug.Print "Иван" & " " & "Петров"
    Debug.Print "Длинный " & 22
    Debug.Print "Двойной " & 14.99
    Debug.Print "Дата " & #12/12/2015#

End Sub

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

 Это даст сообщение об ошибке: «Несоответствие типов»
    Debug.Print "Длинный " + 22

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

Извлечение части строки

Функции, обсуждаемые в этом разделе, полезны при базовом извлечении из строки. Для чего-то более сложного можете посмотреть раздел, как легко извлечь любую строку без использования VBA InStr.

Функция Параметры Описание Пример
Left строка, длина Вернуть
символы с
левой стороны
Left(«Иван
Петров»,4)
Right строка, длина Вернуть
символы с
правой
стороны
Right(«Иван
Петров»,5)
Mid строка, начало, длина Вернуть
символы из
середины
Mid(«Иван
Петров»,3,2)

Функции Left, Right и Mid используются для извлечения частей строки. Это очень простые в использовании функции. Left читает символы слева, Right справа и Mid от указанной вами начальной точки.

Sub IspLeftRightMid()

    Dim sCustomer As String
    sCustomer = "Иван Васильевич Петров"

    Debug.Print Left(sCustomer, 4)  '  Печатает: Иван
    Debug.Print Right(sCustomer, 6) '  Печатает: Петров

    Debug.Print Left(sCustomer, 15)  '  Печатает: Иван Васильевич
    Debug.Print Right(sCustomer, 17)  '  Печатает: Васильевич Петров

    Debug.Print Mid(sCustomer, 1, 4) ' Печатает: Иван
    Debug.Print Mid(sCustomer, 6, 10) ' Печатает: Васильевич
    Debug.Print Mid(sCustomer, 17, 6) ' Печатает: Петров

End Sub

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

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

Sub PrimerIspolzovaniyaLeft()

    Dim Fullname As String
    Fullname = "Иван Петров"

    Debug.Print "Имя: "; Left(Fullname, 4)
    ' Исходная строка не изменилась
    Debug.Print "Полное имя: "; Fullname

 End Sub

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

Sub IzmenenieStroki()

    Dim name As String
    name = "Иван Петров"

    ' Присвойте возвращаемую строку переменной имени
    name = Left(name, 4)

    Debug.Print "Имя: "; name

 End Sub

Поиск в строке

Функция Параметры Описание Пример
InStr Текст1,
текст2
Находит
положение
текста
InStr(«Иван
Петров»,»в»)
InStrRev Проверка
текста,
соответствие
текста
Находит
позицию
текста с конца
InStrRev(«Иван Петров»,»в»)

InStr и InStrRev — это функции VBA, используемые для поиска текста в тексте. Если текст поиска найден, возвращается позиция (с начала строки проверки) текста поиска. Когда текст поиска не найден, возвращается ноль. Если какой-либо текст имеет значение null, возвращается значение null.

InStr Описание параметров

InStr() Start[Необязат], String1, String2, Compare[Необязат]

  • Start [Необязательно — по умолчанию 1]: это число, указывающее начальную позицию поиска слева
  • String1: текст, в котором будем искать
  • String2: текст, который будем искать
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

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

Sub PoiskTeksta()

    Dim name As String
    name = "Иван Петров"

    ' Возвращает 3 - позицию от первой 
    Debug.Print InStr(name, "а")
    ' Возвращает 10 - позиция первого "а", начиная с позиции 4
    Debug.Print InStr(4, name, "а")
    ' Возвращает 8
    Debug.Print InStr(name, "тр")
    ' Возвращает 6
    Debug.Print InStr(name, "Петров")
    ' Возвращает 0 - текст "ССС" не найдет
    Debug.Print InStr(name, "ССС")

End Sub

InStrRev Описание параметров

InStrRev() StringCheck, StringMatch, Start[Необязат], Compare[Необязат]

  • StringCheck: текст, в котором будем искать
  • StringMatch: Текст, который будем искать
  • Start [Необязательно — по умолчанию -1]: это число, указывающее начальную позицию поиска справа
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

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

В следующем коде показаны некоторые примеры использования InStrRev.

Sub IspInstrRev()

    Dim name As String
    name = "Иван Петров"

    ' Обе возвращают 1 - позицию, только И
    Debug.Print InStr(name, "И")
    Debug.Print InStrRev(name, "И")

    ' Возвращает 11 - вторую в
    Debug.Print InStrRev(name, "в")
    ' Возвращает 3 - первую в с позиции 9
    Debug.Print InStrRev(name, "в", 9)

    ' Returns 1
    Debug.Print InStrRev(name, "Иван")

End Sub

Функции InStr и InStrRev полезны при работе с базовым поиском текста. Однако, если вы собираетесь использовать их для извлечения текста из строки, они могут усложнить задачу. Я написал о гораздо лучшем способе сделать это в своей статье Как легко извлечь любой текст без использования VBA InStr.

Удаление пробелов

Функция Параметры Описание Пример
LTrim Текст Убирает
пробелы слева
LTrim(» Иван «)
RTrim Текст Убирает
пробелы
справа
RTrim(» Иван «)
Trim Текст Убирает
пробелы слева и справа
Trim(» Иван «)

Функции Trim — это простые функции, которые удаляют пробелы в начале или конце строки.

Функции и примеры использования триммера Trim

  • LTrim удаляет пробелы слева от строки
  • RTrim удаляет пробелы справа от строки
  • Trim удаляет пробелы слева и справа от строки
Sub TrimStr()

    Dim name As String
    name = "  Иван Петров  "

    ' Печатает "Иван Петров  "
    Debug.Print LTrim(name)
    ' Печатает "  Иван Петров"
    Debug.Print RTrim(name)
    ' Печатает "Иван Петров"
    Debug.Print Trim(name)

End Sub

Длина строки

Функция Параметры Описание Пример
Len Текст Возвращает
длину строки
Len («Иван Петров»)

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

Sub IspLen()

    Dim name As String
    name = "Иван Петров"

    ' Печатает 11
    Debug.Print Len("Иван Петров")
    ' Печатает 3
    Debug.Print Len("АБВ")

    ' Печатает 4 с Long - это размер 4 байта
    Dim total As Long
    Debug.Print Len(total)

End Sub

Перевернуть текст

Функция Параметры Описание Пример
StrReverse Текст Перевернуть
текст
StrReverse
(«Иван
Петров»)

StrReverse — еще одна простая в использовании функция. Он просто возвращает данную строку с обратными символами.

Sub RevStr()

    Dim s As String
    s = "Иван Петров"
    ' Печатает: вортеП навИ
    Debug.Print StrReverse(s)

End Sub

Сравнение

Функция Параметры Описание Пример
StrComp Текст1, текст2 Сравнивает 2
текста
StrComp
(«Иван»,
«Иван»)

Функция StrComp используется для сравнения двух строк. Следующие подразделы описывают, как используется.

Описание параметров

StrComp()  String1, String2, Compare[Необязат]

  • String1: первая строка для сравнения
  • String2: вторая строка для сравнения
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

StrComp Возвращаемые значения

Возвращаемое значение Описание
0 Совпадение строк
-1 строка1 меньше строки2
1 строка1 больше строки2
Null если какая-либо строка равна нулю

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

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

Sub IspStrComp()

   ' Возвращает  0
   Debug.Print StrComp("АБВ", "АБВ", vbTextCompare)
   ' Возвращает 1
   Debug.Print StrComp("АБВГ", "АБВ", vbTextCompare)
   ' Возвращает -1
   Debug.Print StrComp("АБВ", "АБВГ", vbTextCompare)
   ' Returns Null
   Debug.Print StrComp(Null, "АБВГ", vbTextCompare)

End Sub

Сравнение строк с использованием операторов

Вы также можете использовать знак равенства для сравнения строк. Разница между сравнением equals и функцией StrComp:

  1. Знак равенства возвращает только true или false.
  2. Вы не можете указать параметр Compare, используя знак равенства — он использует настройку «Option Compare».  

Ниже приведены некоторые примеры использования equals для сравнения строк.

Option Compare Text

Sub CompareIspEquals()

    ' Возвращает true
    Debug.Print "АБВ" = "АБВ"
    ' Возвращает true, потому что «Сравнить текст» установлен выше
    Debug.Print "АБВ" = "абв"
    ' Возвращает false
    Debug.Print "АБВГ" = "АБВ"
    ' Возвращает false
    Debug.Print "АБВ" = "АБВГ"
    ' Возвращает null
    Debug.Print Null = "АБВГ"

End Sub

Сравнение строк с использованием сопоставления с шаблоном

Функция Параметры Описание Пример
Like Текст, шаблон проверяет, имеет
ли строка
заданный
шаблон
«abX» Like «??X»
«54abc5» Like «*abc#»
Знак Значение
? Любой одиночный символ
# Любая однозначная цифра (0-9)
* Ноль или более символов
[charlist] Любой символ в списке
[!charlist] Любой символ не в списке символов

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

Если строка соответствует шаблону, возвращаемое значение равно true, в противном случае — false.

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

Давайте посмотрим на базовый пример с использованием знаков. Возьмите следующую строку шаблона.

[abc][!def]?#X*

 Давайте посмотрим, как работает эта строка

[abc] — символ, который является или a, b или c
[! def] — символ, который не является d, e или f
? любой символ
# — любая цифра
X — символ X
* следуют ноль или более символов

 Поэтому следующая строка действительна
apY6X

а — один из символов a,b,c
p — не один из символов d, e или f
Y — любой символ
6 — это цифра
Х — это буква Х

В следующих примерах кода показаны результаты различных строк с этим шаблоном.

Sub Shabloni()

    ' ИСТИНА
    Debug.Print 1; "apY6X" Like "[abc][!def]?#X*"
    ' ИСТИНА - любая комбинация символов после x действительна
    Debug.Print 2; "apY6Xsf34FAD" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ не из[abc]
    Debug.Print 3; "dpY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - 2-й символ e находится в [def]
    Debug.Print 4; "aeY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - A в позиции 4 не является цифрой
    Debug.Print 5; "apYAX" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ в позиции 5 должен быть X
    Debug.Print 1; "apY6Z" Like "[abc][!def]?#X*"

End Sub

Реальный пример сопоставления с образцом

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

Важное примечание о сопоставлении с образцом VBA

Оператор Like использует двоичное или текстовое сравнение на основе параметра Option Compare. Пожалуйста, смотрите раздел Сравнение для более подробной информации.

Заменить часть строки

Функция Параметры Описание Пример
Replace строка, найти, заменить,
начать,
считать,
сравнивать
Заменяет текст Replace
(«Ива»,»а»,»ан»)

Replace используется для замены текста в строке другим текстом. Он заменяет все экземпляры текста, найденные по умолчанию.

Replace описание параметров

Replace()  Expression, Find, Replace, Start[Необязат], Count[Необязат], Compare[Необязат]

  • Expression: текст, в котором нужна замена символов
  • Find: текст для замены в строке выражения
  • Replace: строка для поиска замены текста поиска
  • Start [Необязательно — по умолчанию 1]: начальная позиция в строке
  • Count [Необязательно — по умолчанию -1]: количество замен. По умолчанию -1 означает все.
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

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

Sub PrimeriReplace()

    ' Заменяет все знаки вопроса (?) на точку с запятой (;)
    Debug.Print Replace("A?B?C?D?E", "?", ";")
    ' Заменить Петров на Иванов
    Debug.Print Replace("Евгений Петров,Артем Петров", "Петров", "Иванов")
    ' Заменить AX на AB
    Debug.Print Replace("ACD AXC BAX", "AX", "AB")

End Sub

На выходе:

A;B;C;D;E
Евгений Иванов,Артем Иванов
ACD ABC BAB

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

Sub ReplaceCount()

    ' Заменяет только первый знак вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=1)
    ' Заменяет первые три знака вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=3)

End Sub

На выходе:

A;B?C?D?E
A;B;C;D?E

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

Sub ReplacePartial()

    ' Использовать оригинальную строку из позиции 4
    Debug.Print Replace("A?B?C?D?E", "?", ";", Start:=4)
    ' Используйте оригинальную строку из позиции 8
    Debug.Print Replace("AA?B?C?D?E", "?", ";", Start:=8)
    ' Элемент не заменен, но по-прежнему возвращаются только последние '2 символа
    Debug.Print Replace("ABCD", "X", "Y", Start:=3)

End Sub

На выходе:

;C;D;E
;E
CD

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

Sub ReplaceCase()

    ' Заменить только заглавные А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbBinaryCompare)
    ' Заменить все А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbTextCompare)

End Sub

На выходе:

XaXa
XXXX

Многократные замены

Если вы хотите заменить несколько значений в строке, вы можете вкладывать вызовы. В следующем коде мы хотим заменить X и Y на A и B соответственно.

Sub ReplaceMulti()

    Dim newString As String

    ' Заменить А на Х
    newString = Replace("ABCD ABDN", "A", "X")
    ' Теперь замените B на Y в новой строке
    newString = Replace(newString, "B", "Y")

    Debug.Print newString

End Sub

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

Sub ReplaceMultiNested()

    Dim newString As String

    ' Заменить A на X, а B на Y
    newString = Replace(Replace("ABCD ABDN", "A", "X"), "B", "Y")

    Debug.Print newString

End Sub

Результатом обоих этих Subs является:
XYCD XYDN

Преобразовать типы в строку (базовый)

Этот раздел о преобразовании чисел в строку. Очень важным моментом здесь является то, что в большинстве случаев VBA автоматически конвертируется в строку для вас. Давайте посмотрим на некоторые примеры:

Sub AutoConverts()

    Dim s As String
    ' Автоматически преобразует число в строку
    s = 12.99
    Debug.Print s

    ' Автоматически преобразует несколько чисел в строку
    s = "ABC" & 6 & 12.99
    Debug.Print s

    ' Автоматически преобразует двойную переменную в строку
    Dim d As Double, l As Long
    d = 19.99
    l = 55
    s = "Значения: " & d & " " & l
    Debug.Print s

End Sub

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

Явное преобразование

Функция Параметры Описание Пример
CStr выражение Преобразует
числовую
переменную
в строку
CStr («45.78»)
Str число Преобразует
числовую
переменную
в строку
Str («45.78»)

В некоторых случаях вы можете захотеть преобразовать элемент в строку без необходимости сначала помещать его в строковую переменную. В этом случае вы можете использовать функции Str или CStr. Оба принимают выражение как функцию, и это может быть любой тип, например long, double, data или boolean.

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

Sub IspStr()

    Dim coll As New Collection
    Dim c As Range

    ' Считать значения ячеек в коллекцию
    For Each c In Range("A1:A10")
        ' Используйте Str для преобразования значения ячейки в строку
        coll.Add Str(c)
    Next

    ' Распечатайте значения и тип коллекции
    Dim i As Variant
    For Each i In coll
        Debug.Print i, TypeName(i)
    Next

End Sub

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

Multi Region

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

Хорошей практикой является использование CStr при чтении значений из ячеек. Если ваш код в конечном итоге используется в другом регионе, вам не нужно вносить какие-либо изменения, чтобы он работал правильно.

Преобразовать строку в число — CLng, CDbl, Val и т.д.

Функция Возвращает Пример
CBool Boolean CBool(«True»), CBool(«0»)
CCur Currency CCur(«245.567»)
CDate Date CDate(«1/1/2019»)
CDbl Double CDbl(«245.567»)
CDec Decimal CDec(«245.567»)
CInt Integer CInt(«45»)
CLng Long Integer CLng(«45.78»)
CVar Variant CVar(«»)

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

Sub StrToNumeric()

    Dim l As Long, d As Double, c As Currency
    Dim s As String
    s = "45.923239"

    l = s
    d = s
    c = s

    Debug.Print "Long is "; l
    Debug.Print "Double is "; d
    Debug.Print "Currency is "; c

End Sub

Использование типов преобразования дает большую гибкость. Это означает, что вы можете определить тип во время выполнения. В следующем коде мы устанавливаем тип на основе аргумента sType, передаваемого в функцию PrintValue. Поскольку этот тип может быть прочитан из внешнего источника, такого как ячейка, мы можем установить тип во время выполнения. Если мы объявим переменную как Long, то при выполнении кода она всегда будет длинной.

Sub Test()
    ' Печатает  46
    PrintValue "45.56", "Long"
    ' Печатает 45.56
    PrintValue "45.56", ""
End Sub

Sub PrintValue(ByVal s As String, ByVal sType As String)

    Dim value

    ' Установите тип данных на основе строки типа
    If sType = "Long" Then
        value = CLng(s)
    Else
        value = CDbl(s)
    End If
    Debug.Print "Type is "; TypeName(value); value

End Sub

Если строка не является допустимым числом (т.е. Содержит символы, другие цифры), вы получаете ошибку «Несоответствие типов».

Sub InvalidNumber()

    Dim l As Long

    ' Даст ошибку несоответствия типов
    l = CLng("45A")

End Sub

Функция Val

Функция преобразует числовые части строки в правильный тип числа.

Val преобразует первые встреченные числа. Как только он встречает буквы в строке, он останавливается. Если есть только буквы, то в качестве значения возвращается ноль. Следующий код показывает некоторые примеры использования Val

Sub IspVal()

    ' Печатает 45
    Debug.Print Val("45 Новая улица")

    ' Печатает 45
    Debug.Print Val("    45 Новая улица")

    ' Печатает 0
    Debug.Print Val("Новая улица 45")

    ' Печатает 12
    Debug.Print Val("12 f 34")

End Sub

Val имеет два недостатка

  1. Не мультирегиональный — Val не распознает международные версии чисел, такие как запятые вместо десятичных. Поэтому вы должны использовать вышеуказанные функции преобразования, когда ваше приложение будет использоваться в нескольких регионах.
  2. Преобразует недопустимые строки в ноль — в некоторых случаях это может быть нормально, но в большинстве случаев лучше, если неверная строка вызывает ошибку. Затем приложение осознает наличие проблемы и может действовать соответствующим образом. Функции преобразования, такие как CLng, вызовут ошибку, если строка содержит нечисловые символы.

Генерация строки элементов — функция строки

Функция Параметры Описание Пример
String число, символ Преобразует
числовую
переменную
в строку
String (5,»*»)

Функция String используется для генерации строки повторяющихся символов. Первый аргумент — это количество повторений, второй аргумент — символ.

Sub IspString()

    ' Печатает: AAAAA
    Debug.Print String(5, "A")
    ' Печатает: >>>>>
    Debug.Print String(5, 62)
    ' Печатает: (((ABC)))
    Debug.Print String(3, "(") & "ABC" & String(3, ")")

End Sub

Преобразовать регистр / юникод — StrConv, UCase, LCase

Функция Параметры Описание Пример
StrConv строка,
преобразование, LCID
Преобразует
строку
StrConv(«abc»,vbUpperCase)

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

Sub ConvCase()

    Dim s As String
    s = "У Мэри был маленький ягненок"

    ' верхний
    Debug.Print UCase(s)
    Debug.Print StrConv(s, vbUpperCase)

    ' нижний
    Debug.Print LCase(s)
    Debug.Print StrConv(s, vbLowerCase)

    ' Устанавливает первую букву каждого слова в верхний регистр
    Debug.Print StrConv(s, vbProperCase)

End Sub

На выходе: 

У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
у мэри был маленький ягненок
у мэри был маленький ягненок
У Мэри Был Маленький Ягненок

Другие преобразования

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

Постоянные Преобразует Значение
vbUpperCase 1 в верхний регистр
vbLowerCase 2 в нижнем регистре
vbProperCase 3 первая буква
каждого слова в
верхнем регистре
vbWide* 4 от узкого к
широкому
vbNarrow* 8 от широкого к
узкому
vbKatakana** 16 из Хираганы в
Катакану
vbHiragana 32 из Катаканы в
Хирагану
vbUnicode 64 в юникод
vbFromUnicode 128 из юникода

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

Функция Параметры Описание Пример
Split выражение,
разделитель,
ограничить,
сравнить
Разбирает
разделенную
строку в
массив
arr = Split(«A;B;C»,»;»)
Join исходный
массив,
разделитель
Преобразует
одномерный
массив в
строку
s = Join(Arr, «;»)

Строка в массив с использованием Split

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

Sub StrToArr()

    Dim arr() As String
    ' Разобрать строку в массив
    arr = Split("Иван,Анна,Павел,София", ",")

    Dim name As Variant
    For Each name In arr
        Debug.Print name
    Next

End Sub

На выходе:

Иван
Анна
Павел
София

Если вы хотите увидеть некоторые реальные примеры использования Split, вы найдете их в статье Как легко извлечь любую строку без использования VBA InStr.

Массив в строку, используя Join

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

Sub ArrToStr()

    Dim Arr(0 To 3) As String
    Arr(0) = "Иван"
    Arr(1) = "Анна"
    Arr(2) = "Павел"
    Arr(3) = "София"

    ' Построить строку из массива
    Dim sNames As String
    sNames = Join(Arr, ",")

    Debug.Print sNames

End Sub

На выходе:

Иван, Анна, Павел, София

Форматирование строки

Функция Параметры Описание Пример
Format выражение,
формат,
firstdayofweek,
firstweekofyear
Форматирует
строку
Format(0.5, «0.00%»)

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

Sub FormatDate()

    Dim s As String
    s = "31/12/2019 10:15:45"

    ' Печатает: 31 12 19
    Debug.Print Format(s, "DD MM YY")
    ' Печатает: Thu 31 Dec 2019
    Debug.Print Format(s, "DDD DD MMM YYYY")
    ' Печатает: Thursday 31 December 2019
    Debug.Print Format(s, "DDDD DD MMMM YYYY")
    ' Печатает: 10:15
    Debug.Print Format(s, "HH:MM")
    ' Печатает: 10:15:45 AM
    Debug.Print Format(s, "HH:MM:SS AM/PM")

End Sub

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

Sub FormatNumbers()

    ' Печатает: 50.00%
    Debug.Print Format(0.5, "0.00%")
    ' Печатает: 023.45
    Debug.Print Format(23.45, "00#.00")
    ' Печатает: 23,000
    Debug.Print Format(23000, "##,000")
    ' Печатает: 023,000
    Debug.Print Format(23000, "0##,000")
    ' Печатает: $23.99
    Debug.Print Format(23.99, "$#0.00")

End Sub

Функция «Формат» — довольно обширная тема, и она может самостоятельно занять всю статью. Если вы хотите получить больше информации, то страница формата MSDN предоставляет много информации.

Полезный совет по использованию формата

Быстрый способ выяснить используемое форматирование — использовать форматирование ячеек на листе Excel. Например, добавьте число в ячейку. Затем щелкните правой кнопкой мыши и отформатируйте ячейку так, как вам нужно. Если вы довольны форматом, выберите «Пользовательский» в списке категорий слева. При выборе этого вы можете увидеть строку формата в текстовом поле типа. Это формат строки, который вы можете использовать в VBA.

VBA Format Function

Заключение

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

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

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

Функция СТРОКА в Excel используется для возвращения номера строки для ссылки на диапазон ячеек или же одну ячейку. К примеру, формула =СТРОКА(D11) возвращает значение 11, поскольку D11 — это 11-я строка. Рассматриваемую функцию удобно использовать также для автоматической нумерации любого вертикального диапазона, если же предполагается частое добавление или удаление новых строк. В данном случае строки всегда будут иметь правильный номер.

Пример как получить номер строки листа по значению ячейки Excel

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

перечень столиц.

Необходимо вычислить, в какой строке находится столица с максимальным населением.

Введем в ячейку С2 формулу:

В результате вычислений формулы получим следующее значение:

столица Москва 4.

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



Нумерация ячеек в таблице относительно номеров строк листа Excel

Пример 2. Дан список сотрудников компании:

Пример 2.

Необходимо, используя функцию СТРОКА, создать столбец «№п/п».

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

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

=номера строк листа для текущей ячейки таблицы — 1

используя функцию СТРОКА.

В данной формуле ссылка А2 отображает ячейку, где определяется номер строки.

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

определяется номер строки.

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

нумерация автоматически обновилась.

Как видно, указанная строка была удалена, а нумерация сама автоматически обновилась.

Стоит отметить, что аналогичным образом мы можем нумеровать ячейки и по столбцам таблицы. Для этого просто нужно вместо функции СТРОКА использовать функцию СТОЛБЕЦ по горизонтали.

Как удалить повторяющиеся значения в Excel

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

перечень имен.

Необходимо с помощью функции СТРОКА, определить не повторяющиеся имена из указанного перечня имен студентов.

Для этого в ячейку В2 введем формулу:

В данном случае функция СТРОКА используется без параметров, то есть, она будет возвращать номер строки, в которой записана данная формула.

В результате, скопировав формулу в ячейку В8, получим:

В результате введем формулу.

То есть, показан перечень имен, которые не повторяются.

Особенности использования функции СТРОКА в Excel

Существуют несколько нюансов, при которых применяется функция СТРОКА во избежание возникновения самых разнообразных ошибок:

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

Содержание

  1. Виды массивов функций Excel
  2. Классика жанра – товарный чек
  3. Разрешите Вас… транспонировать?
  4. Функция СТРОКА
  5. Функция СТОЛБЕЦ
  6. Функция АДРЕС
  7. Функция ДВССЫЛ
  8. Функция ВЫБОР (CHOOSE)
  9. Функция ИНДЕКС (INDEX)
  10. Функция ПОИСКПОЗ (MATCH)
  11. Редактирование формулы массива
  12. Описание категории «Ссылки и массивы»
  13. ВПР
  14. Пример применения формулы массива
  15. ГПР
  16. Функции для работы со ссылками и массивами
  17. Функция ГПР

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

В зависимости от расположения элементов различают массивы:

  • одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
  • двумерные (НЕСКОЛЬКО строк и столбцов, матрица).

Одномерные массивы бывают:

  • горизонтальными (данные – в строке);
  • вертикальными (данные – в столбце).

Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).

Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.

С помощью формул массива реально:

  • подсчитать количество знаков в определенном диапазоне;
  • суммировать только те числа, которые соответствуют заданному условию;
  • суммировать все n-ные значения в определенном диапазоне.

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

Классика жанра – товарный чек

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

  1. выделяем ячейку С7
  2. вводим с клавиатуры =СУММ(
  3. выделяем диапазон B2:B5
  4. вводим знак умножения (звездочка)
  5. выделяем диапазон C2:C5 и закрываем скобку функции СУММ – в итоге должно получиться так:
  6. чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter

Вуаля!

Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.

Обратите внимание на фигурные скобки, появившиеся в формуле – отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно – они автоматически появляются при нажатии Ctrl + Shift + Enter.

Разрешите Вас… транспонировать?

При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.

Допустим, имеем двумерный массив ячеек, который хотим транспонировать.

  • Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
  • вводим функцию транспонирования =ТРАНСП(
  • в качестве аргумента функции выделяем наш массив ячеек A1:B8

жмем Ctrl + Shift + Enter и получаем “перевернутый массив” в качестве результата:

Функция СТРОКА

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

Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.

Пример использования:

=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.

Функция СТОЛБЕЦ

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

Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.

Пример использования:

=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.

Функция АДРЕС

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

Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:

  • Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
  • Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
  • тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
    • 1 – значение по умолчанию, когда закреплены все индексы;
    • 2 – закрепление индекса строки;
    • 3 – закрепление индекса столбца;
    • 4 – адрес без закреплений.
  • стиль_ссылки – необязательный аргумент. Логическое значение:
    • ИСТИНА – формат ссылок «A1»;
    • ЛОЖЬ – формат ссылок «R1C1».
  • имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.

Пример использования:

=АДРЕС=АДРЕС=АДРЕС=АДРЕС

Функция ДВССЫЛ

Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.

Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где

  • адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, “C3”, “R3C3” или “D8:D9”.
  • стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
    • ИСТИНА – стиль A1. Является значением по умолчанию;
    • ЛОЖЬ – стиль R1C1.

Пример использования:

=ДВССЫЛ(“a3”) – возвращает ссылку на ячейку A3.
=ДВССЫЛ(“r3c3”) – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(“r3c3”; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:

Функция ВЫБОР (CHOOSE)

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

=ВЫБОР(2;”Стул”;”Стол”;”Шкаф”;”Диван”)

Функция ИНДЕКС (INDEX)

Эта функция возвращает указанное значение из одно- или двумерного диапазона:

=ИНДЕКС(A1:C6;4;3)

Как видно с примера, полученное значение 37, в указанном диапазоне стоит на пересечении строки №4 и столбика №3 в диапазоне A1:C6 указанном в формуле. В более простом примере показано как в диапазоне С1:С6, на 2 месте находится значение 15:

=ИНДЕКС(С1:С6;2)

Функция ПОИСКПОЗ (MATCH)

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

=ПОИСКПОЗ(B3;B2:B5;0)

С примера вы можете видеть что слово «Стол» занимает 2 позицию в указанном диапазоне. Замечу, что третий аргумент в функции не является обязательным. При введенном значении 0, функция вернет ту позицию элемента массива, которое точно совпадает со значением, которое мы ищем. В случае, когда точное совпадение отсутствует, функция выдаст ошибку #Н/Д (#N/A).

Редактирование формулы массива

Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.

Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.

Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)

Описание категории «Ссылки и массивы»

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

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

Принцип работы функции ВПР из категории «Ссылки и массивы»

ВПР

Функция ВПР (VLOOKUP) ищет значение в крайнем левом столбце таблицы и возвращает значение ячейки, находящейся в указанном столбце той же строки.

  1. Вставляем функцию ВПР:

    =ВПР(A2;$E$4:$G$7;3;ЛОЖЬ)
    =VLOOKUP(A2,$E$4:$G$7,3,FALSE)

    Пояснение:

    • Функция ВПР ищет значение ID (104) в крайнем левом столбце диапазона $E$4:$G$7 и возвращает значение из третьего столбца той же строки (так как третий аргумент функции имеет значение 3).
    • Четвёртый аргумент функции равен ЛОЖЬ (FALSE) – это значит, что либо будет найдено точное совпадение, либо будет показано сообщение об ошибке #Н/Д (#N/A).
  2. Потащите мышью, чтобы скопировать функцию ВПР из ячейки B2 вниз по столбцу до ячейки B11.Пояснение: Когда мы копируем функцию ВПР вниз, абсолютная ссылка $E$4:$G$7 остаётся неизменной, в то время как относительная ссылка A2 изменяется на A3, A4, A5 и так далее.

Пример применения формулы массива

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

Товарный чек

Как бы мы решали данную задачу стандартным образом?

Во-первых, мы бы получили итоговую сумму по каждому товару, перемножив количество товара на его цену.

Подсчет суммы заказа

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

Расчет общей суммы покупки

Ту же самую задачу можно решить с помощью простейшей формулы массива.

Нам нужно получить сумму, поэтому воспользуемся соответствующей функцией СУММ. А вот суммировать мы должны произведение цены товара на его количество, что мы и сделаем – выбираем диапазон значений из столица B и умножаем его на аналогичный диапазон значений столбца C.

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

Если сейчас нажать Enter, то появится ошибка.

Ошибка при нажатии Enter

Так как мы в формуле использовали диапазоны (массивы) данных, то и формула должна быть формулой массива. Для этого нужно нажать сочетание клавиш Ctrl + Shift + Enter и получим результат.

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

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

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

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

Скобки формулы массива

Это не текстовые скобки, то есть нельзя их ввести с клавиатуры, чтобы сделать формулу формулой массива. Они появляются автоматически при нажатии сочетания клавиш Ctrl + Shift + Enter. Если после создания формулы массива вам необходимо ее отредактировать, то в конце необходимо вновь нажать сочетание клавиш, а не просто клавишу Enter.

ГПР

Похожим образом работает и функция ГПР (HLOOKUP):

Функции для работы со ссылками и массивами

В Excel имеется ряд функций для обработки ссылок и массивов: вычисление номеров строки или столбца таблицы по имени ссылки, определение количества столбцов (строк) ссылки или массива, выбор значения по номеру индекса и т. д.

Таблица 4.10. Функции для работы со ссылками и массивами.

АДРЕС Создает адрес ячейки в виде текста, используя номер строки и номер столбца.
ВПР Просматривает левый столбец массива в поисках определенного значения и возвращает значение из указанной ячейки.
ВЫБОР Использует номер индекса, чтобы выбрать и вернуть значение из списка аргументов-значений.
ГИПЕРССЫЛКА Создание ссылки, открывающей документ, находящийся на жестком диске, сервере сети или Internet.
ГПР Просматривает верхнюю строку массива в поисках определенного значения и возвращает значение из указанной ячейки.
двссыл Возвращает ссылку, заданную аргументом ссылка на ячейку.
ИНДЕКС Выбирает по индексу значение из ссылки или массива.
ОБЛАСТИ Возвращает количество областей в ссылке. Область – это интервал смежных ячеек или отдельная ячейка.
ПОИСКПОЗ Возвращает относительную позицию элемента массива.
ПОЛУЧИТЬ.ДАННЫЕ. СВОДНОЙ.ТАБЛИЦЫ Получение данных сводной таблицы
ПРОСМОТР Ищет значения в векторе или массиве.
СМЕЩ Возвращает ссылку заданной высоты и ширины, отстоящую от другой ссылки на заданное количество строки и столбцов.
СТОЛБЕЦ Возвращает номер столбца по заданной ссылке.
СТРОКА Возвращает номер строки, определяемой ссылкой.
ТРАНШ Возвращает транспонированный массив.
ЧИСЛСТОЛБ Возвращает количество столбцов в ссылке или массиве.
ЧСТРОК Возвращает количество строк в ссылке или массиве.

Функция ГПР

Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.

Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).

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

Источники

  • https://exceltable.com/master-klass/massivy-funktciy-excel
  • https://www.planetaexcel.ru/techniques/2/91/
  • https://office-menu.ru/uroki-excel/13-uverennoe-ispolzovanie-excel/45-funktsii-ssylok-i-massivov-excel
  • https://topexcel.ru/5-osnovnyx-funkcii-dlya-raboty-s-massivami/
  • https://msoffice-prowork.com/ref/excel/excelfunc/lookup-reference/
  • https://office-guru.ru/excel/funkcii-excel-dlja-raboty-so-ssylkami-i-massivami-515.html
  • https://zen.yandex.ru/media/id/5c4d8a530aaeef00ac928ac3/5cb46bff23aed400b46a0c52
  • http://samoychiteli.ru/document37861.html

Понравилась статья? Поделить с друзьями:
  • Excel функция стандартное отклонение
  • Excel функция среднеквадратичного отклонения
  • Excel функция среднее значение по условию
  • Excel функция сравнить даты
  • Excel функция сравнения значений в ячейках