Использование функций Excel для решения экономических задачРефераты >> Программирование и компьютеры >> Использование функций Excel для решения экономических задач
Если тип_сопоставления равен -1, функция ПОИСКПОЗ ищет в диапазоне наименьшее значение, которое больше или равно искомому значению. В этом случае элементы списка должны быть отсортированы по убыванию. Если в диапазоне нет элементов, которые больше или равны искомому значению, функция возвращает ошибочное значение #Н/Д.
Аргумент искомое_значение и элементы в диапазоне могут быть также текстовыми строками. Например, если ячейки A1:D1 содержат текстовые значения, как показано на рис.11, следующая формула возвратит значение 2: =ПОИСКПОЗ("Двадцать";А1:01;0)
При использовании функции ПОИСКПОЗ для определения позиции текстовых строк аргумент тип_сопоставления обычно задается равным 0 (полное совпадение). В этом случае в аргументе искомое_значение можно использовать символы шаблона * и ?.
Рис. 11. Функцию ПОИСКПОЗ можно использовать для определения позиции текстовой строки
5.4. Функция ПРОСМОТР
Функция ПРОСМОТР имеет две синтаксические формы. В обеих формах она аналогична функциям ВПР и ГПР и подчиняется тем же правилам.
5.4.1. Первая форма
Первая (векторная) форма функции ПРОСМОТР:
=ПРОСМОТР(искомое_значение;просмагриваемый_вектор;вектор_результатов)
Аргумент искомое_значение — это значение, которое ищется в просматриваемом_векторе, а вектор_ результатов содержит возможные результаты. Каждый из этих диапазонов содержит единственную строку или столбец.
Подобно функциям ГПР и ВПР, функция ПРОСМОТР ищет в просматриваемом векторе наибольшее сравниваемое значение, не превышающее искомое значение. Затем она выбирает значение из соответствующей позиции в векторе_результатов. Хотя обычно просматриваемый_вектор и вектор_ результатов размещаются в листе параллельно, это совсем не обязательно. Они могут быть расположены в разных областях листа, кроме того, один диапазон может быть горизонтальным, а другой вертикальным. Единственное ограничение состоит в том, что они должны иметь одинаковое число элементов. Например, рассмотрим формулу в листе на рис.12. =ПРОСМОТР(3;ВЗ:В7;ЕЗ:Е7)
Эта формула сравнивает Искомое_значение 3 со значениями в просматриваемом_векторе ВЗ:В7. Третья ячейка этого диапазона (В5) содержит наибольшую величину, которая не превосходит искомое значение. Таким образом, функция возвращает число 300, а именно содержимое третьей ячейки диапазона результатов (Е5).
Рис.12. Функцию ПРОСМОТР можно использовать для извлечения информации из заданного диапазона
Теперь рассмотрим формулу в листе на рис.13 с непараллельными диапазонами. =ПРОСМОТР(3;А1:А5;06:Н6)
Эта формула возвращает значение 300. Просматриваемый_вектор, А1:А5, и вектор результатов, D6:H6, имеют по пять элементов. Искомое_значение 3 совпадает с числом в третьей ячейке просматриваемого_вектора, и, таким образом, формула возвращает содержимое третьей ячейки диапазона результатов: 300.
Рис. 13. Функция ПРОСМОТР позволяет извлекать информацию из непараллельных, диапазонов ячеек
5.4.2. Вторая форма
Вторая синтаксическая форма функции ПРОСМОТР предназначена для работы с массивами: =ПРОСМОТР(искомое_значение; массив)
Аргумент искомое_значение — это значение, которое функция ПРОСМОТР ищет в массиве. Функция ПРОСМОТР всегда возвращает значение, полученное из последней строки или столбца массива.
Эту форму функции ПРОСМОТР можно использовать как с горизонтальными, так и с вертикальными таблицами. ПРОСМОТР использует размерности таблицы для определения расположения сравниваемых значений. Если таблица вытянута в высоту или квадратная, функция рассматривает эту таблицу как вертикальную и считает, что сравниваемые значения находятся в крайнем левом столбце. Если таблица вытянута в ширину, функция рассматривает ее как горизонтальную и считает, что сравниваемые значения находятся в первой строке таблицы.
Поскольку поведение функций ГПР и ВПР более предсказуемо и управляемо, предпочтительнее использовать именно их, а не функцию ПРОСМОТР.
5.5. Функция ИНДЕКС
Функция ИНДЕКС тоже имеет две формы. Одна предназначена для работы с массивами и возвращает одно или несколько значений, а другая возвращает ссылку на ячейку или диапазон ячеек рабочего листа.
5.5.1. Первая форма
Первая синтаксическая форма функции ИНДЕКС работает только с массивом аргументов и возвращает значения, а не ссылки на ячейки. Эта форма функции имеет следующий синтаксис: =ИНДЕКС(массив;номер_строки;номер_столбца)
Функция возвращает значение элемента массива, заданного номером строки и номером столбца. Например, следующая формула возвращает значение 20, поскольку 20 — это значение во втором столбце первой строки массива:
=ИНДЕКС( {ДО; 20; 30:40; 50; 60}; 1; 2)
5.5.2. Вторая форма
Вторая синтаксическая форма функции ИНДЕКС возвращает адрес ячейки. Она полезна в тех случаях, когда нужно выполнить операции с
ячейками (например, изменить ширину ячейки), а не с их значениями. Эта функция может, иногда вызвать замешательство, поскольку если она вложена в другую функцию, то последняя может использовать значение в ячейке, адрес которой возвращается функцией ИНДЕКС. Более того, ссылочная форма функций ИНДЕКС не отображает свой результат как адрес, а выводит значение (значения), находящееся по этому адресу. Важно запомнить, что результатом функции ИНДЕКС является именно адрес, даже если этот результат выглядит совсем иначе.
Функция ИНДЕКС имеет два достоинства: во-первых, в качестве просматриваемого диапазона может использоваться область листа, состоящая из нескольких несмежных диапазонов; во-вторых, функция может возвратить диапазон (несколько ячеек). Ссылочная форма этой функции имеет следующий синтаксис:
=ИНДЕКС( ссылка; номер_строки; номер_столбца; номер_области)
Аргумент ссылка может быть одним или несколькими диапазонами, которые называются областями (areas). Каждая область должна быть прямоугольной и может содержать числа, текстовые значения или формулы. Если области несмежные, аргумент ссылка должен быть заключен в круглые скобки.
Аргументы номер_строки и номер_столбца должны быть положительными числами (или ссылками на ячейки, содержащие числа), которые задают ячейку в аргументе ссылка. Если аргумент номер_строки больше числа строк в таблице или аргумент номер_столбца больше числа столбцов, функция ИНДЕКС возвращает ошибочное значение #ССЫЛКА!.
Если все области в аргументе ссылка содержат только одну строку, указывать номер_строки не обязательно. Подобным образом, аргумент номер_столбца является необязательным, если все области содержат только один столбец. Если в качестве аргумента номер_строки или номер_столбца указан 0, функция ИНДЕКС возвращает ссылку соответственно для всей строки или столбца.
Аргумент номер_области требуется только в том случае, если аргумент ссылка содержит несколько областей. Номер_области задает область в аргументе ссылка в дополнение к аргументам номер_строки и номер_столбца. Область, заданная в аргументе ссылка первой, имеет номер 1, второй — 2 и т. д. Если аргумент номер_области опущен, он считается равным 1. Этот аргумент всегда должен быть положительным целым числом. Если номер_области меньше 1, функция возвращает ошибочное значение #ССЫЛКА!.