Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
Самый популярный способ выполнить двусторонний поиск в Excel — использовать комбинацию ИНДЕКС с двумя ПОИСКПОЗ. Это разновидность классической формулы ПОИСКПОЗ ИНДЕКС , к которой вы добавляете еще одну функцию ПОИСКПОЗ, чтобы получить номера строк и столбцов:
В этом способе, как и во всех остальных, мы используем поиск по двум условиям. Первое из них должно обнаружить совпадение в определенном столбце (в заголовках строк), а второе – в определенной строке (то есть, в заголовках столбцов). В результате мы имеем строку и столбец, которые соответствуют заданным условиям. А на пересечении их как раз и будут находиться искомые данные.
В качестве примера составим формулу для получения количества проданного товара за определённый период времени из таблицы, которую вы можете видеть ниже. Для начала определим все аргументы:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)
Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:
Как работает эта формула?
Хотя на первый взгляд это может показаться немного сложным, логика здесь простая. Функция ИНДЕКС извлекает значение из массива данных на основе номеров строк и столбцов, а две функции ПОИСКПОЗ предоставляют ей эти номера:
Здесь мы используем способность ПОИСКПОЗ возвращать относительную позицию значения в искомом массиве .
Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):
ПОИСКПОЗ(H1;A2:A11;0)
Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):
ПОИСКПОЗ(H2;B1:E1;0)
В обоих случаях мы ищем точное совпадение, присваивая третьему аргументу значение 0.
В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в B1:E1.
С учетом вышеизложенного формула сводится к:
ИНДЕКС(B2:E11; 2 ; 3 )
Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.
Думаю, вы понимаете, что аналогичным образом можно производить поиск в двумерном массиве Excel не только числа, но и текста. Тип данных здесь не имеет значения.
Векторная форма функции Просмотр
Предприятию выдается кредит. В зависимости от суммы кредита начисляется процент за использование кредита (таблица Шкала). Сумма возврата складывается из суммы кредита и суммы процента за пользование кредитом. Величина процента за использование кредита рассчитывается с помощью функции Просмотр() (см. рис.26).
Для расчета процента за использование кредита для Предприятия1 вводится формула:
Рисунок 26. Функция Просмотр
Вектор — это диапазон, который содержит только одну строку или один столбец. Векторная форма функции ПРОСМОТР() — просматривается диапазон, в который входят значения только одной строки или одного столбца (так называемый вектор) в поисках определенного значения и возвращается значение из другого столбца или строки. Эта форма функции ПРОСМОТР() используется, когда требуется указать интервал, в котором находятся искомые значения.
Искомое_значение — это значение, которое ПРОСМОТР() ищет в векторе просмотра. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой, ссылающимися на значение.
Вектор_просмотра — это интервал, содержащий только одну строку или один столбец. Значения в аргументе Вектор_просмотра могут быть текстом, числами или логическими значениями.
Значения в аргументе Вектор_просмотра должны быть упорядочены, т.е. расположены в порядке возрастания: . -2, -1, 0, 1, 2, . A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР() может вернуть неверный результат. Тексты в нижнем и верхнем регистре считаются эквивалентными.
Вектор_результата— это интервал, содержащий только одну строку или один столбец. Он должен быть того же размера, что и Вектор просмотра.
Если ПРОСМОТР не может найти Искомое_значение, то подходящим считается наибольшее значение в аргументе Вектор_просмотра, которое меньше, чем Искомое_значение.
Если Искомое_значение меньше, чем наименьшее значение в аргументе Вектор_просмотра, то функция ПРОСМОТР возвращает значение ошибки #Н/Д.
Обратить внимание на использование абсолютной адресацией, использование имен диапазонов в формуле. Форма массива функции Просмотр()
Форма массива функции Просмотр()
Форма массива функции ПРОСМОТР() просматривает первую строку или первый столбец массива, находит указанное значение и возвращает значение из аналогичной позиции последней строки или столбца массива.
Эта форма функции ПРОСМОТР используется, когда сравниваемые значения находятся в первой строке или в первом столбце. Если требуется указать положение столбца или строки, следует использовать другую форму функции ПРОСМОТР.
Лучше использовать функции ГПР() или ВПР() вместо функции ПРОСМОТР(), используемой в форме массива.
Искомое_значение — это значение, которое ПРОСМОТР ищет в массиве. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой, ссылающимися на значение.
Если ПРОСМОТР() не может найти искомое_значение, то подходящим считается наибольшее значение в аргументе массив, которое меньше, чем искомое_значение.
Если искомое_значение меньше, чем наименьшее значение в первой строке или первом столбце (в зависимости от размерности массива), то функция ПРОСМОТР() возвращает значение ошибки #Н/Д.
Форма массива функции ПРОСМОТР() очень похожа на функции ГПР() и ВПР.() Различие заключается в том, что функция ГПР() ищет искомое_значение в первой строке, функция ВПР() ищет в первом столбце, а функция ПРОСМОТР ищет в соответствии с размерностями массива.
Если ширина массива больше его высоты (то есть имеет больше столбцов чем строк), то функция ПРОСМОТР() ищет искомое_значение в первой строке.
Если массив больше в высоту, чем в ширину (то есть имеет больше строк, чем столбцов), то функция ПРОСМОТР() ищет в первом столбце.
Используя функции ГПР() и ВПР() можно указывать индекс по направлению вниз и вправо, а функция ПРОСМОТР() всегда выбирает последнюю ячейку в строке или столбце.
Функция Excel – Если
Это обычная функция на проверку выражения или значения. Иногда бывает полезна. Например, нам необходимо в столбец C записывать значение «Больше» или «Меньше» на основании сравнения полей A и B т.е. например, если A больше B то записываем «Больше» если меньше то соответственно записываем «Меньше»:
На сегодня я думаю достаточно, да и принцип я думаю, понятен, т.е. в окне выбора функций все функции сгруппированы по назначению (категории) и с подробным описанием, как вызывается окно функций, Вы уже знаете, но все равно напомню, на панели жмем «Вставить функцию» и ищем нужную Вам функции и все.
Надеюсь, все выше перечисленные примеру окажутся Вам полезны.
АДРЕС
Синтаксис:
АДРЕС(номер_строки, номер_столбца, тип_ссылки, a1, имя_листа)
Результат: Адрес ячейки (в текстовом виде), формируемый на основе номеров строки и столбца.
Аргументы:
- номер_строки — номер строки;
- номер_столбца — номер столбца;
-
тип_ссылки — задание типа возвращаемой ссылки; может принимать следующие значения:
Значение аргумента Тип возвращаемой ссылки 1 или опущен Абсолютный 2 Абсолютная строка; относительный столбец 3 Относительная строка; абсолютный столбец 4 Относительный - a1 — логическое значение, которое определяет стиль ссылок: А1 или R1C1; если аргумент al имеет значение ИСТИНА или опущен, то функция АДРЕС возвращает ссылку в стиле А1; если этот аргумент имеет значение ЛОЖЬ, то функция АДРЕС возвращает ссылку в стиле R1C1;
- имя_листа — текст, определяющий имя рабочего листа или листа макросов, который используется для формирования внешней ссылки; если аргумент имя_листа опущен, то внешние листы не используются.
Как сравнить две таблицы: пошаговая инструкция для «чайников»
Функция ВПР поможет сравнить две таблицы Excel в считанные секунды, даже если данные занимают не один десяток значений. Пошаговая инструкция:
Допустим, что к тому же администратору торгового центра снова привезли товар, но предупредили, что стоимость у некоторых предметов изменились. Как сравнить две таблицы функцией ВПР в Эксель?
Делается это в несколько шагов:
- Открыть первую со старой информацией.
- Добавить дополнительный столбик для новых данных «Новая стоимость».
- Выделить первое пустое поле в созданном столбце (С2).
- Выбрать раздел «ВПР Формулы» и «Вставить функцию».
- Найти категорию Excel «Ссылки и массивы».
- Выбрать ВПР.
- Задать «Аргументы».
Номер столбца – второй, так как именно стоимость переносится в новую.
Интервальный просмотр – ЛОЖЬ.
Заполненное окно выглядит так:
После нажатия кнопки «ОК» новые значения появятся в таблице. Чтобы ценовая информация появилась у всех предметов нужно растянуть ячейку.
Теперь администратор может работать с данными стандартными функциями Excel, благодаря инструкции.
Применение оператора ПРОСМОТР
Прежде, чем приступить к использованию инструмента ПРОСМОТР нужно создать таблицу, где будут значения, которые нужно найти, и заданные значения. Именно по данным параметрам поиск и будет осуществляться. Существует два способа использования функции: векторная форма и форма массива.
Способ 1: векторная форма
Данный способ наиболее часто применим среди пользователей при использовании оператора ПРОСМОТР.
- Для удобства строим вторую таблицу с колонками «Искомое значение» и «Результат». Это не обязательно, так как для данных целей можно использовать любые ячейки на листе. Но так будет удобнее.
- Выделяем ячейку, куда будет выводиться итоговый результат. В ней и будет находиться сама формула. Кликаем по пиктограмме «Вставить функцию».
Для тех пользователей, которые желают применять данный оператор вручную, без использования «Мастера функций», важно знать синтаксис его написания. Он выглядит следующим образом:. Мы же остановимся на тех значениях, которые следует вносить в окно аргументов
Мы же остановимся на тех значениях, которые следует вносить в окно аргументов.
В поле «Искомое значение» вводим координаты ячейки, куда будем записывать параметр, по которому будет проводиться поиск. Мы во второй таблице назвали так отдельную ячейку. Как обычно, адрес ссылки прописывается в поле либо вручную с клавиатуры, либо путем выделения соответствующей области. Второй вариант намного удобнее.
В поле «Просматриваемый вектор» указываем диапазон ячеек, а в нашем случае тот столбец, где находятся наименования, одно из которых будем записывать в ячейке «Искомое значение». Вносить координаты в это поле также легче всего путем выделения области на листе.
В поле «Вектор результатов» вносятся координаты диапазона, где находятся значения, которые нам нужно найти.
После того, как данные были введены, ячейка, в которой находится функция, автоматически заполняется соответствующим показателем из вектора результатов.
Если мы введем в ячейку искомого значения другое наименование, то и результат, соответственно, поменяется.
Функция ПРОСМОТР очень напоминает ВПР. Но в ВПР просматриваемый столбец обязательно должен быть крайним левым. У ПРОСМОТР данное ограничение отсутствует, что мы и видим на примере выше.
Способ 2: форма массива
В отличие от предыдущего способа, данная форма оперирует целым массивом, в который сразу входит просматриваемый диапазон и диапазон результатов. При этом просматриваемый диапазон должен являться обязательно крайнем левым столбцом массива.
- После того, как выбрана ячейка, куда будет выводиться результат, запущен Мастер функций и сделан переход к оператору ПРОСМОТР, открывается окно для выбора формы оператора. В данном случае выбираем вид оператора для массива, то есть, вторую позицию в перечне. Жмем «OK».
- Открывается окно аргументов. Как видим, данный подтип функции имеет всего два аргумента – «Искомое значение» и «Массив». Соответственно её синтаксис следующий:
В поле «Искомое значение», как и при предыдущем способе, вписываем координаты ячейки, в которую будет вводиться запрос.
А вот в поле «Массив» нужно указать координаты всего массива, в котором находится как просматриваемый диапазон, так и диапазон результатов. При этом, просматриваемый диапазон обязательно должен быть крайней левой колонкой массива, иначе формула будет работать некорректно.
После того, как указанные данные введены, жмем на кнопку «OK».
Теперь, как и в прошлый раз, для того, чтобы использовать данную функцию, в ячейку для искомого значения вводим одно из наименований просматриваемого диапазона.
Как видим, после этого автоматически в соответствующую область выводится результат.
Как видим, оператор ПРОСМОТР является отличным помощником при поиске данных по искомому значению. Особенно эта возможность полезна в длинных таблицах. Также следует заметить, что существуют две формы этой функции – векторная и для массивов. Последняя из них является уже устаревшей. Хотя некоторыми пользователями она применяется до сих пор.
*args и **kwargs
Прежде чем завершить, поговорим про еще одну важную тему, а именно про так называемые *args (сокращение от arguments) и **kwargs (keyword arguments).
Они позволяют передавать функции различное количество позиционных (*args) или именованных (**kwargs) аргументов.
Рассмотрим на примере. Начнем с *args.
*args
Предположим, что у нас есть простая функция, которая принимает два числа и считает среднее арифметическое.
1 |
# объявим функцию defmean(a,b) return(a+b)2 mean(1,2) |
1 | 1.5 |
Все отлично работает, но мы не можем передать этой функции больше двух чисел. Возможным решением станет функция, которая изначально принимает список в качестве аргумента.
1 |
# объявим функцию, которой нужно передать список defmean(list_) # зададим переменную для суммы, total= # в цикле сложим все числа из списка foriinlist_ total+=i # и разделим на количество элементов returntotallen(list_) |
1 |
# создадим список list_=1,2,3,4 mean(list_) |
1 | 2.5 |
Все опять же работает, но нам каждый раз нужно создавать список. При попытке передать отдельные числа функция выдаст ошибку.
1 | mean(1,2) |
*args позволяет передавать функции произвольное количество отдельных чисел.
1 |
# объявим функцию с *args defmean(*nums) total= foriinnums total+=i returntotallen(nums) |
1 | mean(1,2,3,4) |
1 | 2.5 |
Как вы видите, главным элементом здесь является оператор распаковки * (unpacking operator). Он принимает все передаваемые в функцию числа и формирует из них кортеж.
Затем мы проходимся по элементам этого кортежа, рассчитываем их сумму и делим на количество элементов. Использовать слово args не обязательно, мы назвали наш позиционный аргумент nums.
Если мы по какой-то причине захотим передать функции список, мы можем это сделать.
1 |
# передадим в функцию список mean(*list_) |
1 | 2.5 |
В этом случае мы передаем название списка со звездочкой *.
Для того чтобы продемонстрировать преобразование чисел в кортеж, напишем вот такую несложную функцию.
1 |
deftest_type(*nums) print(nums,type(nums)) |
1 | test_type(1,2,3,4) |
1 | (1, 2, 3, 4) <class ‘tuple’> |
**kwargs
При использовании **kwargs происходит почти то же самое за тем исключением, что мы распаковываем именованные, а не позиционные аргументы. И распаковываем их в словарь, а не в список. Сразу посмотрим на примере.
1 |
deff(**kwargs) returnkwargs.items() |
1 |
# оператор ** примет произвольное количество именованных аргументов f(a=1,b=2) |
1 | dict_items() |
Приведем более сложный пример. Напишем функцию, которая на вход примет произвольное количество чисел (позиционный аргумент), преобразует в кортеж (*args) и рассчитает (mean) и (standard deviation).
Для каждой из метрик мы дополнительно создадим именованный параметр, который определит выводить эту метрику или нет. Параметры мы передадим через **kwargs. Внутри функции из них будет сформирован словарь.
1 |
# nums функция преобразует в кортеж, params — в словарь defsimple_stats(*nums,**params) # если ключ ‘mean’ есть в словаре params и его значение == True if’mean’inparams andparams’mean’==True # рассчитаем среднее арифметическое кортежа nums и округлим # \t — это символ табуляции print(f’mean: \t{np.round(np.mean(nums), 3)}’) # если ключ ‘std’ есть в словаре params и его значение == True if’std’inparams andparams’std’==True # рассчитаем СКО кортежа nums и округлим print(f’std: \t{np.round(np.std(nums), 3)}’) |
Вызовем функцию simple_stats() и передадим ей числа и именованные аргументы.
1 | simple_stats(5,10,15,20,mean=True,std=True) |
1 |
mean: 12.5 std: 5.59 |
Если для одного из параметров задать значение False, функция не выведет соответствующую метрику.
1 | simple_stats(5,10,15,20,mean=True,std=False) |
1 | mean: 12.5 |
Для того чтобы передать параметры списком и словарем, нам нужно использовать операторы распаковки
* и
** соответственно.
1 |
list_=5,10,15,20 settings={‘mean’True,’std’True} simple_stats(*list_,**settings) |
1 |
mean: 12.5 std: 5.59 |
Количество именованных аргументов в **kwargs может быть любым. Ничто не мешает нам добавить еще один параметр.
1 |
# добавим параметр median simple_stats(5,10,15,20,mean=True,std=True,median=True) |
1 |
mean: 12.5 std: 5.59 |
Впрочем, для того чтобы это имело смысл, такой параметр должен быть прописан внутри функции.
В заключение скажу, что все приведенные выше примеры являются учебными и без *args и **kwargs здесь конечно можно обойтись. На практике, они применяются в более сложных конструкциях, например, в так называемых декораторах, однако эта тема выходит за рамки сегодняшнего занятия.
Пример
Рассмотрим следующий пример.
- Введем следующие данные на лист Excel, как показано на рисунке:
- Возможны 4 варианта:
- длина волны совпадает с одним из значений массива в столбце А;
- длина волны не совпадает ни с одним значением массива в столбце А;
- длина волны больше максимального значения массива в столбце А;
- длина волны меньше минимального значения массива в столбце А.
- Рассмотрим в режиме формул:
- Теперь в режиме просмотра значений:
Почему так получилось? Все очень просто:
- в первом случае у нас была такая длина волны, поэтому цвет желто-зеленый;
- во втором случае совпадения не было, поэтому было выдано значение цветофильтра для ближайшей длины волны в меньшую сторону, т.е. сине-зеленый светофильтр, который соответствует длине волны 495;
- в третьем случае то же самое, когда длина волны была больше максимальной, т.е. поиск выдал значение пурпурного светофильтра, который соответствует длине волны 740;
- в последнем случае длина волны была меньше минимальной, поэтому поиск выдал ошибку #Н/Д.
Вместо подбора значений, которые соответствуют числовым, можно искать совпадения, например, по текстовому параметру. Другие другие особенности функции Текст и прочие полезные материалы ищите на Справочнике по информатике.
Дополнительная информация
- совпадение искомых данных может быть точным и приблизительным;
- при сопоставлении по приблизительной точности данных убедитесь, что данные в таблицах отсортированы в убывающем порядке (от большого к малому). Иначе, результат сопоставления будет некорректным;
- при сопоставлении данных по приблизительной точности:– если функция не найдет искомое значение, она выдаст наибольшую величину, которая будет меньше чем значения поиска;– если функция при сопоставлении выдает ошибку #N/A, то искомое значение меньше чем самая маленькая величина в искомом диапазоне;– вы можете использовать подстановочные знаки для искомых значений.
Функция ПРОСМОТР() в EXCEL
history 12 января 2014 г.
стандартные функции
Функция ПРОСМОТР( ) , английский вариант LOOKUP(), похожа на функцию ВПР() : ПРОСМОТР() просматривает левый столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы. Существенное ограничение использования функции ПРОСМОТР() — левый столбец исходной таблицы, по которому производится поиск, должен быть отсортирован по возрастанию, иначе получим непредсказуемый (вероятнее всего неправильный) результат.
Перед использованием функции ПРОСМОТР() убедитесь, что диапазон значений, по которым будет производиться поиск, ОТСОРТИРОВАН ПО ВОЗРАСТАНИЮ, иначе функция может вернуть неправильный результат. Если это невозможно, рекомендуется использовать функции ВПР() и ПОИСКПОЗ() совместно с функцией ИНДЕКС() .
Синтаксис функции
Существует 2 формы задания аргументов функции ПРОСМОТР() : форма массива и форма вектора.
Форма массива
Форма массива функции ПРОСМОТР() просматривает первый (левый) столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы (массива).
ПРОСМОТР ( искомое_значение ; массив )
Формула =ПРОСМОТР(«яблоки»; A2:B10) просматривает диапазон ячеек А2:А10 . Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5 , т.е. из соответствующей ячейки самого правого столбца таблицы ( B2:B10 )
Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию
Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПРОСМОТР() — также имеет векторную форму . Вектор представляет собой диапазон ячеек, размещенный в одном столбце или одной строке.
ПРОСМОТР ( искомое_значение ; просматриваемый_вектор; вектор_результатов)
Формула =ПРОСМОТР(«яблоки»; A2:A10; B2:B10) просматривает диапазон ячеек А2:А10 . Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5 , т.е. из соответствующей ячейки самого правого столбца таблицы ( B2:B10 )
Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию. Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему
Функция ПРОСМОТР() не различает РеГИстры при сопоставлении текстов.
Если функция ПРОСМОТР() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск значения в сортированном списке текстовых значений (диапазон А8:А15 ). Список может содержать повторы. Искомое значение содержится в А19 .
Формулы для вывода соответствующих значений Адреса и ИНН (форма массива) =ПРОСМОТР(A19;A8:B15) и =ПРОСМОТР(A19;A8:С15)
Формулы для вывода соответствующих значений Адреса и ИНН (форма вектора) =ПРОСМОТР(A19;A8:A15;B8:B15) и =ПРОСМОТР(A19;A8:A15;С8:С15)
В файле примера можно найти применение формул при наличии повторов в столбце поиска.
Как видно из картинки выше, в случае повторов в столбце поиска, функция ПРОСМОТР() выводит то значение, которое расположено ниже.
Вывод : функция ПРОСМОТР() не имеет преимуществ по сравнению с функцией ВПР() .
Поиск позиции в массиве констант
Поиск значения можно производить не только в диапазонах ячеек, но и в массивах констант . Например, формула =ПРОСМОТР(22;<0;60;70;80;90>;<«F»;»D»;»C»;»B»;»A»>) вернет значение F . Такой вид записи удобен, когда стоит задача решаемая с помощью вложенных ЕСЛИ: если значение файл примера ).
Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПОИСКПОЗ в Excel
Функция ПОИСКПОЗ возвращает относительное расположение ячейки в заданном диапазоне Excel, содержимое которой соответствует искомому значению. Т.е. данная функция возвращает не само содержимое, а его местоположение в массиве данных.
Например, на рисунке ниже формула вернет число 5, поскольку имя «Дарья» находится в пятой строке диапазона A1:A9.
В следующем примере формула вернет 3, поскольку число 300 находится в третьем столбце диапазона B1:I1.
Из приведенных примеров видно, что первым аргументом функции ПОИСКПОЗ является искомое значение. Вторым аргументом выступает диапазон, который содержит искомое значение. Также функция имеет еще и третий аргумент, который задает тип сопоставления. Он может принимать один из трех вариантов:
- — функция ПОИСКПОЗ ищет первое значение в точности равное заданному. Сортировка не требуется.
В одиночку функция ПОИСКПОЗ, как правило, не представляет особой ценности, поэтому в Excel ее очень часто используют вместе с функцией ИНДЕКС.
Функция ИНДЕКС возвращает содержимое ячейки, которая находится на пересечении заданных строки и столбца. Например, на рисунке ниже формула возвращает значение из диапазона A1:C4, которое находится на пересечении 3 строки и 2 столбца.
Стоит отметить, что номера строк и столбцов задаются относительно верхней левой ячейки диапазона. Например, если ту же таблицу расположить в другом диапазоне, то формула вернет тот же результат:
Если массив содержит только одну строку или один столбец, т.е. является вектором, то второй аргумент функции ИНДЕКС указывает номер значения в этом векторе. При этом третий аргумент указывать необязательно.
Например, следующая формула возвращает пятое значение из диапазона A1:A12 (вертикальный вектор):
Данная формула возвращает третье значение из диапазона A1:L1(горизонтальный вектор):
Логические функции в программе Microsoft Excel
Среди множества различных выражений, которые применяются при работе с Microsoft Excel, следует выделить логические функции. Их применяют для указания выполнения различных условий в формулах.
При этом, если сами условия могут быть довольно разнообразными, то результат логических функций может принимать всего два значения: условие выполнено (ИСТИНА) и условие не выполнено (ЛОЖЬ).
Давайте подробнее разберемся, что представляют собой логические функции в Экселе.
Скачать последнюю версию Excel
Основные операторы
Существует несколько операторов логических функций. Среди основных следует выделить такие:
- ИСТИНА;
- ЛОЖЬ;
- ЕСЛИ;
- ЕСЛИОШИБКА;
- ИЛИ;
- И;
- НЕ;
- ЕОШИБКА;
- ЕПУСТО.
Существуют и менее распространенные логические функции.
У каждого из вышеуказанных операторов, кроме первых двух, имеются аргументы. Аргументами могут выступать, как конкретные числа или текст, так и ссылки, указывающие адрес ячеек с данными.
Функции ИСТИНА и ЛОЖЬ
Оператор ИСТИНА принимает только определенное заданное значение. У данной функции отсутствуют аргументы, и, как правило, она практически всегда является составной частью более сложных выражений.
Оператор ЛОЖЬ, наоборот, принимает любое значение, которое не является истиной. Точно так же эта функция не имеет аргументов и входит в более сложные выражения.
Функции И и ИЛИ
Функция И является связующим звеном между несколькими условиями. Только при выполнении всех условий, которые связывает данная функция, она возвращает значение ИСТИНА. Если хотя бы один аргумент сообщает значение ЛОЖЬ, то и оператор И в целом возвращает это же значение. Общий вид данной функции: =И(лог_значение1;лог_значение2;…) . Функция может включать в себя от 1 до 255 аргументов.
Функция ИЛИ, наоборот, возвращает значение ИСТИНА даже в том случае, если только один из аргументов отвечает условиям, а все остальные ложные. Её шаблон имеет следующий вид: =И(лог_значение1;лог_значение2;…) . Как и предыдущая функция, оператор ИЛИ может включать в себя от 1 до 255 условий.
Функции ЕСЛИ и ЕСЛИОШИБКА
Для более сложных конструкций используется функция ЕСЛИ. Данный оператор указывает, какое именно значение является ИСТИНА, а какое ЛОЖЬ.
Его общий шаблон выглядит следующим образом: =ЕСЛИ(логическое_выражение;значение_если_истина;значение_если-ложь) . Таким образом, если условие соблюдается, то в ячейку, содержащую данную функцию, заполняют заранее указанные данные.
Если условие не соблюдается, то ячейка заполняется другими данными, указанными в третьем по счету аргументе функции.
Урок: функция ЕСЛИ в Excel
Функции ЕОШИБКА и ЕПУСТО
Функция ЕОШИБКА проверяет, не содержит ли определенная ячейка или диапазон ячеек ошибочные значения. Под ошибочными значениями понимаются следующие:
- #Н/Д;
- #ЗНАЧ;
- #ЧИСЛО!;
- #ДЕЛ/0!;
- #ССЫЛКА!;
- #ИМЯ?;
- #ПУСТО!
В зависимости от того ошибочный аргумент или нет, оператор сообщает значение ИСТИНА или ЛОЖЬ. Синтаксис данной функции следующий: = ЕОШИБКА(значение) . В роли аргумента выступает исключительно ссылка на ячейку или на массив ячеек.
Оператор ЕПУСТО делает проверку ячейки на то, пустая ли она или содержит значения. Если ячейка пустая, функция сообщает значение ИСТИНА, если ячейка содержит данные – ЛОЖЬ. Синтаксис этого оператора имеет такой вид: =ЕПУСТО(значение) . Так же, как и в предыдущем случае, аргументом выступает ссылка на ячейку или массив.
Пример применения функций
Теперь давайте рассмотрим применение некоторых из вышеперечисленных функций на конкретном примере.
Имеем список работников предприятия с положенными им заработными платами. Но, кроме того, всем работникам положена премия. Обычная премия составляет 700 рублей.
Но пенсионерам и женщинам положена повышенная премия в размере 1000 рублей. Исключение составляют работники, по различным причинам проработавшие в данном месяце менее 18 дней.
Им в любом случае положена только обычная премия в размере 700 рублей.
Попробуем составить формулу. Итак, у нас существует два условия, при исполнении которых положена премия в 1000 рублей – это достижение пенсионного возраста или принадлежность работника к женскому полу. При этом, к пенсионерам отнесем всех тех, кто родился ранее 1957 года. В нашем случае для первой строчки таблицы формула примет такой вид: =ЕСЛИ(ИЛИ(C4
Как найти функцию в Excel
Когда откроется окно «Вставить функцию», вы увидите параметр поиска вместе с раскрывающимся списком. Это дает вам два простых метода поиска нужной функции.
Чтобы воспользоваться поиском, введите ключевое слово или фразу в поле «Поиск функции» в верхней части окна и нажмите «Перейти». Например, если вы ищете функцию, которая поможет вам в вычислениях, связанных со временем и датой, попробуйте выполнить поиск по запросу «время».
Выпадающий список также поможет вам быстро найти полезную функцию. Щелкните его рядом со словами «Или выберите категорию» и выберите категорию. Вы увидите общие параметры, такие как Финансовые, Логические, Текстовые и другие. Выбрав категорию, вы увидите все доступные в ней функции.
Еще одна категория, на которую следует обратить внимание, — это «Последние использованные». Как следует из названия, здесь вы найдете те функции, которые использовали в последнее время
Это может быть полезно, если вы использовали функцию, скажем, на прошлой неделе, но не можете вспомнить, что это было. Отметьте эту категорию, и функция может появиться у вас.
В большинстве случаев, независимо от того, выполняете ли вы поиск или выбираете категорию, это просто сужает для вас выбор. Итак, следующий шаг в поиске нужной функции — проверка ее описаний. Щелкните функцию в списке, и вы увидите ее описание и синтаксис в нижней части окна.
Например, вам может понадобиться функция квартиля. Вы можете видеть, что Excel предлагает несколько разных вариантов. Выбрав каждый из них и просмотрев их описания, вы сможете найти то, что вам нужно.
Если после того, как вы сузите выбор функций и просмотрите описания, вы все еще не уверены, подходит ли эта функция для вас, вы можете получить дополнительную помощь. Выберите функцию в списке и нажмите «Справка по этой функции» в нижнем левом углу окна.
Это приведет вас на веб-сайт поддержки Microsoft, где вы найдете функцию, которая предоставляет дополнительную информацию и примеры использования.
ГИПЕРССЫЛКА
Синтаксис:
ГИПЕРССЫЛКА(адрес_документа, имя)
Результат: Создание гипертекстовой ссылки на документ, хранящийся на сервере локальной сети или на узле Internet. При перемещении курсора в ячейку с гиперссылкой Excel открывает файл, указанный в ссылке.
Аргументы:
- адрес_документа — полный путь к документу, с которым устанавливается гиперсвязь. Адрес может быть ссылкой на определенную область документа (например, адресом ячейки или именем диапазона) или на файл на локальном жестком диске. Адрес может представлять собой универсальный локатор ресурсов, если ссылка дается на документ в сети Internet или intranet. Задается он в виде текстовой строки, заключенной в кавычки.
- имя — текст или числовое значение, отображаемое в ячейке, которая содержит гипертекстовую ссылку. Если данный аргумент опущен, то в ячейке отображается значение адреса. Выделяется голубым цветом.