Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорiя по Excel1.doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
5.34 Mб
Скачать

7.2. Сортування бази даних. Автофільтрування

Однією із найчастіше використовуваних команд при роботі з БД є операція її сортування по певних полях. Наприклад, якщо відсортувати БД по прізвищах, то вона буде містити ті ж записи, що і до сортування, але розміщені в алфавітному порядку за прізвищами.

Сортування по полях, які містять дату та час буде проводитись правильно лише в тому випадку, коли вони представлені у відповідному форматі прийнятому в Ехсеl

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

Щоб відсортувати БД, необхідно помістити курсор в будь-яку комірку, що містить дані бази. Якщо потрібно відсортувати лише частину записів, то їх необхідно виділити.

П ісля цього вибираємо команду Soft...(Сортировка...) з пункту меню Data (Данные). З'являється однойменне діалогове вікно. У випадаючому списку Sort by(Сортировать по) необхідно вибрати поле, по якому буде виконано сортування (ключове поле). Якщо потрібно, щоб сортування відбувалось по декількох полях, то у випадаючому списку Тhen Ву (Затем по) необхідно вибрати другорядне поле, а якщо і цього не досить, то в наступному списку Тhen Ву (В последеюю очередь по) вибирають поле по якому буде відбуватись сортування в останню чергу. Опціями Ascending (по возрастанию) та Descending (по убыванию) необхідно вказати порядок сортування (відповідно по зростанню та спаданню елементів поля).

Після цього потрібно перевірити, чи активізована опція Header Row(подписям), оскільки в протилежному випадку активізована опція No htader row (обозначениям столбцов листа) назви полів також будуть брати участь в сортуванні.

За замовчуванням Ехсеl не враховує різницю регістрів в полях БД (різницю між великими та малими літерами). Якщо потрібно встановити цю різницю або встановити інші додаткові параметри сортування, то необхідно натиснути командну кнопку Оptions... (Параметры...). Відкривається додаткове діалогове вікно, де можна вказати:

  • First key soft order(Сортировка по первому ключу) - в даному випадаючому списку можна вказати порядок сортування БД по основному ключу: Normal (Обычная) - звичайне сортування або сортування по списку, створеному користувачем;

  • Case sensitive(Учитывать регистр) - встановити при сортуванні різницю між великими та малими літерами;

  • розділ Orientation(Сортировать) - встановлює напрямок сортування: Sort top to bottom(строки диапазонов) - здійснювати сортування по колонках, Sort left to right(столбцы диапазонов) - по рядках.

Вказавши всі необхідні опції сортування, потрібно натиснути кнопку Ок.

Інколи трапляється так, що після сортування БД не завжди користувач отримує те, що він очікував. Тому рекомендується перед сортуванням зробити страхову копію робочої книги, виконавши команду Save As... (Сохранить как...), із пункту меню File(Файл).

АВТОМАТИЧНЕ ФІЛЬТРУВАННЯ БАЗИ ДАНИХ

Для відбору даних на основі більш складних критеріїв, які неможливо застосувати при роботі з формами даних, а також для того, щоб роздрукувати звіти з певними вибраними даними, в Ехсеl можна застосувати команду AutoFilter, яка дозволяє виводити на робочому аркуші не всю БД, а лише ту частину яка відповідає даному критерію.

Дія команди AutoFilter продовжується до тих пір, поки вона не буде відключена.

Для того, щоб встановити автоматичне фільтрування БД, потрібно встановити курсор в будь-якій комірці БД. Після цього в пункті меню Data (Данные) вибрати підпункт Filter (Фильтр), а в ньому -команду AutoFilter (Автофильтр). В результаті чого поряд із назвами полів з'являться кнопки розкриття списку, так як це показано на малюнку.

Д ля вибору критерію фільтрування потрібно у відповідному полі натиснути ліву клавішу миші на кнопці автофільтрування, тоді вибрати значення, яке повинно містити дане поле. В результаті, в списку БД залишаться лише записи із вказаним вмістом поля.

Якщо в кнопці автофільтрування вибрати команду Тор 10 (Первьые 10), то, якщо дане поле містить текстову інформацію - виводиться список перших десяти записів БД. В іншому випадку відкривається вікно з трьох елементів. У випадаючому списку зліва можна вибрати: Тор (наибольших) - вивести перші N записів, Воttоm (Наименьших) - останні N записів, де N - це кількість, яка вибирається в сусідньому полі. Випадаючий список справа встановлює одиниці вимірювання числа N: ltems(элементов списка) - число вказує на кількість записів БД або Реrcent (% от количества элементов) - кількість процентів записів від всієї БД.

Для вибору більш складного критерію фільтрування потрібно вибрати в списку кнопки автофільтрування команду Сustom...(Условие...). При цьому з'являється діалогове вікно, зображене на малюнку.

У випадаючих списках, що розміщені зліва, вказується команда логічної умови, а в тих що розміщені справа - значення критерію.

При цьому є два ряди списків, для вказання складної умови. Якщо умова проста, то її слід вказати у верхніх списках, а в іншому випадку вказуються умови у верхньому та нижньому списках і об'єднуються опціями логічних операцій:

  • And (И) - логічне "І": записи відповідають критерію, якщо одночасно справджуються обидві умови, вказані у випадаючих списках вікна;

  • Оr (ИЛИ) - логічне "Або": записи відповідають критерію, якщо виконується хоча б одна із умов. вказаних у випадаючих списках вікна (іншими словами: даному критерію не відповідають лише записи, для яких не виконується жодна із умов).

Як значення виразу у випадаючому списку справа можна вказувати числове значення, дату або час, будь-яку текстову інформацію або початкову літеру тексту. При вказанні текстової інформації можна використовувати шаблони символів:

  • символ ? - заміняє не більше одного невідомого символу в тексті (один або жодного);

  • символ * - заміняє будь-яку кількість будь-яких символів.

У випадаючому списку зліва можна вибрати наступні оператори логічних умов:

  • equals(равно) - умова виконується, якщо вміст поля рівний виразу справа;

  • does not equal(не равно) - умова виконується, якщо вміст поля не рівний виразу справа (тобто будь-який вираз, крім вказаного);

  • is greater than(больше) - умова виконується, якщо вміст поля більший за вираз справа. Якщо в ролі виразу виступає одна літера, то критерію буде відповідати будь-який текст, що починається з даної літери (але, якщо текст складається лише з цієї літери, то він не підлягає критерію), або з літер, які в алфавіті йдуть після неї. Якщо після літери у виразі вказати "я" або "z", то текст що починаються з цієї літери, не враховується, а виводиться лише текст, що починається з літер які в алфавіті ідуть за нею;

  • is greater than or equal to(больше или равно) - умова виконується, якщо вміст поля більший або рівний виразу справа. Якщо в якості виразу вказати одну літеру, то критерію буде відповідати будь-який текст, що починається з даної літери (на відміну від попереднього оператора текст, що складається лише з однієї цієї літери також підлягає критерію), або з літер, які в алфавіті йдуть після неї;

  • is less than(меньше) - умова виконується, якщо вміст поля менший за вираз справа. Якщо в якості виразу вказати одну літеру, то критерію буде відповідати будь-який текст, що починається з літери, яка в алфавіті знаходиться перед вказаною. Якщо після літери у виразі вказати "я" або "г", то виводитись буде також текст, що починається з цієї літери;

  • is less than or equal to(меньше или равно) - умова виконується, якщо вміст поля менший або рівний за вираз справа. Якщо в якості виразу вказати одну літеру, то критерію буде відповідати будь-який текст, що починається з даної літери, або з літер, які в алфавіті йдуть перед нею;

  • begins with(начинается с) - умова виконується, якщо текст поля починається із набору літер вказаних у виразі;

  • does not begins with(не начинается с) - умова виконується, якщо текст поля починається із набору літер відмінних від виразу вказаного справа;

ends with (заканчивается на) - умова виконується, якщо текст поля закінчується набором літер вказаних у виразі;

  • does not end with(не заканчивается) - умова виконується, якщо текст поля закінчується набором літер відмінних від виразу вказаного справа;

  • contains(содержит) - умова виконується, якщо текст поля містить набір літер вказаних будь-де у виразі справа;

  • does not contain(не содержит) - умова виконується, якщо в текст поля не входить набір літер вказаних у виразі справа.

Якщо необхідно відфільтрувати всі записи, для яких вміст поля починається на будь-яку літеру, що знаходиться в алфавіті від „Б" до „К", то потрібно відмітити опцію AND(И), а тоді:

• у верхніх випадаючих списках вказати is greater than or equal to Б(або greater than Ая);

• в нижніх випадаючих списках вказати is less than or equal to K (або is less than Кя).

Якщо необхідно відфільтрувати всі записи, для яких вміст поля починається „Ок", а закінчується на „а", то можна вказати два випадки.

1. У випадаючих списках зверху вказати: equals Ок.

2. Відмітити опцію АND (И) і в випадаючих списках зверху вказати „begins with Ок", а в списках знизу „ends with a".

Якщо необхідно відфільтрувати всі записи, для яких вміст числового поля лежить в межах від 100 до 300, то потрібно відмітити опцію AND(И), а тоді:

• у верхніх випадаючих списках вказати is greater than or equal to 100;

• в нижніх випадаючих списках вказати is less than or equal to 300.

Якщо необхідно відфільтрувати всі записи, для яких вміст поля починається на літери „А" або „Б", то потрібно відмітити опцію ОR (ИЛИ), а тоді:

• у верхніх випадаючих списках вказати equals А*;

• в нижніх випадаючих списках вказати equals Б*.

Коли БД вже відфільтрована по одному полю, то при встановленні фільтрування по іншому полю вибір здійснюється серед відфільтрованих вже раніше записів.

Якщо по певних полях здійснено фільтрування, то кнопка автофільтрування автоматично виділяється синім кольором. Базу даних, в якій застосовано автофільтрування. можна в такому вигляді роздрукувати на принтері. Ця можливість використовується при створенні різних звітів.

Для того, щоб зняти фільтрування з певного поля, потрібно вибрати його кнопку автофільтрування і виконати команду Аll(Все). Якщо потрібно відмінити будь-які фільтрування, то потрібно повторно викликати команду AutoFilter(Автофильтр) з пункту меню Data(Данные), підпункту Filter(Фильтр).

40

Excel