Уокенбах Формулы в Excel
.pdfДиалоговое окно управления формами очень удобно в использовании, но оно не идеально. Если же сама идея использования диалоговых окон для работы с данными списка вам по душе, попробуйте надстройку автора этой книги Enhanced Data Form, которая имеет множество преимуществпо сравнению с обычной формойExcel.
После того как надстройка установлена, инициируйте любую ячейку списка, а затем выберите команду меню flaHHbie^JWalk Enhanced Data Form. Данные, содержащиеся в текущих записях, будут отображены в диалоговом окне. Для просмотра базы данных используйтегоризонтальную полосу прокрутки (или кнопки Previous (Ha3afl)/Next (Далее)). Все выполненные в этой форме измененияданных будут внесены в базу данных, также, как и ихотмена. Данная форма позволяет обработать неограниченноеколичество полей, а поддерживающее групповые символы окно поиска дает возможность осуществить быстрый поиск необходимых записей, на основе данных любого поля.
Определение условий расширенного фильтра
Все старания компании Microsoft, связанные с возможностями управления списками в Excel, сфокусированы исключительно на автофильтрации. Принцип использования отдельного диапазона условий для расширенного фильтра возник вместе с появлением первой версии Lotus 1-2-3. Позднее этот метод был адаптирован к приложению Excel. Но он никогда не изменялся, даже несмотря на тот факт, что определение условий расширенного фильтра — один из самых щекотливых при работе с приложением Excel моментов. В этом разделе приведено множество примеров, которые помогут вам понять принципы создания диапазона условий, предназначенного для получения интересующей пользователя информации.
Все примеры в этом разделе используют список, показанный на рис. 9.7. Данный список содержит 125 записей и восемь полей и имеет достаточно разнообразный набор типов данных: значения, текстовые строки, логические значения и даты. Сам список размещен в диапазоне ячеек А8 :Н133 (строки, расположенные выше списка, используются для размещения диапазона условий).
230 |
Часть II. Использование функций вформулах |
|
|
|
шшшт |
|
|
|
|
|
|
|
|
|
A |
. *,8 |
| |
|
|
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
|
|
ListPrlce |
Date Listed |
Area |
Bedrooms! |
Baths |
SqFt |
Type |
Pool J |
, |
||
9 i |
$350 000 |
0311 |
2000 |
N County |
3 |
2.5 |
1991 |
Condo |
ЛОЖЬ |
, - , |
|
10 |
$215 000 |
05112000 |
Central |
3 |
1.75 |
2157 |
Single Family |
ИСТИНА |
{*, |
||
tt |
$315 000 |
07112000 |
S County |
2 |
2 |
1552 |
Condo |
ЛОЖЬ |
l |
' |
|
12 |
$379 000 |
11 112000 |
N County |
4 |
3 |
3000 |
Single Family |
ложь >г: |
|||
13 |
$248 500 |
21 112000 |
? |
4 |
2.5 |
2101 |
Single Family |
ИСТИНА |
\ |
||
14 |
$297 500 |
23112000 |
S County |
4 |
3.5 |
2170 |
Single Family |
ЛОЖЬ |
{ |
|
|
15 |
$259 900 |
27 112000 |
N County |
4 |
3 |
1734 |
Condo |
ложь |
|
|
|
Ж |
$325 000 |
01 12 2000 |
S County |
4 |
3 |
2800 |
Condo |
ИСТИНА |
|
\ |
|
17 |
$208 750 |
0312 |
2000 |
S County |
4 |
3 |
2 207 |
Single Family |
ИСТИНА |
|
- |
18 |
$227 500 |
0312 |
2000 |
|
4 |
3 |
1905 |
Condo |
ЛОЖЬ |
! |
|
19 * |
$259 900 |
0312 |
2000 |
N County |
3( |
2,5 |
2122 |
Condo |
ЛОЖЬ |
< |
~ |
20 |
$405 000 |
0612 |
2000 |
N County |
2 |
3 |
2 444 |
Single Family |
ИСТИНА |
|
|
2t |
$236 900 |
07 12 2000 |
S County |
2 |
2 |
1483 |
Condo |
ложь |
|
|
|
22 |
$240 000 |
07 12 2000 |
S County |
3 |
2.5 |
1595 |
Condo |
ложь |
* |
||
23 |
$304 900 |
09 122000 |
S County |
4 |
3 |
2 350 |
Single Family |
ложь |
|
|
|
24 |
$349 900 |
13 122000 |
N County |
4 |
3 |
2 290 |
Single Family |
ИСТИНА |
< * |
||
25 |
$249 000 |
21 12 2000 |
Central |
4 |
3 |
1940 |
Single Family |
ИСТИНА ' |
|
||
И « |
г д г л .«дою. |
|
|
|
ТГМ1 |
j£2£3r |
П П Ж ± 1 О |
||||
Рис. 9.7. Данный список содержит информацию, представляющую собой перечень недвижимого имущества
Определение одного условия
Примеры, приведенные в этом разделе, характерны одним условием отбора записей.Другими словами, выбор необходимой записи определяет содержимое только одного поля.
Чтобы выбрать только те записи, которые в определенных полях содержатся определенные значения, введите имяполя в первую строку диапазона условий, а соответствующее значение во вторую строку. К примеру, диапазон условий (А1: А2), показанный на рис. 9.8,позволяет выбрать только те записи, которые в поле Bedrooms содержат значение 4.
... L _£
|
|
|
Area |
I Bedrooms I |
Baths I |
SqFt |
Type |
Pool |
|
|
$350 000 |
03112000 |
N County |
|
3 |
2.5 |
1991 |
Condo |
ЛОЖЬ . |
||
$215 000 |
05 112000 |
Central |
|
3 |
1.75* |
2157 |
Single Family |
ИСТИНА, |
||
$315 000 |
07112000 |
S County |
' |
2 |
2J |
1552 |
Condo |
ЛОЖЬ |
! |
|
$379 000 |
11112000 |
N County |
|
4 |
3; |
3 000 |
Single Family |
ЛОЖЬ |
i |
|
$248 500 |
21112000 |
? |
|
4 |
2,5; |
2101 |
Single Family |
ИСТИНА* |
|
|
$297 500 |
23112000 |
S County |
' |
4* |
3.5 |
2170 |
Single Family ' |
ЛОЖЬ |
|
|
$259 900 |
27112000 |
N County |
|
4 |
3* |
1 734 |
Condo |
ЛОЖЬ |
|
|
$325 000 |
0112 |
2000 |
S County |
' |
4 |
3J |
2 800 |
*Condo |
ИСТИНА] |
|
$208 750 |
0312 |
2000 |
S County |
|
4 |
3; |
2 207 |
Single Family |
ИСТИНА |
|
$227 500 |
03 12 2000 |
|
|
4 |
3; |
1905 |
Condo |
ЛОЖЬ |
|
|
$259 900 |
0312 |
2000 |
N County |
|
3 |
2.5' |
2122 |
Condo |
ЛОЖЬ |
|
$405 000 |
0612 |
2000 |
N County |
|
2 |
3' |
2 444 |
Single Family |
ИСТИНА. |
|
Рис. 9.8.Диапазонусловий А1 :А2 позволяет выбрать записи, которые содержат характеристики домов, имеющих четыре спальни
Чтобы выполнить подобнуюфильтрацию, можно использовать автофильтр.
Глава 9. Базыданных исписки |
231 |
Обратите внимание, что диапазон условий не обязательно должен включать подписи всех полей списка. Но если периодически вы используете разные наборы условий, гораздо удобней будет перечислить все подписи полей в первой строке диапазона условий.
Использованиеоператоровсравнения
Чтобы сделать выбор записи более правильным, используйте операторы сравнения. Например, вы можете выбрать те записи, которые отвечают любому из следующих условий:
•Дома, которые имеют не менее четырех спален
•Дома, имеющие площадь менее 2 000 квадратных футов
•Дома по цене не более $200 000 долларов
Чтобы выбрать записи, относящиеся к домам, имеющим четыре спальни, в диапазон условий введите следующие записи:
Al: Bedrooms А2: >=4
Обратите внимание, в табл. 9.1 перечислены операторы сравнения, которые используются для сравнения текстовых или числовых значений. В том случае, если ни один из этих операторов сравнения не используется, по умолчанию в качестве оператора сравнения Excel использует знак равенства(=).
{Таблица 9*1 /Операторы сравнения
Оператор |
|
Типсравнения |
|
|
Равно |
> |
|
Больше,чем |
>= |
|
Больше, чемилиравно |
< |
|
Меньше,чем |
<= |
. |
Меньше, чемилиравно |
<> |
|
Не равно |
В табл. 9.2 приведены примеры использования некоторых операторов сравнения.
Таблица9.2.Примеры использованияоператоровсравнения
Условие |
Выбор значений |
> ю о |
Записи, содержащие значениябольше,чем юо |
<>о |
Записи, содержащие значения, не равные о |
=500 |
Записи, содержащие значения 500 (отсутствие знака |
|
венства приводит каналогичному результату) |
< 5ооо |
Записи, содержащие значения меньшие, чем 5000 |
>=5 ооо |
Записи, содержащие значения меньшие илиравные 5о |
Использование групповых символов
Условия, представленные в виде текста, могут также использовать два групповых символа: звездочка (*) соответствует любому количеству символов; вопросительный знак (?) соот-
232 |
Часть //.Использование функций в формул |
ветствует любому, но только одному, символу. В табл. 9.3 приведены примеры условий, содержащих текстовые значения. Конечно, некоторые из них редко встречаются в реальных условиях. Например, чтобы выбрать записи, содержащие один единственный символ, в качестве условия необходимо ввести формулу (см. последнюю запись в табл. 9.3).
Таблица 9.3,Примеры использования условий, содержащих текстовые значения
Условие |
Выбор значения |
=" =январь" |
Записи, содержащие только текст Январь. Условие должно быть введено точно так же,как |
|
показано в этом примере:формула с предшествующим ей знакомравенства. |
Январь |
Записи, содержащие текст, начинающийся со словаЯнварь. |
с |
Записи, содержащие текст, начинающийся с символа С. |
<>с |
Записи, содержащие текст, начинающийся с любого символа, за исключением символа С. |
жЗаписи, содержащие текст, начинающийся с символов от Л до Я.
Округ |
Записи, содержащие текст, который включает слово Округ. |
См* |
Записи, содержащие текст, начинающийся с символов См. |
с * с |
Записи, содержащие текст, начинающийся с символа С и далее содержащий символ С. |
с?с |
Записи, содержащие текст, начинающийся с символа С, третий символ которого |
|
также является символом С. Обратите внимание, что это не означает выбор слов, |
|
содержащих только три символа. |
=" =с * с" |
Записи, содержащие текст, начинающийся и заканчивающийся символом С. Условие |
|
должно быть введено точно так же, как показано в этом примере: формула с пред- |
|
шествующим ей знаком равенства. |
< > * с |
Записи, содержащие текст, который не заканчивается символом с. |
<>?? ??? |
Все записи, содержащие более или менее пяти символов, но не в точности пять. |
< > * с * |
Записи, не содержащие символ с. |
~? |
Записи, содержащие единственный символ вопроса. |
|
Пустые записи. |
<> |
Непустые записи. |
=" =с" |
Записи, содержащие единственный символ С. Условие должно быть введено точно так |
|
же, как показано в этом примере:формула с предшествующим ей знакомравенства. |
|
Имейте в виду, что при сравнении текстовых значений регистр символов не |
|
учитывается. Например, символы с е * могут соответствовать как слову Селиг- |
|
ман, так и слову СЕКР. |
Определение множества условий
Достаточно часто у пользователя возникает необходимость выбора записи, учитывающей сразу несколько условий, которые основаны на соответствии более, чем одному полю списка или на соответствии множества значений одному и тому же полю. Такие условия используют логические операторы И или ИЛИ. Ниже приведено несколько примеров использования множества условий при обращении к базе данных по недвижимости:
•Цена дома ниже, чем $ 250 000, минимальная площадь 2 000 квадратных футов.
Глава 9. Базы данных исписки |
233 |
•Дом с бассейном только для одной семьи.
•Дом имеет не менее четырех спален, не менее трех ванн, площадь дома менее 3 000 квадратных футов.
•Дом, находящийся в списке не более одного месяца, с ценой выше $300 000.
•Совладение, имеющее площадь между 1 000 и 1 500 квадратных футов.
•Дом для одной семьи, находящийся в списке в марте.
Чтобы объединить условия с помощью оператора И, в диапазоне условий должно использоваться множество столбцов. На рис. 9.9 показан диапазон условий, с помощью которого отбираются записи, содержащие характеристики домов по цене менее, чем $250 000, и площадью не менее 2 000 квадратных футов.
, |
А |
! |
В |
|
С |
b I' |
|
F |
{ ^ |
G |
— |
|
1 LtetPrice |
ISqFt |
|
|
|
|
|
|
|
|
|||
2 |
<25000 |
> =2000 |
|
|
|
|
|
|
|
|
|
|
"з |
|
|
|
|
|
|
|
|
|
|
|
|
"4 |
|
|
|
|
|
|
|
|
|
|
|
|
5" |
|
|
|
|
|
|
|
|
|
|
|
|
6' |
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
8 |
ListPrice I |
Date Listed |
|
Area |
I Bedrooms |
Baths |
SqFt |
I |
Type |
Pool I |
||
$ |
$350000 |
|
03112000 |
N |
County |
3 |
2.5 |
1991 |
|
Condo |
|
ЛОЖЬ |
10 |
$215 000 |
|
05112000 |
|
Central |
3 |
1.75 |
2 157 |
|
Single Family |
ИСТИНА |
|
11 |
$315 000 |
|
07 11 2000 |
S |
County |
2 |
2 |
1552 |
|
Condo |
|
ЛОЖЬ |
12 |
$379000 |
|
11 112000 |
N |
County |
1 |
3 |
3 000 |
|
Single Family |
ЛОЖЬ |
|
13 |
$248500 |
|
21 11 2000 |
|
? |
\ |
2.5 |
2101 |
|
Single Family |
ИСТИНА |
|
14 |
$297 500 |
|
2311 2000 |
S |
County |
I |
3.5 |
2170 |
|
Single Family |
ЛОЖЬ |
|
Ц$ |
$259900 |
|
27 11 2000 |
N |
County |
|
3 |
1734 |
|
Condo |
|
ложь |
16 |
$325000 |
|
01 122000 |
S |
County |
|
3 |
2 800 |
|
Condo |
|
ИСТИНА |
17 |
$208750 |
|
03 122000 |
S |
County |
|
3 |
2 207 |
|
Single Family |
ИСТИНА |
|
Ж |
$227 500 |
|
03 122000 |
|
|
|
3 |
1905 |
|
Condo |
|
ЛОЖЬ |
$259900 |
|
03 122000 |
N |
County |
3 |
2.5 |
2 122 |
|
Condo |
|
ложь |
|
19 |
$405000 |
|
06 122000 |
N |
County |
2 |
3 |
2444 |
|
Single Family |
ИСТИНА |
|
20 |
|
|
||||||||||
М 4 » «\sheetl/ |
|
|
|
" 'J«C |
|
|
2Г"™ |
t |
|
|||
|
|
|
n |
„ |
|
|
|
|
|
|||
Рис. 9.9. Данный диапазон условий для отбора записей использует множество столбцови логический оператор И
На рис.9.10 отображен другой пример диапазона условий, в соответствии с которым изсписка выбираются все записи, внесенные в список в марте месяце. Обратите внимание,что одно изимен полей Date Listed (Дата занесенияв список) появляется в диапазоне дважды, поскольку, в данном случае, используется следующее условие: Дата занесения в список должна быть больше, либо равна 1 марта, И дата занесенияв списокдолжна быть меньше,либо равна 31 марта.
Примите к сведению, что условия, показанные на рис.9.9, с американскимиформатами даты могут работать неправильно. Чтобы гарантировать совместимость заданных условий с различными системами дат, используйте функцию ДАТА, как, например, в следующих формулах:
=">="&ДАТА(2001;3;1)
="<="&ДАТА(2001;3;31)
234 |
Часть II. Использование функций вформулах |
El |
А |
* |
i |
ячмчиииии |
• |
|
|
; ... f |
тткт |
|
|
|
||
1 |
Date Listed |Da |
|
|
I |
G |
i |
и.. m |
|||||||
|
|
|
|
|
||||||||||
ш>=3 1 2001 |
|
<=3 31 2001 |
|
|
|
|
|
|
|
|
|
|
||
"V |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а |
ListPrice |
| |
Date Listed I |
|
Area |
I Bedrooms |
Baths |
SqFt |
I |
Type |
I |
Pool |
|
|
9 |
$350 000 |
03 112000 |
N County |
3 |
2.5 |
1991 |
|
Condo |
|
ЛОЖЬ |
|
|||
10 |
$215 |
000 |
0511 2000 |
|
Central |
3 |
1.75 |
2 157 |
|
Single Family |
|
ИСТИНА |
' |
|
и |
$315 |
000 |
07 11 2000 |
S |
County |
2 |
2 |
1552 |
|
Condo |
|
ЛОЖЬ |
|
|
12 |
$379 000 |
11 11 2000 |
N |
County |
I |
3 |
3 000 |
|
Single Family |
|
ложь |
|
||
13 |
$248 500 |
21 11 2000 |
|
? |
» |
2.5 |
2101 |
|
Single Family |
|
ИСТИНА |
|
||
|
$297 500 |
23 112000 |
S |
County |
I |
3.5 |
2170 |
|
Single Family |
|
ложь < |
|
||
* |
$259 900 |
27 11 2000 |
N |
County |
|
3 |
1734 |
Condo |
|
ложь |
|
|||
16 |
$325 000 |
01 12 2000 |
S |
County |
|
3 |
2 800 |
Condo |
|
ИСТИНА |
|
|||
1? |
$208 750 |
03 12 2000 |
S |
County |
|
3 |
2 207 |
|
Single Family |
|
ИСТИНА |
|
||
18 |
$227 500 |
03 12 2000 |
|
|
|
3 |
1905 |
Condo |
|
ЛОЖЬ |
|
|||
19 |
$259 900 |
03 12 2000 |
N County |
3 |
2.5 |
2122 |
Condo |
' |
ЛОЖЬ |
|
||||
20 |
$405 000 |
06 12 2000 |
N |
County |
2 |
3 |
2444 |
Single Family |
|
ИСТИНА |
i |
|||
н < |
|
|
|
|
|
|
|
|
1 A9O |
|
|
|
•""•"аи |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Рис. 9.10. Данный диапазон условий позволяет выбрать из списка записи, содержащие характеристики домов, внесенных в список вмарте месяце
Чтобы объединить условия с помощью оператора ИЛИ, диапазон условий должен содержать более, чемодну строку с условием, что каждая из нихобъединяется с другой посредством оператора ИЛИ. Количество строк в диапазоне условий не ограничено. Обратите внимание, нарис. 9.11 показан диапазон условий (А1: СЗ), содержащий две строки.
J |
A |
J |
в |
|
С |
D |
|
|
|
|
1 |
Type |
|SqFt |
bstPnce |
|
|
|
|
|
||
2 |
Condo |
> |
=1800 |
<210000 |
|
|
|
|
|
|
Л jSmgle Family |
|
|
|
|
|
|
||||
8 |
ListPrice |
Date Listed |
|
Area |
Bedrooms |
Baths 1 |
SqFt |
Type |
Pool |
|
9 |
$350 000 |
03 11 2000 |
N County |
3 |
2.5 |
1991 |
Condo |
ЛОЖЬ |
||
10 |
$215 |
000 |
05112000 |
|
Central |
3 |
1.75 |
2 157 |
Single Family |
ИСТИНА |
IL |
$315 |
000 |
07 11 2000 |
S |
County |
2 |
2 |
1552 |
Condo |
ЛОЖЬ |
42, |
$379 000 |
11 11.2000 |
N |
County |
4 |
3 |
3000 |
Single Family |
ложь |
|
ш |
$248 500 |
21 11 2000 |
|
7 |
4 |
2.5 |
2 101 |
Single Family |
ИСТИНА |
|
$297 500 |
23 112000 |
S |
County |
4 |
3.5 |
2170 |
Single Family |
ложь |
||
|
$259 900 |
27 11 2000 |
N |
County |
4 |
3 |
1 734 |
Condo |
ложь |
|
|
$325 000 |
01 12 2000 |
S |
County |
4 |
3 |
2 800 |
Condo |
ИСТИНА ( |
|
W |
$208 750 |
03 12 2000 |
S |
County |
4 |
3 |
2 207 |
Single Family |
ИСТИНА * |
|
$227 500 |
03 12 2000 |
|
|
4 |
3 |
1905 |
Condo |
ЛОЖЬ |
||
19 |
$259 900 |
03 12 2000 |
N |
County |
3 |
2.5 |
2 122 |
Condo |
ложь |
|
20 |
$405 000 |
06 122000 |
N |
County |
2 |
3 |
2444 |
Single Family |
ИСТИНА , |
|
» 4 V «\Sheetl/ |
|
|
|
|
hi..L |
|
|
|
||
Рис. 9.11. Данный диапазон содержит два набора условий, каждый |
||||||||||
из которыхрасположен в отдельной строке диапазона |
|
|||||||||
В этом примере после фильтрации |
списка на экран выводятся строки, отвечающие любо- |
|||||||||
му изследующих условий:
•Совладение площадью неменее 1 800 квадратных футовИЛИ
•Дом дляодной семьи поцене ниже $ 210 000
Имейте в виду, что с помощью автофильтра подобный видотбора выполнитьневозможно.
Глава9.Базыданных ИСПИСКИ |
235 |
Определение вычисляемых условий
Использование вычисляемых условий представляет собой довольно мощный инструмент при фильтрации списка. Благодаря вычисляемым условиям вы можете фильтровать список на основании одного или большего количества вычислений. На рис. 9.12 показан диапазон условий, на основании которого Excel отбирает записи, содержащие характеристики домов, цена которых ниже средней по всему прайс-листу. Ячейка В 2 содержит следующую формулу:
=ListPrice>CP3HA4(A:A)
Имейте в виду, что вы должны подключить опцию Допускать названия диапазонов. В противном случае,данная формула будет возвращать ошибку #имя?. Чтобы установить эту опцию, выберите команду меню Сервис^Параметры и перейдите на вкладку Вычисления. После подключения опции ошибка #имя? перестанет создавать проблемы.
t |
~ A |
С _ ;._. 0 |
-J |
|
|
|
|
1 . |
|
Above Avq |
|
2ИСТИНА
3,
7
8 |
' |
ListPrice |
Date Listed |
|
Area |
I Bedrooms |
Baths |
SqFt |
Type |
Pool |
||
9 |
, |
$350 000 |
03 |
112000 |
N |
County |
|
3 |
2,5 |
1991 |
Condo |
ЛОЖЬ |
10 |
|
$215 000 |
0511 2000 |
|
Central |
|
3 |
1.75 |
2 157 |
Single Family |
ИСТИНА |
|
11 |
|
$315 000 |
07 |
11 2000 |
S |
County |
|
2 |
2 |
1552 |
Condo |
ЛОЖЬ |
12; |
|
$379 000 |
11 11 2000 |
N |
County |
|
4 |
3 |
3 000 |
Single Family |
ЛОЖЬ |
|
13 |
|
$248 500 |
21 |
11 2000 |
|
? |
|
4 |
2,5 |
2 101 |
Single Family |
ИСТИНА |
14 |
|
$297 500 |
23 |
11 2000 |
S |
County |
|
4 |
3,5 |
2 170 |
Single Family |
ЛОЖЬ |
15 |
|
$259 900 |
27 |
11 2000 |
N |
County |
|
4 |
3 |
1734 |
Condo |
ложь |
i l l |
|
$325 000 |
01 |
12 2000 |
S |
County |
|
4 |
3 |
2 800 |
Condo |
ИСТИНА |
17 |
|
$208 750 |
03 |
12 2000 |
S |
County |
|
4 |
3 |
2 207 |
Single Family |
ИСТИНА |
18, |
|
$227 500 |
03 |
12 2000 |
|
|
|
4 |
3 |
1905 |
Condo |
ЛОЖЬ |
П |
|
$259 900 |
03 |
12 2000 |
N |
County |
|
3 |
2,5 |
2 122 |
Condo |
ложь |
20 |
|
$405 000 |
06 |
122000 |
N |
County |
|
2 |
3 |
2 444 |
Single Family |
ИСТИНА |
*3t |
|
стаеarm/ |
- 07 0ТППП |
, Я |
Гл1 ц ) »« |
, , |
1 |
|
1 ЛЯ1 |
?":"" . J |
"""-МП |
|
|
|
|
|
|
|
|
|
|
|
|
||
Рис. 9.12. Данный диапазонусловий используетвычисляемое условие отбора
Запомните следующие правила использования вычисляемых условий:
•Формула, вычисляющая условия, — это всегда логическая формула, возвращающая значения ИСТИНАилиЛОЖЬ.
•Используйте в формулах подписи полей. Например, в предыдущем примере имя List Prise — это не имя диапазона, а подпись одного из полей базы данных. В качестве
альтернативы можно использовать ссылку на ячейку первой строки с данными, расположенную в представляющем интерес поле (это не ссылка на ячейку, содержащую имяполя). В данном примере ячейка в первой строке данных поля List P r i s e — это А9. Следующая формула возвращает тот же самый результат, что и в предыдущем примере:
=А9>СРЗНАЧ(А:А)
• Игнорируйте значения, возвращаемые формулами в диапазоне условий, которые ссылаются на первую строку списка. Иногда использование в формуле подписей полей приводит к ошибке, такой как, например, #ИМЯ? или #ЗНАЧ !. Эту ошибку можно игнорировать, поскольку она не влияет на фильтрацию списка.
236 |
Часть II. Использование функций вформулах |
При использовании вычисляемых условий не используйте уже существующие в списке подписи полей. Обратите внимание, на рис. 9.12 ячейка В1 содержит текст Above Avg, который не является именем одного из полей списка. По существу, вычисляемые условия просто создают новое поле в списке, поэтому пользователь должен указать новое имя в первой строке диапазона условий или просто оставить пробел в ячейке, предназначенной для имени поля.
Используйте в формуле, вычисляющей условия, ссылку на целый столбец списка. В предыдущем примере функция СРЗНАЧ использовала в качестве аргумента диапазон А:А. Однако имейте в виду, чтобы подобная формула, вычисляющая условия, работала, ее необходимо поместить в другой столбец, но никак не в тот, который упомянут в самой формуле. В противном случае это может привести к циклической зависимости. С другой стороны, вы можете просто использовать истинныйадрес ячеек столбца в пределах списка.
Количество условий, используемых для фильтрации списка, не ограничено. Кроме того, условия могут смешиваться, а также сочетаться с другими не вычисляемыми условиями.
В том случае, если вычисляющая формула обращается к значению, находящемуся за пределами рабочего листа, который содержит список, вместо относительных ссылок используйте абсолютные. Например, $С$1 вместо С1.
Примеры вычисляемыхусловий
Обратите внимание, на рис. 9.13 показан пример вычисляемого условия, в соответствии с которым из списка отбираются записи, содержащие характеристики домов, для которых сумма спален и ванных комнат превышает значение 8. Имя столбца в ячейке А1 носит только описательный характер и никоим образом не отражается на фильтрации.
Формула, вычисляющая условия, возвращает значение ошибки, поскольку формула обращается к именам полей. Однако, несмотря на ошибку, при фильтрации списка формула работает правильно.
=Bedrooms+Baths>8
Вкачестве альтернативы можно использовать следующую формулу, которая обращается
кпервой строке списка, содержащей данные:
=D9+E9>8
Данная формула не возвращает значение ошибки, и понять ее не так просто.
|
1 |
А,,,, |
1 |
8 |
j |
|
С„„. |
|
L._J?_ t |
J i |
f |
|
Ш |
1 |
8* Rooms |
I |
|
|
|
|
|
|
|
|
|
||
2': |
#3HA4i |
|
|
|
|
|
|
|
|
|
|
|
|
3j |
|
|
|
|
|
|
|
|
|
|
|
|
|
5"! |
|
|
|
|
|
|
|
|
|
|
|
|
|
"Si |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
! |
ListPrice |
|
Date Listed |
|
Area |
|
Bedrooms |
Baths |
SqFt |
Type |
I Pool |
|
9 j |
$350 000 |
03.112000 |
N |
County |
|
3: |
2,5 |
1991 |
Condo |
ЛОЖЬ |
|||
10 •• |
$215 000 |
|
05 112000 |
|
Central |
|
3: |
1.75 |
2 157 |
Single Family |
ИСТИНА |
||
111 |
$315 000 |
|
07 112000 |
|
S |
County |
|
I; |
2 |
1552 |
Condo |
ЛОЖЬ |
|
12' |
$379 000 |
11112000 |
N. County |
|
1\ |
3 |
3 000 |
Stngle Family |
ЛОЖЬ |
||||
Тз1 |
$248 500 |
|
21112000 |
|
? |
|
\t |
2.5 |
2101 |
Single Family |
ИСТИНА |
||
Ш |
|
$297 500 |
23 11 2000 |
S |
County |
|
i |
3.5 |
2170 |
Single Family |
ЛОЖЬ |
||
"IS1 |
$259 900 |
2711 2000 |
N County |
|
*• |
3 |
1 734 |
Condo |
ЛОЖЬ |
||||
"ml |
$325 000 |
0112 2000 |
S |
County |
|
i |
3 |
2 800 |
Condo |
ИСТИНА |
|||
17! |
$208 750 |
|
03 12 2000 |
|
S |
County |
|
1 |
3 |
2 207 |
Single Family |
ИСТИНА |
|
18' |
$227 500 |
03 12 2000 |
|
|
|
i |
3' |
1 905 |
Condo |
ЛОЖЬ |
|||
Ш1 |
$259 900 |
|
03 12 2000 |
N County |
' |
С |
2.5 |
2122 |
Condo |
ЛОЖЬ |
|||
20; |
$405 000 |
06 12 2000 |
N County |
|
: |
3 |
2 444 |
Single Family |
ИСТИНА |
||||
bi |
' |
f->^>C Qfin |
|
П 7 П ТППП |
, <? ,Гок»»м |
|
" |
|
|
|
|
||
H |
1 > H|\Sheetl/ |
|
|
|
|
|
|
|
|
|
|
||
Рис. 9.13. Данный диапазон условий использует вычисляемые выражения
Глава 9.Базыданных иСПИСКИ |
237 |
Ниже приведен еще один пример формулы, вычисляющей условие. Данная формула выбирает только те записи, которые находились в списке в пределах последних 60 дней.
=В9>СЕГОДНЯ()-60
=Date Listed>CErOflHH()-60
Использование массивов свычисляемыми условиями
Приложение Excel не просто позволяет использовать вычисляемые условия, наравне с этим Excel поддерживает использование массивов с вычисляемыми условиями. Чтобы показать на примере, насколько это полезно, давайте представим, что нам необходимо идентифицировать в списке дом, который имеет "половину ванной комнаты". Для этого необходимо отфильтровать все записи, содержащие нецелые числа: 3,5, 4,5 или любое другое значение нецелого числа в поле Baths. Обратите внимание, на рис. 9.14 отображен один из таких примеров, где диапазон условий А1: А5, чтобы сделать отбор необходимых данных, использует четыре оператора ИЛИ.
р |
|
A |
|
|
|
|
|
|
|
|
|
|
т |
|
2 |
|
|
|
|
I |
|
|
|
|
|
|
Baths |
|
|
|
|
|
|
|
|
|
||
|
|
3 |
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
* |
i |
|
|
|
|
|
18 ListPrice |
|
|
|
|
|
|
|
|
||||
Date Listed |
|
Area |
Bedroom I |
Baths | |
SqFt |
Type |
Pool |
|
||||
fi~ |
$350 000 |
0311 2000 |
N |
County |
3 |
2,5 |
1991 |
Condo |
|
ЛОЖЬ |
|
|
10 |
|
$215 000 |
05112000 |
|
Central |
з' |
1,75, |
2157 |
Single |
Family |
ИСТИНА |
|
11 |
|
$315 000 |
07 112000 |
S |
County |
2 |
2 |
1 552 |
Condo |
|
ЛОЖЬ |
• |
12 |
|
$379 000 |
11 11 2000 |
N |
County |
4 |
3 |
3 000 |
Single |
Family |
ЛОЖЬ |
, |
«[ |
|
$248 500 |
21 11 2000 |
|
? |
4 |
2,5, |
2101 |
Single Family |
ИСТИНА |
|
|
14 |
|
$297 500 |
23 11 2000 |
S |
County |
4 |
3.5! |
2170 |
Single Family |
ЛОЖЬ |
|
|
si |
|
$259 900 |
27 112000 |
N |
County |
4 |
3^ |
1 734 |
Condo |
|
ЛОЖЬ |
* |
16 |
|
$325 000 |
01 122000 |
S |
County |
4 |
3* |
2 800 |
Condo |
|
ИСТИНА |
|
17 |
|
$208 750 |
03 122000 |
S |
County |
4 |
3 |
2 207 |
Single Family |
ИСТИНА |
|
|
18 |
|
$227500 |
0312 2000 |
|
|
4 |
3 |
1905 |
Condo |
|
ЛОЖЬ |
'> |
19 |
|
$259 900 |
03 122000 |
N |
County |
3 |
2,5 |
2122 |
Condo |
|
ЛОЖЬ |
|
Жu, |
$405 000 |
06 122000 |
N |
County |
2 |
3 |
2 444 |
Single |
Family |
ИСТИНА |
|
|
f">'ac o n n |
|
|
|
1 |
1 • *> |
1 л «re |
Гпг"*п |
, . |
n n w j j n |
|||
|
|
|
|
|
|
|
|
|
|
|
||
Рис. 9.14. Чтобы выбрать записи, содержащие характеристики домов с нецелым количеством ванных комнат, здесь использовано четыре условия ИЛИ
Другая возможная операция вычисления условий задействует только одну формулу: =ИЛИ(Baths{2;3;4;5;б;7})
Данная формула возвращает значение ИСТИНА,если значение в поле Baths равно любому из значений массива.
Использование функций базы данных
Достаточно часто, для того чтобы создать формулы, результаты действия которых отвечают определенным условиям фильтрации, используются функции Excel, предназначенные для работы с базами данных электронной таблицы. Вы можете найти эти функции в диалоговом окне Мастер функций в категории Работа с базой данных.
238 |
Часть //. Использование функций в формула |
Функция |
Описание функции |
|
|
|
Д С Р З Н А Ч |
Возвращает среднее значение выбранных фрагментов базыданных. |
|||
Б С Ч Е Т |
|
Подсчитывает количество числовых ячеек ввыборке из заданной базыданных |
||
|
|
по заданному критерию. |
|
|
БСЧЕТА |
Подсчитывает количество непустых ячеек в выборке |
из заданной |
||
|
|
базы данных позаданному критерию. |
|
|
БИЗВЛЕЧЬ |
Извлекает из базы данных одну запись, удовлетворяющую заданно- |
|||
|
|
му критерию. |
|
|
ДМАКС |
|
Возвращает максимальное значение среди выделенных |
фрагментов |
|
|
|
базы данных или записей базы данных. |
|
|
ДМИН |
|
Возвращает минимальное значение среди выделенных |
фрагментов |
|
|
|
базы данных или записей базы данных. |
|
|
БДПРОИЗВЕД |
Перемножает значения определенных полей записей базы данных, |
|||
|
|
удовлетворяющих критерию. |
|
|
ДСТАНДОТКЛ |
Оценивает стандартное отклонение по выборке (характеризующей |
|||
|
|
генеральную совокупность) из выделенной части базы данных. |
||
ДСТАНДОТКЛП |
Вычисляет стандартное отклонение по генеральной совокупности из |
|||
|
|
выделенной части базы данных. |
|
|
БДСУММ |
Суммирует числа в поле столбца записей базы данных, |
удовлетво- |
||
|
|
ряющих условию. |
|
|
БДДИСП |
Оценивает дисперсию по выборке из выделенной части базы данных |
|||
|
|
(характеризующей генеральную совокупность). |
|
|
БДДИСПП |
Вычисляет дисперсию по генеральной совокупности из выделенной |
|||
|
|
части базы данных. |
|
|
Все функции базы данных требуют отдельного диапазона условий, который указывается в |
||||
качестве |
последнего |
аргумента функции. Диапазон условий, используемый функциями базы |
||
данных, |
полностью |
аналогичен диапазону, который рассмотрен ранее в разделе |
||
"Определение условий расширенного фильтра". |
|
|
||
Давайте рассмотрим рис. 9.15. Приведенная ниже формула, которая содержится в ячейке |
||||
С2, предназначена длявычисления суммы значений списка, удовлетворяющих |
определенным |
|||
условиям, использует |
функцию БДСУММ. В частности, формула возвращает |
сумму записей |
||
столбца |
S a l e s , которые в столбце M o n t h содержат значение F e b ,а в столбце |
R e g i o n — |
||
значения North или South. =БДСУММ(БазаДанных;3;Условия)
В данном случае, БазаДанных — это название списка, 3 — номер поля или столбца, который будет суммироваться, и Условия — имя диапазона условий (А1: ВЗ).
Следующая, альтернативная версия этой формулы, вместо номера поля использует его имя. Эта формула достаточно проста для чтения и продолжает корректно работать даже в том случае, если перед столбцом 3 будет вставлено новое поле.
=БДСУММ(База данных;"Продажи";Условия)
Глава ft Базыданных исписки |
239 |
