Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уокенбах Формулы в Excel

.pdf
Скачиваний:
222
Добавлен:
26.03.2016
Размер:
35.82 Mб
Скачать

Один из способов решения этой проблемы— использовать функцию ПРОСМОТР, которая требует в качестве аргументов два диапазона. Следующая формула (в ячейке F3) возвращает средний темп игрока (из столбца В), имя которого введено в ячейку LookupValue:

=ПРОСМОТР(LookupValue;Players;Averages)

Для того чтобы использовать функцию ВПР, диапазон поиска (в данном случае диапазон Players) необходимо упорядочить в порядке возрастания. В дополнение к этому ограничению, формула имеет еще одну небольшую проблему: при вводе имени несуществующего игрока (другими словами, если ячейка LookupValue содержит значение, которое отсутствует в диапазоне Players), результат, возвращаемый формулой, будет ошибочным.

Более эффективный способ — совместное использование функций ИНДЕКС и ПОИСКПОЗ. Следующая формула работает точно так же, как предыдущая, за исключением того, что она возвращает ошибку #Н/Д,если искомый игрок не найден. Другое преимущество этой формулы состоит в том, что имена игроков не требуют сортировки:

=ИНДЕКС(Averages;ПОИСКПОЗ(LookupValue;Players;0))

Поиск сучетом регистра

Давайте рассмотрим задачу поиска текста в таблице данных. Базовые функциипоискаданных в Excel (ПРОСМОТР, ВПР и ГПР) не учитывают регистр символов. Поэтому, если вы используете эти функции, чтобы найти в таблице текст бюджет, формула будет возвращать любую найденную, соответствующую этому тексту строку, например:БЮДЖЕТ, Бюджет или БюДжЕт.

Обратите внимание, рабочий лист, отображенный на рис. 8.8, содержит два диапазона: первый диапазон включает ячейки D2 :D7 (Rangel), второй — ячейки Е2 : Е7 (Range2). Текст, который необходимо найти, содержится в ячейке Bl (Value).

APPLE

100

Следующая формула

массива, введенная в

apple

200

DOG

300

ячейку В2, осуществляет

поиск заданного значе-

dog

400

CANDY

500

ния в диапазоне Range 1, учитывая при этом ре-

 

 

candy

600

 

 

гистр символов, и возвращает соответствующее значение из Range2.

 

{^ИНДЕКС(Range2;ПОИСКПОЗ(ИСТИНА;СОВПАД(

Рис. 8.8. Чтобы найти текст, учитывая

регистр символов, воспользуйтесь фор-V a l u e ; R a n g e l ) ; 0 ) ) }

мулой массива

Данная формула находит слово DOG (все симво-

 

 

лы верхнего регистра) и возвращает соответствую-

щее значение 300. В свою очередь, стандартная формула поиска, использующая функцию ПРОСМОТР, возвращает значение 400:

=ПРОСМОТР(Value;Rangel;Range2)

Помните, что при вводе формулы массива необходимо использовать клавиши <Ctrl+Alt+Enter>.

Поиск значения вмножестве таблиц

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

210

Часть //. Использованиефункций в формулах

должен осуществляться поиск. Обратите внимание, на рис. 8.9 приведен пример использования множества таблиц на одном рабочем листе.

Рис. 8.9.Данный рабочийлист содержит множество таблицпоиска данных

Данная рабочая книга содержит два диапазона: диапазон G3:Н9 (Table!) и диапазон J 3 : К8 (ТаЫе2) и вычисляет комиссионные вознаграждения продавцов фирмы. Ставка комиссионного вознаграждения каждого отдельного продавца зависит от двух факторов: срока работы продавца в данной фирме (столбец В) и объема сделанным им продаж (столбец С). Столбец D содержит формулы поиска ставки комиссионного вознаграждения в соответствующей таблице. Например, ячейка D2 содержит следующую формулу:

=ВПР(С2;ЕСЛИ(В2<3;ТаЫе1;ТаЫе2) ;2)

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

Формула в столбце Е просто умножает объем продаж каждого продавца в столбце С на ставку комиссионного вознаграждения из столбца D.Ячейка Е2 содержит следующую формулу:

=C2*D2

Определение оценки по количеству набранных баллов

Еще один типичный пример использования таблиц поиска данных — это выставление экзаменационных оценок по результатам тестирования студентов. На рис. 8.10 показан рабочий лист, который содержит таблицу с количеством набранных баллов и соответствующих категории (диапазон Е2 : F6 с именем GradeList), которая используется для присвоения студенту одной из оценок.

Глава ДПоискданных

211

 

Х^ --<J\ " v | Hiв

 

•nС

г D

E

F

0 \ T

f}

Student\ |

 

Grade

 

-:£csreч

 

 

2

:Adams

36

F

 

0

F

 

3 JBaker

68

D

 

40

D

\

4

SCamden

50

D

 

70

С

 

5

IDailey

77

С

 

80

В

I

8

'Gomez

92

A

 

90

A

 

7 4

Hernandez

100

A

 

 

 

> >

8

Jackson

74

С

 

 

 

 

9

;Maplethorpe

45

D

 

 

 

 

10'Paulson

60

D

 

 

 

,]

11

\ Ramirez

89

В

 

 

 

j2jSosa

99

A

 

 

 

 

13 'Thompson

91

A

 

 

 

 

14

iWilson

59

D

 

 

 

 

 

 

 

 

 

 

(^"riKvlookupjf

 

 

I«J

 

 

Рис. 8.10. Назначение категории оценки по результатам тестирования

Столбец С содержит формулы, которые используют функцию ВПР и таблицу поиска, чтобы на основании полученного каждым студентом количества баллов (столбец В) присвоить студенту соответствующую оценку. Например,ячейка С2 содержит следующую формулу:

=BIlP(B2;GradeList;2)

В том случае, когда таблица поиска содержит небольшое количество значений (как, например, нарис. 8.10), вместо нееможно использовать массивы символов. Например, приведенная ниже формула возвращает категории оценок, не используя при этом таблицу поиска. Информация таблицы поиска введена непосредственно в формулу массива. Для получения дополнительной информации о массивах обратитесь кглаве 14.

= В П Р ( В 2 ; { 0 , " F " ; 4 0 , " D " ; 7 0 , " С " ; 8 0 , " В " / 8 0 , " А " } ; 2 )

Другая, более удобная формула назначения категорий оценок, заключается в использовании функции ПРОСМОТР с двумя аргументами, представляющими собой массивы:

= П Р О С М О Т Р ( В 2 ; { 0 ; 4 0 ; 7 0 ; 8 0 ; 9 0 } ; { " F " ; " D " ; " С " ; " В " ; " А " } )

Вычисление среднего уровня оценок

Средний уровень оценок студентов в данном примере представляет собой числовое представления средней оценки, полученной студентами. Для вычисления этого показателя каждому буквенному символу оценки назначается определенное числовое значение (А=4, В=3, С=2,

D=l

и F=0). Средний уровень оценки рассчитывается как средняя величина числовых значе-

ний

оценок, взвешенная наколичество часов, пройденных поданному курсу. К примеру,од-

ночасовой курс встречается реже, чем трехчасовой. Градация показателя среднего уровня оценок начинается с 0 (F) изаканчивается 4,00 (А).

На рис. 8.11 показан рабочий лист, содержащий информацию о студенте. Этот студент прошел пять курсов, общее количество прослушанных им часов— 13 (диапазон В2:Вб — CreditHours). Оценки, полученные за каждый курс, содержатся в столбце С (диапазон С2 :С б — Grades). Столбец Dсодержит формулу поиска, которая вычисляет числовое значение оценки длякаждого курса. Например, следующая формула (вячейке D2) используеттаблицу поиска диапазона G2 :Нб {GradeTable).

=ВПР(С2;GradeTable;2;ЛОЖЬ)

212

Часть //. Использование функций вформулах

US

• I 1

 

i

Psych 101

2

3

PhysEd

4 * PoliSci101

5

IndepStudy

6

IntroMath

mmi

 

tai i в

1 ' э

2

4

1

3

GPA: 3,38

\

С

;

G«de Vtl

»!"

E

F ,

и

 

 

 

 

 

 

Grade! able

 

 

 

 

•p

{WeightedVal \

 

 

f

 

A

 

4

 

12

A

4

 

С

 

2

 

4

В

3

I

 

В

 

3

 

12

С

2

 

A

 

4

 

4

, D

1

 

A

 

4

 

12

F

0

 

<-- Requires multiple formulas and lookuptable

 

 

 

 

 

* *

lii

 

_

 

 

Рис. 8.11.Для вычисленияпоказателя среднегоуровня оценки вы можете использовать множество формул

Формулы, введенные в столбец Е, вычисляют взвешенные значения. Например, формула в ячейке Е2 выглядит следующим образом:

=D2*B2

И, наконец, следующая формула в ячейке В 8 вычисляет показатель среднего уровня оценки: =СУММ(Е2:Еб)/СУММ(В2:Вб)

Несмотря на то, что предыдущие формулы работают достаточно хорошо, вы можете несколько упростить вычисление среднего показателя. Чтобы выполнить это вычисление, можно использовать единственную формулу массива, не прибегая к использованию таблицы поиска и формул в столбцах Dи Е. Эта формула выглядит следующим образом:

{=СУММ((ПОИСКПОЗ(Grades;{"F";"D";"С";"В";"А"};0)- 1)*CreditHours)/CYMM(CreditHours)}

Поиск на пересечении строк и столбцов

На рис. 8.12 показан рабочий лист, который содержит данные о ежемесячных объемах продаж товаров компанией. Для того чтобы найти информацию об объеме продаж определенного товара в течение одного заданного месяца, в ячейку В1 необходимо ввести искомый месяц, а в ячейку В2 название товара.

1 i

2

3

4

5

S

:7

8

10

п

12

13

14 f15

..'v.:.. л^Л""

в .Го

Month: I

 

July

Product:

Sprockets

Month Offset: r

 

8

Product Offset: r

 

3

Sales: r

 

3 337

* «\sheett/

 

 

 

e

F

 

H

 

 

 

 

 

 

Sprockets :

 

Combined

 

JWMWQf

 

2892

1771

4 718

9 381

 

February

 

3380

4711

2 615

10 706

 

March

 

 

3 744

3 223

5 312

12 279

 

*Ц*«'

„;,,,;

3 221

2 438

1 108

6 767

 

MW

-

 

4839

1999

1 994

8 832

 

Owe

 

 

3^67

5140

3830

12 737

 

A*,;.3

;,.,.

5 467

3 337

3 232

12 036

 

iSfSssr

1 718

2 040

1563

5 321

 

October

- т

1548

1061

2 590

5 199

 

November

5083

3 558

3960

12 601

 

 

 

 

5 753

2839

3 013

11605

 

Total

 

 

44 566

37 012

35 542

117

120

 

 

 

 

 

J«JL

 

 

.„.i

>}&

Puc. 8.12. Таблица поиска информациина пересечениистроки столбцов

Для упрощения работы с формулами на данном рабочем листе используются следующие диапазоны ячеек:

Глава 8. Поискданных

213

Имя диапазона

Диапазон

Month

B1

Product

B2

Table

D1:H14

MonthList

D1.-D14

ProductList

D1:H1

Следующая формула (ячейка В4) использует функцию ПОИСКПОЗ и возвращает позицию заданного месяца в диапазоне ячеек MonthList. К примеру, если вы ищете месяц January, то данная формула возвращает значение 2, поскольку январь — это второй элемент диапазона MonthList (первый элемент — незаполненная ячейка D1).

=n0MCKnO3(Month;MonthList;0)

Формула, введенная в ячейку В5, работает тем же образом, но применяется для диапазона ProductList,

=П0ИСКП03{Product;ProductList;0)

И, наконец, формула в ячейке Вб возвращает соответствующий заданным условиям объем продаж. Формула использует функцию ИНДЕКС и, в качестве аргументов, результаты, полученные в ячейках В4 и В5.

=ИНДЕКС(Table;В4;В5)

Безусловно, все приведенные формулы можно объединить в одну, например: =ИНДЕКС(Table/ПОИСКПОЗ(Month/MonthList;0)/ПОИСКПОЗ{Product;ProductList;0))

Если у вас установлена Ехсе! 97 или более поздняя версия программы, то можете использовать надстройку Мастер подстановок. Мастер подстановок помогает создать формулу для поиска значения, находящегося на пересечении строки и столбца (рис. 8.13).

Еще один способ быстрого создания таблицы для поиска значения на пересечении строк и столбцов предусматривает присвоение имен каждой строке и каждому столбцу таблицы. Чтобы сделать это, выделите таблицу с данными и выберите команду Вставка^Name^Create. После создания имен приведенные формулы выглядят гораздо проще,например:

=Колеса Июль Данная формула использует пересечение двух диапазонов и возвращает данные

о продажах колес в июле. Подробнее об этом см. в главе 3.

Поиск информации вдвух столбцах

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

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

F2 :F12

Code

В1

Make

В2

Model

D2 :D12

Rangel

Е2 :Е12

Range2

214

Часть II. Использование функций в форму

' [widgets

 

 

 

 

 

 

1521994

"'t fi IS-

2571995

 

0845

5 31

 

5155

Г

101*:

iD?i4

13

S4 «7

15 30

1283

fip

83 87

1845

1598

<-. «Л

95 02

Выберите сгр<*у,«

Pwc. 8.75. Мастерподстановок создает формулыдля поиска значения, находящегося на пересечении строк и столбцов

'Make: Jeep шштштшшшшшшшшшшшштшт

^Model:

Grand erokee

Chew

Blazer

C-094

Icode:

J-701

Chevy

Tahoe

C-823

 

 

Ford

Explorer

F-772

 

 

Ford

Expedition

F-229

 

 

Isuzu

Rodeo

t-897

 

 

fsuzu

Trooper

1-900

 

 

Jeep

Cherokee

J-983

 

 

Jeep

Grand Cherokee

J-701

 

 

Nissan

Pathfinder

N•231

 

 

Toyota

4Runner

T-871

 

 

Toyota

Land Cruiser

T-961

31

 

 

 

 

Рис. 8.14. В данной рабочей книге выполняется поиск информации, на основе данных двух столбцовтаблицы (DuE)

Следующая формула массива выводит на экран номер, соответствующий автомобилю определенной марки и модели:

{=ИНДЕКС (Сосае;П0ИСКП03(Make&Model;

nokup addiess xls

 

H P

 

Rangel&Range2";0))}

Target:

24

 

i

 

 

Данная формула связывает текстовые строки, содержащиеся

Address:

$C$9

74

fed

 

62

'I

в ячейках Make и Model, а затем отыскивает текст в соответст-

 

GO

4

 

44

 

вующем объединении двух диапазонов: Range 1 и Range2.

 

50

i

22

 

77

 

за

 

41

 

Определение расположения

 

24

 

 

 

55

 

 

 

 

30

 

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

 

 

12

 

 

 

1

I

 

 

 

7

 

IS*

 

21

*

 

11]

 

22

 

В большинстве случаев, формулы просмотра данных

 

 

 

1?^

 

53

и

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

18».

 

36

ifl

 

18

Однако, иногда, пользователю необходимо определить рас-

 

68

 

положение определенного значения или ячейки, содержа-

H';"

 

 

 

 

 

 

 

щей это значение. К примеру, на рис. 8.15 показан рабочий

Рис. 8.15. Формула в ячейке В2воз-

лист, содержащий диапазон данных, состоящий всего лишь

вращает адресячейки в диапазоне

из одного столбца (Data). Ячейка В1 содержит значение,ко-

Data, в которой содержится зна-

торое необходимо найти (Target).

чение, введенное вячейке В1

 

Следующая формула, введенная в ячейку В2, возвращает

адрес ячейки из диапазона Data, которая содержит значение Target: =АДРЕС(СТРОКА(Data)+П0ИСКП03(target;Data;0)-1;СТОЛБЕЦ(Data))

Если диапазон Data содержит только одну строку, для поиска адреса значения воспользуйтесь следующей формулой: =АДРЕС(СТРОКА(Data);СТОЛБЕЦ(Data)+П0ИСКП03(Target/Data;0)-1)

Если диапазон Data содержит более одного экземпляра искомого значения, формулы возвратят первую найденную ячейку с этим значением. Если искомое значение не найдено, формулы возвратят ошибку #Н/Д.

Глава8.Поиск данных

215

Поиск значения, максимально приближенного к заданному

Формулы ПРОСМОТР и ГПР могут быть весьма полезны в следующих ситуациях:

Если необходимо найти значение, в точности соответствующее контрольному значению. Для этого в качестве четвертого аргумента функций используется логическое значение ЛОЖЬ.

Если необходимо найти значение максимально, приближенное к искомому. Для этого

вкачестве четвертого аргумента функций используется логическое значение ИСТИНА или аргумент опускается, а точное соответствие не ищется вообще; формула возвращает ближайшее к искомому значение, но в меньшую сторону.

Что делать, если пользователю необходимо найти значение, максимально соответствующее искомому, независимо от направления отклонения? Ни одна из предложенных нами базовых формул (ПРОСМОТР и ГПР) не сможет выполнить эту задачу.

На рис. 8.16 показан рабочий лист, содержащий имена студентов (столбец А) и некоторые значения (столбец В). Диапазон В2 : В20 носит название Data, ячейка Target содержит значение, которое необходимо найти в диапазоне Data. Ячейка ЕЗ (ColOffset) содержит значение, которое определяет, на сколько столбцов и в какую сторону от диапазона Data происходит смещение при поиске возвращаемого значения.

Приведенная ниже формула массива определяет самое ближайшее значение диапазона Data, соответствующее значению Target, и возвращает имя студента в столбце А (т.е. столбец, смещенный на -1 от столбца с диапазоном Data). Формула возвращает имя Leslie, которому соответствует значение 8 000— самое ближайшее значение к Tar get=8 025.

1

Student

Data

 

 

2

-Ann

9.101

Target Value >

8025

3

Betsy

8.873

Column Offset ••>

-1

4

.-Chuck

6,000

 

 

S

'David

9,820

 

 

В

Georqe

10,500

 

 

7 vHilda

3,500

 

 

8

Uames

12,873

 

 

9

John

5,867

 

 

$0'Keith

8.989

 

 

1Г; Leslie

8,000

 

 

:12 '.Michelle

1.124

 

 

13

Nora

9,099

 

 

14= Paul

6.800

 

 

15

Peter

5,509

 

 

IB^Rasmusen

5,460

 

 

17'Sally

8,400

 

 

18 -Theresa

7.777

 

 

19

Violet

3,600

 

 

20

Wendy

5.400

 

 

21*

Рис. 8.16. Даннаярабочая книга демонстрирует выполнение поиска значения, ближайшего к заданному значению

{=ДВССЫЛ(АДРЕС(СТРОКА(Data)+П0ИСКП03(МИН(ABS(Target-Data));ABS(Target- Data) ;0)-1;СТОЛБЕЦ(Data)+ColOffset))}

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

216

Часть II. Использованиефункций в формулах

Значение, содержащееся в ячейке ColOf f set, может быть отрицательным (если столбец расположен слева от диапазона Data), положительным (если столбец расположен справа от диапазона Data) илиравным 0 (если ближайшее значениерасположено в этом же диапазоне Data).

Чтобы понять, как работает эта формула, вы должны уяснить себе принцип работы функции ДВССЫЛ. В качестве первого аргумента этой функции используется текстовая строка в виде ссылки на ячейку (или ссылки на ячейку, содержащую текстовую строку). В нашем примере текстовая строка создается с помощью функции АДРЕС, которая принимает номера строки и столбца, а возвращает адрес ячейки.

Поиск значения сиспользованием линейной интерполяции

Интерполяция представляет собой процесс создания недостающих значений на основе существующего ряда значений. Давайте рассмотрим пример интерполяции данных. На рис. 8.17 показан рабочий лист, в котором столбец Dсодержит список значений х, а столбец Е — список значенийу, соответствующих каждому значению х.

Кроме того, рабочий лист содержит график, который описывает связь между диапазонами хну визуально. Расположение точек на диаграмме говорит о том, что зависимость между значениями хну линейная: рост значения JC вызывает пропорциональный рост значения у. Обратите внимание, что значения в диапазоне х введены не в строгой последовательности. Например, отсутствуют значения 3, б, 7, 14, 17, 18 и 19.

Рис. 8.17. Данная рабочая книга демонстрируетвыполнение поисказначения с помощью интерполяции

Вы уже умеете создавать формулы, которые, просматривая значения диапазона х, будут возвращать значения диапазона у. Но как быть, если необходимо рассчитать значение у для отсутствующего значения х? Обычная формула таблицы поиска возвращает неправильный результат, поскольку оперирует только существующими значениями у (вместо расчетного). Например, следующая формула ищет значение 3, но возвращает значение 18,00 (как значение, соответствующее значению 2 в диапазоне х).

=ПРОСМОТР(3;х;у)

Именно в таких случаях используется интерполяция значений. Другими словами, поскольку искомое значение (3) находится посередине существующих значений х (2 и 4), воз-

Глава 8.Поискданных

217

вращаемое значение у должно равняться 21,00, то есть также располагаться посередине междузначениями 18, 00 и 24, 00.

Формулы линейной интерполяции

На рис. 8.18 показан рабочий лист с формулами, введенными в столбец В. Искомое значение введено в ячейку В1, а итоговая формула в ячейке В16 возвращает результат подсчетов. В том случае, если значение, содержащееся в ячейке ВЗ, найдено в диапазоне дг, формула возвращает соответствующее значение у. В противном случае, если значение в ВЗ не найдено, формула в ячейке В16 возвращает расчетное значение у, полученное путем линейнойинтерполяции.

Д 4

X-value to look up:

 

 

*>"*$ If -^f%

 

 

 

 

V

1000

 

Matching row:

:

2

18 00

 

Exact match?

FALSE

 

24 00

 

 

 

 

5

33 25

 

 

 

 

8

41.00

 

 

 

 

9

47 00

 

 

 

 

10

52 25

 

1st

x value:

 

11

6150

 

2nd

x value:

 

12

72 75

 

 

 

 

13

75 00

 

1st looked up у value:

 

15

85 00

У 2nd looked up у value:

 

16

90 00

 

 

 

 

20

105 25

I S l

Adjustment factor:

 

 

 

 

Interpolated lookup:

 

 

 

ё

Рис. 8.18. Столбец В содержит формулы, которые осуществляют поиск данных с помощью линейной интерполяции

Это может быть весьма неудобно, если значения в диапазоне х расположены в порядке возрастания, поскольку, если ячейка В1 содержит значение меньшее, чем самое низкое значение х, или большее, чем самое большое значение, формула возвращает значение ошибки. Формулы, используемые для получения значений методом интерполяции приведены в табл. 8.2.

Таблица 8.2.Формулы поиска значений методом интерполяции

^;;f -

Ячейка

Формула

Описание

 

ВЗ

=ПРОСМОТР(В1;х;у)

Выполняет обычный поиск ивозвращает значение диапа-

 

 

зона х.

 

В4

=В1=ВЗ

Возвращает значение И С Т И Н А , если найденное значение

 

 

соответствует искомому.

 

Вб

=ПОИСКПОЗ(ВЗ;х;0)

Возвращает номер строки диапазона х,которая содержит

 

 

совпадающее значение.

 

В7

=ЕСЛИ(В4;в6;В6+1)

Возвращает ту же строку, что иформула вячейке вб, если

 

 

найдено значение, вточности соответствующее заданному.В

 

 

противном случае, крезультату ячейки вбдобавляется1.

В9

=ИНДЕКС(х;Вб)

Возвращает соответствующее значение хдля строки, по-

 

 

лученной вячейкевб .

 

В10

=ИНДЕКС(х;В7)

Возвращает соответствующее значение хдля строки, по-

 

 

лученной вячейке В7.

 

218

Часть II. Использование функцийвформулах

 

 

Окончаниетабл. 8.2

Ячейка

Формула

Описание

В12

=ПРОСМОТР(В9;х;у)

Возвращает значение у, соответствующее значению х, по-

 

 

лученному вячейкевэ .

В13

=ПРОСМОТР(В10;х;у)

Возвращает значение у, соответствующее значению х, по-

 

 

лученному вячейкев ю .

В15

=ЕСЛИ(В4;0;(

Вычисляет корректирующий фактор, основанный на раз-

 

В1-ВЗ)/(В10-В9))

нице между значениями х.

В16

=В12+((В13-В12)*В15)

Вычисляет расчетное значение у с помощью корректи-

 

 

рующего фактора, полученного вячейкеВ15.

Комбинирование функций ПРОСМОТР и ТЕНДЕНЦИЯ

Существует еще один, более предпочтительный способ поиска данных в таблице с помощью линейной интерполяции. Этот способ основан на использовании функций ПРОСМОТР и ТЕНДЕНЦИЯ и имеет одно большое преимущество — он требует использования только одной формулы (рис. 8.19).

X-value to look up:

3

 

e,,

 

4 >,'Ч, • •

 

 

1

1000

у value:

20 27913834

2

1800

 

 

4

24 00

 

 

5

33 25

 

 

8

4100

 

 

9

47 00

 

 

10

52 25

 

 

11

61 50

 

 

12

72 75

 

 

13

75 00

 

 

15

85 00

 

 

16

90 00

 

 

20

105 25

, \

Рис. 8.19. Данный рабочий лист содержит формулу, которая использует функции ПРОСМОТРи ТЕНДЕНЦИЯ

Формула, приведенная ниже (в ячейке ВЗ), для принятия решения использует функцию ЕСЛИ. В том случае, если в диапазоне х найдено значение, в точности соответствующее искомому, формула возвращает соответствующее значение из диапазона у (использование функции ПРОСМОТР). Если точное соответствие не найдено, формула использует функцию ТЕНДЕНЦИЯ и возвращает значение^, рассчитанное методом максимально близкой величины (не прибегая к линейнойинтерполяции).

=Е С Л И ( В 1 = П Р О С М О Т Р ( В 1 ; х ; х ) / П Р О С М О Т Р ( И Н Д Е С К ( х / П О И С К П О З ( П Р О С М О Т Р ( В 1 / Х / х ) ;

х; 0 ) ) ; х ; у ) / Т Е Н Д Е Н Ц И Я ( у ; х ; В 1 ) )

Резюме

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

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

Глава 8.Поискданных

219