Пошук даних у таблиці за простими критеріями

Якщо в таблиці необхідно знайти певне відоме значення, це завдання можна виконати за допомогою стандартного засобу пошуку, який запускають командою Основне Знайти. Проте зазвичай застосовується більш складний алгоритм пошуку: значення одного параметру шукають за умовою, якій задовольняє інший параметр. Припустимо, що у класному журналі потрібно найти оцінку, яку учень Жуков отримав за другу тематичну роботу. Тут умова накладається на прізвище, а шукається значення параметра «оцінка за другу тематичну». Надання засобів для виконання подібних запитів є однією з найважливіших функцій будь-якої системи керування базами даних. Відповідні засоби є у табличному процесорі Microsoft Excel.

Пошук за допомогою форми даних

Зручний спосіб пошуку надає форма даних. Критерії пошуку в ній вводять за допомогою кнопки Умови. Наприклад, щоб зображеній на рис. 5.1 таблиці знайти всі рейси з Києва, досить клацнути цю кнопку, і на екрані з’явиться форма даних без записів. У поле Пункт відправлення потрібно ввести слово Київ та клацнути кнопку Знайти далі, і в діалоговому вікні з’явиться перший об’єкт, який відповідатиме заданому критерію. Переглянути всі такі об’єкти можна за допомогою кнопок Знайти далі та Знайти назад.

Пошук за значеннями в першому стовпці

Умову вибору об’єкта найчастіше накладають на ключові параметри, тобто такі, значення яких є унікальними, неповторними в усій розглядуваній множині однотипних об’єктів. Для кожного журналу таким параметром може бути прізвище та ім’я учня ( якщо в одному класі немає кількох учнів з однаковим прізвищем та ім’ям), а для розкладу руху автобусів – номер рейсу. Тільки ключові параметри дають змогу одночасно ідентифікувати об’єкт: скажімо, за номером рейсу ви можете точно визначити, про який рейс ідеться, а за пунктом відправленням – ні.

Значення ключового параметра зазвичай записують у першому стовпці таблиці. Тому функція VLOOKUP (рос. ВПР), яка в Microsoft Excel реалізує пошук за ключовим значенням, працює так. Спочатку задане ключове значення відшукується в першому стовпці таблиці, а потім переглядається весь рядок, де воно міститься.

Функція повертає значення зі стовпця з заданим номером у цьому рядку. Повний формат функцій такий:

VLOOKUP(шукане_значення;таблиця;номер_стовпця;точність_пошуку)

Стисло опишемо призначення аргументу функції:

  • шукане_значення – значення, яке потрібно знайти в першому стовпці;
  • таблиця – вся таблиця;
  • номер_стовпця - номер стовпця, значення, з якого буде повернуто функцією;
  • точність_пошуку – логічне значення, що визначає спосіб пошуку у першому стовпці: пошук значення, яке точно дорівнює заданому (точність_пошуку=FALSE), або такого, що дорівнює заданому значенню наближеного (точність_пошуку=TRUE).

Як приклад розглянемо таблицю з відомостями про працівників певного підприємства (рис. 5.3).


Рис. 5.3. Обчислення дати народження працівника за його прізвищем

Користувач знає прізвища працівників і бажає за введеним у клітинку В8 прізвищем отримати у клітинці В9 інформацію про дату народження відповідного працівника. Для цього у клітинку В9 він має ввести таку формулу:

=VLOOKUP(В8;А1:D6;3;FALSE)

Тут В8 – адреса клітинки, в яку користувач вводить прізвище, А1:D6 – діапазон таблиці, 3 – номер стовпця, який містить відомість про дату народження. Значення FALSE останнього аргументу означає, що в першому стовпці шукатиметься саме те значення, яке було введено у клітинку В8.

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