Логические функции


Просмотр и ссылки

ПСТР(где_ищем; начальная позиция; количество_символов)

ПОИСК(что_ищем; где_ищем; номер_начального_символа)

Текстовые

Информационные

 

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

Синтаксис Возвращаемое значение
ЕЧИСЛО(x) Возвращает ИСТИНА, если аргумент число  
ЕПУСТО(x) Возвращает ИСТИНА, если аргумент ссылается на пустую ячейку

 

 

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

Рассмотри несколько функции данной категории.

 

 

Функция возвращает номер позиции первого вхождения строки "что_ищем" в тексте "где_ищем", начиная с номера начального символа
(по умолчанию 1). Регистр не различает.

Например, результатом функции ПОИСК("бра";"абракадабра";4) будет число 8, т.к. второе вхождение слова "бра" в слово "абракадабра", начинается с 8-го символа.

 

 

Функция возвращает заданное количество символов, начиная с начальной позиции, из текста "где_ищем".

Например, результатом функции ПСТР(“Группа”; 2;3) будет слово "руп".

 

СЦЕПИТЬ(строка1;строка2;…)

 

Функция соединяет несколько строк в одну строку (аналогично текстовой операции конкатенации).

Например, результатом функции СЦЕПИТЬ("Конь";"як") будет слово "Коньяк".

 

 

 

В основном используется для поиска в таблице нужных ячеек.

 

ПРОСМОТР(искомое_значение;вектор1;вектор2)

 

Функция просматривает "вектор1", , находит в нем позицию "искомого_значения", переходит в ту же позицию "вектора2" и возвращает значение оттуда.

Если в "векторе1" "искомого_значения" не найдено, то выбирается позиция наибольшего из элементов, не превосходящего "искомое_значение".

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

Например, результатом формулы =ПРОСМОТР("г";А3:А8;С3:С8) будет число 12 (Рис. 15.).

 

Рис. 15. Применение функции ПРОСМОТР()

 

А результатом формулы =ПРОСМОТР(12;С3:С8;А3:А8) будет сообщение об ошибке (Рис. 16.), т.к. "вектор1" (данные в столбце С) не отсортированы.

 

Рис. 16. Применение функции ПРОСМОТР()

 

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

 

ПОИСКПОЗ(искомое_значение;вектор;тип_сопоставления)

 

Возвращает номер позиции того элемента "вектора", который совпадает с "искомым_значением". "Тип_сопоставления" - число -1, 0 или 1. "Тип_сопоставления" указывает, как Microsoft Excel сопоставляет "искомое_значение" со значениями в "векторе".

· Если "тип_сопоставления"равен 1, то функция ПОИСКПОЗ() находит наибольшее значение, которое меньше либо равно, чем "искомое_значение". "Вектор" должен быть упорядочен по возрастанию.

· Если "тип_сопоставления" равен 0, то функция ПОИСКПОЗ() находит первое значение, которое в точности равно аргументу "искомое_значение". "Вектор" может быть не упорядочен.

· Если "тип_сопоставления" равен -1, то функция ПОИСКПОЗ() находит наименьшее значение, которое больше либо равно чем "искомое_значение". "Вектор" должен быть упорядочен по убыванию.

· Если "тип_сопоставления" опущен, то предполагается, что он
равен 1.

Функция ПОИСКПОЗ() используется вместо функций типа ПРОСМОТР(), если нужна позиция элемента, а не сам соответствующий элемент. Если такой элемент не найден, возвращается "#Н/Д".

 

ИНДЕКС(вектор,номер)

 

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

 

Пример. Запишем в ячейку Е2 формулу =ПОИСКПОЗ(12;С3:С8;0)
(Рис. 17.). В результате в ячейке будет число 4, которое соответствует номеру порядковому номеру элемента "12" в данных диапазона С3:С8.

Рис. 17. Применение функции ПОИСКПОЗ()

Теперь в ячейку Е3 запишем формулу =ИНДЕКС(А3:А8;Е2) (Рис. 18.).

Рис. 18. Применение функции ИНДЕКС()

 

В результате содержимым ячейки Е3 будет буква "г", стоящая
на 4 позиции диапазона А3:А8.

 

Формула может быть сложной, со вложенными ссылками.

Например, формула может выглядеть так (Рис. 19.):

=ИНДЕКС(A3:A8; ПОИСКПОЗ(12;C3:C8;0))

Рис. 19. Применение сложной функции

 

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

 

Первая из этих функций имеет вид: