Примітка.: Програма Microsoft Access не підтримує імпорт даних Excel із застосованим підписом конфіденційності. Щоб вирішити цю проблему, можна видалити підпис перед імпортом, а потім повторно застосувати підпис після імпорту. Докладні відомості див. в статті Застосування міток конфіденційності до файлів і електронної пошти в Office.
У цій статті описано, як перемістити дані з Excel до Access і перетворити дані на реляційні таблиці, щоб мати змогу використовувати Microsoft Excel і Access разом. Щоб підсумувати, програма Access найкраще використовувати для зйомки, зберігання, запитів і надання спільного доступу до даних, а excel – для обчислення, аналізу та візуалізації даних.
У двох статтях: використання Access або Excel для керування даними та 10 основних причин використання програми Access з Excel, обговорення того, яка програма найкраще підходить для певного завдання та як разом використовувати Excel і Access для створення практичного рішення.
Коли ви переміщуєте дані з Excel до Access, до процесу потрібно виконати три основні кроки.
Примітка.: Відомості про моделювання даних і зв'язки в Access див. в статті Основи розробки баз даних.
Крок 1. Імпорт даних з Excel до Access
Імпорт даних – це операція, яка може пройти набагато плавніше, якщо знадобиться певний час, щоб підготувати та очистити дані. Імпортування даних – це ніби перехід на новий дім. Якщо ви прибираєте і організовуєте свої володіння, перш ніж переїхати, оселитися в новому будинку набагато простіше.
Очищення даних перед імпортом
Перш ніж імпортувати дані в Access, у програмі Excel радимо:
-
Перетворіть клітинки, які містять неатомні дані (тобто кілька значень в одній клітинці) на кілька стовпців. Наприклад, клітинку в стовпці "Навички", що містить кілька значень навичок, як-от "Програмування C#", "Програмування VBA" і "Веб-дизайн", слід розділити на окремі стовпці, кожен із яких містить лише одне значення навички.
-
Скористайтеся командою TRIM, щоб видалити початковий, кінцевий і кілька вбудованих пробілів.
-
Видалення недрукних символів.
-
Пошук і виправлення орфографічних і розділових помилок.
-
Видалення повторюваних рядків або повторюваних полів.
-
Переконайтеся, що стовпці даних не містять змішаних форматів, особливо чисел, відформатованих як текст або дати, відформатовані як числа.
Докладні відомості див. в таких розділах довідки Excel:
-
Фільтрування за унікальними значеннями або вилучення повторюваних значень
-
Перетворення дат, збережених у текстовому форматі, на формат дати
Примітка.: Якщо ваші потреби в очищенні даних складні або у вас немає часу чи ресурсів для автоматизації процесу самостійно, ви можете скористатися стороннім постачальником. Щоб отримати додаткові відомості, виконайте пошук за запитом "програмне забезпечення для очищення даних" або "якість даних" за допомогою улюбленої пошукової системи в браузері.
Виберіть найкращий тип даних під час імпорту
Під час імпорту в Access ви хочете зробити правильний вибір, щоб ви отримали кілька (якщо є) помилок перетворення, які потребуватимуть ручного втручання. У таблиці нижче підсумовано перетворення числових форматів Excel і типів даних Access під час імпорту даних із програми Excel до Access, а також наведено кілька порад щодо найкращих типів даних, які можна вибрати в майстрі імпорту електронних таблиць.
Числовий формат Excel |
Тип даних Access |
Примітки |
Рекомендації |
---|---|---|---|
Text (Текст) |
Текст, примітка |
У текстовому форматі Access зберігаються буквено-цифрові дані до 255 символів. Тип даних Access Memo містить буквено-цифрові дані до 65 535 символів. |
Виберіть Memo , щоб не скорочувати дані. |
Число, відсоток, дріб, науковий |
число |
Access має один тип даних "Число", який змінюється залежно від властивості Розмір поля ("Байт", "Ціле число", "Довге ціле число", "Одинарний", "Подвійний", "Десятковий"). |
Натисніть кнопку Подвійне , щоб уникнути помилок перетворення даних. |
Дата |
Date |
У програмах Access і Excel для збереження дат використовується однаковий порядковий номер. В Access діапазон дат більший: від -657 434 (1 січня 100 Р.Д.) до 2 958 465 (31 грудня 9999 р. Оскільки програма Access не розпізнає систему дат 1904 року (використовується в Excel для Macintosh), потрібно перетворити дати в Excel або Access, щоб уникнути плутанини. Докладні відомості див. в статті Змінення системи дат, форматування або двозначного інтерпретації року та Імпорт даних у книзі Excel або зв'язування з ними. |
Виберіть Date (Дата). |
Час |
Час |
Access і Excel зберігають значення часу за допомогою одного типу даних. |
Виберіть Time (Час), який зазвичай використовується за замовчуванням. |
Грошова одиниця, фінансовий |
Валюта |
У програмі Access тип даних "Грошова одиниця" зберігає дані як 8-байтові числа з точністю до чотирьох десяткових розрядів і використовується для зберігання фінансових даних і запобігання округленню значень. |
Виберіть пункт Грошова одиниця, яка зазвичай використовується за замовчуванням. |
Логічне значення |
Так/Ні |
У програмі Access використовується значення -1 для всіх значень "Так" і "0" для всіх значень "Ні", тоді як в Excel використовується значення 1 для всіх значень TRUE, а для всіх значень FALSE – 0. |
Натисніть кнопку Так/Ні, щоб автоматично перетворювати базові значення. |
Гіперпосилання |
Гіперпосилання |
Гіперпосилання в Excel і Access містить URL-адресу або веб-адресу, яку можна клацнути та відстежувати. |
Виберіть Гіперпосилання, інакше access може використовувати тип даних "Текст" за замовчуванням. |
Щойно дані буде збережено в Access, ви можете видалити дані Excel. Не забудьте спочатку створити резервну копію вихідної книги Excel, перш ніж видаляти її.
Докладні відомості див. в розділі довідки Access Імпорт даних у книзі Excel або посилання на них.
Автоматичне додавання даних у зручний спосіб
Зазвичай користувачі Excel додаються до одного великого аркуша з однаковими стовпцями. Наприклад, у вас може бути рішення для відстеження ресурсів, яке розпочалося в програмі Excel, але тепер виросло, щоб включити файли з багатьох робочих груп і відділів. Ці дані можуть бути на різних аркушах і книгах або в текстових файлах, які є інформаційними каналами даних з інших систем. У програмі Excel немає команди інтерфейсу користувача або простого способу додавання подібних даних.
Найкраще рішення – скористатися програмою Access, де можна легко імпортувати та додавати дані до однієї таблиці за допомогою майстра імпорту електронних таблиць. Крім того, до однієї таблиці можна додати багато даних. Ви можете зберегти операції імпорту, додати їх як заплановані завдання Microsoft Outlook і навіть використати макроси для автоматизації процесу.
Крок 2. Нормалізація даних за допомогою майстра аналізу таблиць
На перший погляд, процес нормалізації даних може здатися складним завданням. На щастя, нормалізація таблиць в Access – це процес, який значно простіший завдяки майстру аналізатора таблиць.
1. Перетягніть вибрані стовпці до нової таблиці та автоматично створіть зв'язки
2. Використовуйте команди кнопок, щоб перейменувати таблицю, додати первинний ключ, зробити наявний стовпець первинним ключем і скасувати останню дію
За допомогою цього майстра можна виконати такі дії:
-
Перетворіть таблицю на набір менших таблиць і автоматично створіть зв'язок первинного та зовнішнього ключа між таблицями.
-
Додайте первинний ключ до наявного поля, яке містить унікальні значення, або створіть нове поле ідентифікатора, у якому використовується тип даних "Лічильник".
-
Автоматично створюйте зв'язки для забезпечення цілісності даних із каскадними оновленнями. Каскадні видалення не додаються автоматично, щоб запобігти випадковому видаленню даних, але ви можете легко додати каскадні видалення пізніше.
-
Знайдіть у нових таблицях зайві або повторювані дані (наприклад, один клієнт із двома різними номерами телефонів) і оновіть їх за бажанням.
-
Сновіть резервну копію вихідної таблиці та перейменуйте її, додаючи "_OLD" до її імені. Потім потрібно створити запит, який реконструює вихідну таблицю з іменем вихідної таблиці, щоб усі наявні форми або звіти на основі вихідної таблиці працювали з новою структурою таблиці.
Докладні відомості див. в статті Нормалізація даних за допомогою аналізатора таблиць.
Крок 3. Підключення до даних Access із програми Excel
Після нормалізації даних у програмі Access і створення запиту або таблиці, які реконструюють вихідні дані, потрібно підключитися до даних Access із програми Excel. Ваші дані тепер знаходяться в Access як зовнішнє джерело даних, тому їх можна підключити до книги через зв'язок із даними – контейнер даних, який використовується для пошуку, входу в зовнішнє джерело даних і доступу до нього. Відомості про підключення зберігаються в книзі та також можуть зберігатися у файлі зв'язку, наприклад у файлі зв'язку з даними Office (ODC) (розширення імені файлу ODC) або у файлі імені джерела даних (розширення DSN). Після підключення до зовнішніх даних ви також можете автоматично оновлювати (або оновлювати) книгу Excel з Access щоразу, коли дані оновлюються в Access.
Докладні відомості див. в статті Імпорт даних із зовнішніх джерел даних (Power Query).
Отримання даних в Access
У цьому розділі описано етапи нормалізації даних: розрив значень у стовпцях "Продавець" і "Адреса" на найбільш атомні частини, розділення пов'язаних тем на власні таблиці, копіювання та вставлення цих таблиць з Excel до Access, створення ключових зв'язків між новоствореними таблицями Access, створення та виконання простого запиту в Access для повернення відомостей.
Приклад даних у не нормалізованій формі
Наведений нижче аркуш містить неатомні значення в стовпцях "Продавець" і "Адреса". Обидва стовпці слід розділити на два або кілька окремих стовпців. Цей аркуш також містить відомості про продавців, продукти, клієнтів і замовлення. Ці відомості також слід розділяти за темою на окремі таблиці.
Продавець |
Ідентифікатор замовлення |
Дата замовлення |
Ідентифікатор товару; |
Кість |
Ціна |
Ім’я клієнта |
Address (Адреса) |
Телефон |
---|---|---|---|---|---|---|---|---|
Li, Єль |
2349 |
3/4/09 |
C-789 |
3 |
7,00 грн. |
Наша кава |
7007 Корнелл Сен-Редмонд, WA 98199 |
425-555-0201 |
Li, Єль |
2349 |
3/4/09 |
C-795 |
6 |
$9,75 |
Наша кава |
7007 Корнелл Сен-Редмонд, WA 98199 |
425-555-0201 |
Адамс, Еллен |
2350 |
3/4/09 |
А-2275 |
2 |
$16,75 |
Adventure Works |
1025 Колумбійське коло Кіркленд, WA 98234 |
425-555-0185 |
Адамс, Еллен |
2350 |
3/4/09 |
F-198 |
6 |
$5,25 |
Adventure Works |
1025 Колумбійське коло Кіркленд, WA 98234 |
425-555-0185 |
Адамс, Еллен |
2350 |
3/4/09 |
B-205 (205 р.) |
1 |
$4,50 |
Adventure Works |
1025 Колумбійське коло Кіркленд, WA 98234 |
425-555-0185 |
Ханс, Джим |
2351 |
3/4/09 |
C-795 |
6 |
$9,75 |
Contoso Ltd. |
2302 Гарвард Ave Bellevue, WA 98227 |
425-555-0222 |
Ханс, Джим |
2352 |
3/5/09 |
А-2275 |
2 |
$16,75 |
Adventure Works |
1025 Колумбійське коло Кіркленд, WA 98234 |
425-555-0185 |
Ханс, Джим |
2352 |
3/5/09 |
D-4420 |
3 |
$7,25 |
Adventure Works |
1025 Колумбійське коло Кіркленд, WA 98234 |
425-555-0185 |
Кох, Рід |
2353 |
3/7/09 |
А-2275 |
6 |
$16,75 |
Наша кава |
7007 Корнелл Сен-Редмонд, WA 98199 |
425-555-0201 |
Кох, Рід |
2353 |
3/7/09 |
C-789 |
5 |
7,00 грн. |
Наша кава |
7007 Корнелл Сен-Редмонд, WA 98199 |
425-555-0201 |
Інформація в найменших його частинах: атомні дані
Працюючи з даними в цьому прикладі, можна скористатися командою Текст за стовпцем у програмі Excel, щоб розділити "атомні" частини клітинки (наприклад, адресу вулиці, місто, область і поштовий індекс) на окремі стовпці.
У таблиці нижче показано нові стовпці на тому самому аркуші після розділення, щоб зробити всі значення атомними. Зверніть увагу, що відомості в стовпці "Продавець" розділено на стовпці "Прізвище" та "Ім'я", а відомості в стовпці "Адреса" розділено на стовпці "Вулиця", "Місто", "Область" і "Поштовий індекс". Ці дані містяться в "першій нормальній формі".
Прізвище |
Ім’я |
|
Вулиця |
Місто |
Область |
Поштовий індекс |
---|---|---|---|---|---|---|
Лі |
Єльський |
2302 Гарвардський пр-т |
Львів |
Дніпропетровська |
98227 |
|
Колесник |
Еллен |
Коло Колумбії 1025 |
Kirkland |
Дніпропетровська |
98234 |
|
Попович |
Антон |
2302 Гарвардський пр-т |
Львів |
Дніпропетровська |
98227 |
|
Кох |
Рід |
7007 Корнель Сен-Редмонд |
Redmond |
Дніпропетровська |
98199 |
Розбивка даних на організовані теми в Excel
У кількох наведених нижче таблицях із прикладами даних відображаються однакові відомості з аркуша Excel після розділення їх на таблиці для продавців, продуктів, клієнтів і замовлень. Оформлення таблиці не остаточне, але воно на правильному шляху.
Таблиця "Продавець" містить лише відомості про торговий персонал. Зверніть увагу, що кожен запис має унікальний ідентифікатор (Ідентифікатор продавця). Значення Ідентифікатора продавця використовуватиметься в таблиці "Замовлення", щоб підключати замовлення до продавців.
Продавці |
||
---|---|---|
Ідентифікатор продавця |
Прізвище |
Ім’я |
101 |
Лі |
Єльський |
103 |
Колесник |
Еллен |
105 |
Попович |
Антон |
107 |
Кох |
Рід |
Таблиця "Товари" містить лише відомості про продукти. Зверніть увагу, що кожен запис має унікальний ідентифікатор (ідентифікатор продукту). Значення "Ідентифікатор товару" використовуватиметься для підключення відомостей про продукт до таблиці "Відомості про замовлення".
Продукти |
|
---|---|
Ідентифікатор товару; |
Ціна |
А-2275 |
16.75 |
B-205 (205 р.) |
4.50 |
C-789 |
7.00 |
C-795 |
9.75 |
D-4420 |
7.25 |
F-198 |
5.25 |
Таблиця "Клієнти" містить лише відомості про клієнтів. Зверніть увагу, що кожен запис має унікальний ідентифікатор (ідентифікатор клієнта). Значення "Ідентифікатор клієнта" використовуватиметься для підключення відомостей про клієнтів до таблиці "Замовлення".
Customers |
||||||
---|---|---|---|---|---|---|
Ідентифікатор замовника |
Назва |
Вулиця |
Місто |
Область |
Поштовий індекс |
Телефон |
1001 |
Contoso Ltd. |
2302 Гарвардський пр-т |
Львів |
Дніпропетровська |
98227 |
425-555-0222 |
1003 |
Adventure Works |
Коло Колумбії 1025 |
Kirkland |
Дніпропетровська |
98234 |
425-555-0185 |
1005 |
Наша кава |
7007 Корнель вул. |
Redmond |
Дніпропетровська |
98199 |
425-555-0201 |
У таблиці "Замовлення" містяться відомості про замовлення, продавців, клієнтів і продукти. Зверніть увагу, що кожен запис має унікальний ідентифікатор (ідентифікатор замовлення). Деякі відомості в цій таблиці потрібно розділити на додаткову таблицю з відомостями про замовлення, щоб таблиця "Замовлення" містить лише чотири стовпці: унікальний ідентифікатор замовлення, дату замовлення, ідентифікатор продавця та ідентифікатор клієнта. Наведену тут таблицю ще не розділено на таблицю "Відомості про замовлення".
Замовлення |
|||||
---|---|---|---|---|---|
Ідентифікатор замовлення |
Дата замовлення |
Ідентифікатор продавця |
Customer ID (Ідентифікатор клієнта) |
Ідентифікатор товару; |
Кість |
2349 |
3/4/09 |
101 |
1005 |
C-789 |
3 |
2349 |
3/4/09 |
101 |
1005 |
C-795 |
6 |
2350 |
3/4/09 |
103 |
1003 |
А-2275 |
2 |
2350 |
3/4/09 |
103 |
1003 |
F-198 |
6 |
2350 |
3/4/09 |
103 |
1003 |
B-205 (205 р.) |
1 |
2351 |
3/4/09 |
105 |
1001 |
C-795 |
6 |
2352 |
3/5/09 |
105 |
1003 |
А-2275 |
2 |
2352 |
3/5/09 |
105 |
1003 |
D-4420 |
3 |
2353 |
3/7/09 |
107 |
1005 |
А-2275 |
6 |
2353 |
3/7/09 |
107 |
1005 |
C-789 |
5 |
Відомості про замовлення, наприклад ідентифікатор товару та кількість, переміщуються з таблиці "Замовлення" та зберігаються в таблиці "Відомості про замовлення". Пам'ятайте, що існує 9 замовлень, тому важливо, щоб у цій таблиці було 9 записів. Зверніть увагу, що таблиця "Замовлення" має унікальний ідентифікатор (ідентифікатор замовлення), на який посилається таблиця "Відомості про замовлення".
Остаточний макет таблиці "Замовлення" має виглядати так:
Замовлення |
|||
---|---|---|---|
Ідентифікатор замовлення |
Дата замовлення |
Ідентифікатор продавця |
Customer ID (Ідентифікатор клієнта) |
2349 |
3/4/09 |
101 |
1005 |
2350 |
3/4/09 |
103 |
1003 |
2351 |
3/4/09 |
105 |
1001 |
2352 |
3/5/09 |
105 |
1003 |
2353 |
3/7/09 |
107 |
1005 |
Таблиця "Відомості про замовлення" не містить стовпців, для яких потрібні унікальні значення (тобто первинного ключа немає), тому всі стовпці можуть містити зайві дані. Однак жоден із двох записів у цій таблиці не має бути повністю ідентичним (це правило застосовується до будь-якої таблиці в базі даних). У цій таблиці має бути 17 записів – кожен із яких відповідає товару в окремому замовленні. Наприклад, у замовленні 2349 три продукти С-789 складають одну з двох частин усього замовлення.
Таким чином, таблиця "Відомості про замовлення" має виглядати так:
Відомості про замовлення |
||
---|---|---|
Order ID (Ідентифікатор замовлення) |
Ідентифікатор товару; |
Кість |
2349 |
C-789 |
3 |
2349 |
C-795 |
6 |
2350 |
А-2275 |
2 |
2350 |
F-198 |
6 |
2350 |
B-205 (205 р.) |
1 |
2351 |
C-795 |
6 |
2352 |
А-2275 |
2 |
2352 |
D-4420 |
3 |
2353 |
А-2275 |
6 |
2353 |
C-789 |
5 |
Копіювання та вставлення даних з Excel в Access
Тепер, коли відомості про продавців, клієнтів, продукти, замовлення та відомості про замовлення були розбиті на окремі теми в Excel, ви можете скопіювати ці дані безпосередньо в Access, де вони стануть таблицями.
Створення зв'язків між таблицями Access і виконання запиту
Перемістивши дані до Access, можна створити зв'язки між таблицями, а потім створити запити, щоб повернути відомості про різні теми. Наприклад, можна створити запит, який повертає ідентифікатор замовлення та імена продавців для замовлень, введених між 05.03.09 і 08.03.09.
Крім того, ви можете створювати форми та звіти, щоб спростити введення даних і аналіз збуту.
Потрібна додаткова довідка?
Ви завжди можете поставити запитання експерту в спільноті Tech у розділі Excel чи отримати підтримку в спільнотах.