Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_ОТ.rtf
Скачиваний:
10
Добавлен:
11.11.2019
Размер:
6.62 Mб
Скачать

6.1. Сортировка

Сортировка позволяет упорядочить строки в БД по значению любого поля. Для сортировки данных следует поместить табличный курсор в область БД и вызвать команду Сортировка из меню Данные.

В поле Сортировать по выбирается поле БД, по которому будут отсортированы данные, и тип сортировки:

  • по возрастанию – числа сортируются по возрастанию, тексты – в алфавитном порядке, в случае логических выражений Ложь предшествует Истине;

  • по убыванию − в обратном порядке.

В поле списка Затем по указывается поле, по которому будут отсортированы данные, имеющие одинаковые значения в первом ключевом поле. В поле В последнюю очередь указывается поле, по которому будут отсортированы данные, имеющие одинаковые значения в первых двух ключевых полях.

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

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

При выделении одной ячейки перед выбором команды Сортировка Excel выделяет всю область, в которой находится выделенная ячейка, предполагая, что вы хотите отсортировать весь список целиком. Если нужно отсортировать только часть списка (подмножество блока ячеек), выделите лишь те строки и столбцы, которые вы хотите отсортировать. Затем в меню Данные выберите команду Сортировка.

Примечание: обязательно выделяйте все столбцы БД, когда сортируете только часть ее строк.

Когда вы сортируете БД целиком или ее отдельный фрагмент, обратите особое внимание на ячейки, содержащие формулы.

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

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

Чтобы избежать подобных ситуаций при сортировке БД и диапазонов, содержащих формулы, соблюдайте следующие правила:

  • в формуле, которая зависит от ячеек, расположенных вне БД, используйте только абсолютные ссылки;

  • при сортировке строк избегайте применения формул, которые ссылаются на ячейки, находящиеся в других строках;

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

6.2. Фильтрация

Поиск (фильтрация) нужных сведений (главное меню, пункт Данные, команда Фильтр) может выполняться в нескольких режимах – либо в режиме автофильтра, либо в режиме расширенного фильтра.

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

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

Условия отбора могут быть различны. Можно проводить отбор на строгое соответствие значений полей заданным. Для БД со структурой, изображенной на рис. 12, блоки критериев поиска, показанные на рис. 13, обеспечат отбор: левый – строк, соответствующих гражданам с фамилией "Иванов", правый – строк, соответствующих либо мужчинам с ростом 175 см, либо женщинам с ростом 165 см.

A

A

B

1

Фамилия

1

Пол

Рост

2

Иванов

2

М

175

3

Ж

165

Рис. 13. Пример организации критериев поиска по заданному значению

Возможно формирование более гибких условий. Например, для выделения строк БД, содержащих текстовые данные, включающие некоторый фрагмент, требуется в качестве условия указать этот фрагмент и маску "*" . Так, задание условий, показанных на рис. 14, обеспечит выделение строк, в первом случае соответствующих гражданам, фамилии которых начинаются на Иван, во втором – строк, соответствующих мужчинам с ростом более 170 см и женщинам с ростом менее 170 см.

A

A

B

1

Фамилия

1

Пол

Рост

2

Иван*

2

М

>170

3

Ж

<170

Рис. 14. Пример организации критериев поиска по заданным условиям

Условия "больше", "меньше" и подобные можно использовать по отношению не только к числовым, но и к текстовым данным. Например, для отбора всех граждан, чьи фамилии начинаются с любой буквы, идущей после К, следует записать условие отбора >=Л* или просто >=Л. Символ "*" служит маской произвольного числа других символов. Для маскирования одного символа служит маска "?".

Для отбора строк, содержащих данные, попадающие в некоторый интервал, условия отбора можно сформировать так, как это показано на рис. 15, – будут отобраны строки, относящиеся к гражданам, фамилии которых начинаются с букв П и Р, родившимся в период с 1960 по 1969 год.

A

B

С

D

1

Фамилия

Фамилия

Дата_рожд

Дата_рожд

2

>=П*

>=01.01.60

<01.01.70

Рис. 15. Пример организации критериев поиска с условиями в виде диапазона

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