Exceltip
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Создание базы данных в Excel
Опубликовано 16.11.2014 Автор Ренат Лотфуллин

Время от времени у всех нас возникает необходимость создать небольшую базу данных с удобной и понятной логикой и интерфейсом, но при этом желание возиться с Access или прочими подобными программами совершенно отсутствует. Более того, приложениях баз данных имеют во многом ограниченный арсенал инструментов анализа, расчетов и визуализации. Вот тут в голову нам приходит идея создать базу данных в Excel (тем более, многие пользователи используют ее в основном как место хранения данных).
К сожалению (а может и к счастью), Excel в первую очередь является электронной таблицей, поэтому чтобы создать базу данных в этой программе, требуется выстраивать связи с помощью формул подстановки, создавать интерфейс на VBA и добавлять дашборды. Все это было до недавнего времени. С приходом Excel 2013, программа обзавелась новыми инструментами работы с таблицами, позволяющими связывать диаграммы и ячейки, выполнять поиск и создавать динамически обновляемые отчеты. Все верно. Как в реляционных базах данных. Excel может ежедневно обрабатывать большие количество данных. Каким образом? Читайте дальше.
Как создать реляционную базу данных в Excel
Реляционная база данных – это такая база, в которой отношения между информацией в таблицах четко определены. Это важно для работы с большим количеством бизнес информации. Такой подход позволяет быстро находить и получать информацию, отображать одну и ту же информацию под различным ракурсом и избегать ошибок и дублирования. Попробуем сделать что-то подобное с помощью Excel.
Чтобы облегчить задачу, разберем пример с двумя таблицами: основной и дополнительной. Основная таблица зачастую содержит уникальные записи (такие как имя, адрес, город, область и т.д.). Она редко редактируется, за исключение, если, к примеру, вам нужно добавить или удалить запись.
Одной записи основной таблицы может соответствовать несколько записей из дополнительной (или дочерней) таблицы. Эта связь называется один-ко-многим. Информация в дочерней таблице – такая как, ежедневные продажи, цена на продукт, количество – обычно периодически изменяется.
Чтобы избежать повторения всей информации из основной таблицы в дополнительной таблице, необходимо создать отношения, используя уникальное поле, такое как ID Продаж, и позволить Excel сделать все остальное. К примеру, у вас имеется 10 продавцов со своей уникальной информацией (основная таблица). Каждый продавец имеет 200 продуктов, которые он продает (дополнительная таблица). В конце года вам необходимо создать отчет, который отображает результаты продаж каждого сотрудника. Плюс к этому, вам необходимо создать отчет, который отображает результаты продаж по городам.
В этом примере мы создадим основную таблицу с информацией о продавцах и дополнительную таблицу, которая отображает информацию о продажах. ID Продаж – это поле, которое будет соединять таблицы. В конечном итоге мы создадим отчет (или сводную таблицу), которая покажет информацию с максимальными продажами.
Создание основной и дополнительной таблиц
Наша основная таблица будет содержать 4 поля: ID Продаж, Имя продавца, Адрес и Город. Создайте таблицу аналогично изображению на рисунке. Данные для таблицы можно взять из файла прикрепленном в конце статьи.

Моя таблица имеет двадцать продавцов из 3-х различных городов, по которым в дальнейшем мы будем делать отчет.
Теперь необходимо превратить данные в настоящую таблицу Excel. Для этого выделяем весь диапазон вместе с заголовками. Переходим во вкладку Главная в группу Стили. Нажимаем кнопку Форматировать как таблицу, из выпадающего меню выбираем стиль, который мы хотим придать таблице.

После щелчка по стилю появится диалоговое окно Форматирование таблицы, в котором вы увидите поле с адресом выделенного диапазона. Убедитесь, что стоит галочка Таблица с заголовками и нажмите кнопку ОК. После этого диапазон данных приобретет выбранный формат и превратится в таблицу Excel.
Осталось дать имя нашей таблице. Выберите любую ячейку в таблице, перейдите по вкладке Работа с таблицами -> Конструктор в группу Свойства. В поле Имя таблицы поменяйте название таблицы на Основной.

Аналогичным способом создаем дополнительную таблицу с информацией о сумме продаж по кварталам для каждого сотрудника. Внешний вид оформления таблицы вы видите на изображении ниже.

Также таблице необходимо дать более осмысленное название, например, Продажи.
Определение отношений между таблицами
Первое правило сводных таблиц: отношения между таблицами определяются в системе отчетов сводной таблицы, с использованием инструмента Отношения. Не пытайтесь с самого начала определить связи между таблицами – инструмент формирования отчетов сводных таблиц все равно их не воспримет.
Выделяем таблицу с продажами, во вкладке Вставка переходим в группу Таблицы, щелкаем Сводная таблица.

В появившемся диалоговом окне Создание сводной таблицы в поле Таблицы или диапазон убеждаемся, что указана таблица Продажи. Также ставим галку напротив поля Добавить эти данные в модель данных и щелкаем кнопку ОК.

Excel создаст новый лист с пустой сводной таблицей. В левой части экрана появится панель Поля сводной таблицы. Чтобы свести данные обоих таблиц, в панели Поля сводной таблицы вкладки Активная проставьте галочки напротив пунктов Квартал 1, Квартал 2, Квартал 3 и Квартал 4. Excel построит сводную таблицу с данными по кварталам, пока не обращайте на нее внимание. Далее в этой же панели переходим на вкладку Все, где вы увидите обе наши таблицы. Ставим галочку напротив поля Город, таблицы Основной. Появится желтое поле с уведомлением Могут потребоваться связи между таблицами, щелкаем кнопку Создать.
В появившемся диалоговом окне Создание связи необходимо определить отношения между таблицами. Выберите из выпадающего списка Таблица пункт Продажи, а из выпадающего списка Столбец (Чужой) пункт ID Продаж. Помните, что ID Продаж единственное поле, которое находится в обоих таблицах. Из списка Связанная таблица выбираем Основной, из списка Связанный столбец (первичный ключ) — пункт ID Продаж. Жмем ОК.

Excel создаст связи и отобразит результирующий отчет на экране. Дайте имя вашему отчету, и он будет готов.

С новыми возможностями создания реляционных баз данных и таблиц, этот процесс значительно упрощается. И вы можете строить необходимые отчеты и получать специфические данные за считанные минуты.
Вам также могут быть интересны следующие статьи
- Создание сводной таблицы из данных PowerPivot
- Функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ
- Создание списка из сводной таблицы
- Группировка в сводных таблицах
- Добавление визуализации в сводную таблицу
- Новая временная шкала в Excel 2013
- Применение нескольких фильтров в сводной таблице
- Работаем со срезами сводных таблиц
- Создание сводных таблиц в Excel
- Применение ролловер эффекта в отчетах Excel
Создание базы данных в Access
Чтобы создавать базы данных с помощью Access, не нужно быть специалистом и писать код.
Продуманные шаблоны помогут вам быстро получить результат. Вы можете быстро находить нужные данные с помощью запросов, мгновенно создавать формы для удобного ввода данных, а также обобщать данные с помощью отчетов с группировкой и сводных отчетов. Десятки мастеров позволят сразу приступить к эффективной работе.
Создание базы данных
- Откройте Access. Если приложение Access уже открыто, на вкладке Файл выберите пункт Создать.
- Выберите пустую базу данных или шаблон.
- Введите имя базы данных, выберите расположение, а затем нажмите кнопку Создать. Когда база данных откроется, при необходимости нажмите кнопку Включить содержимое на желтой панели сообщений.
Дополнительные сведения см. в статье Создание базы данных.

Импорт данных из Excel
- Откройте книгу Excel, убедитесь в том, что каждый столбец имеет заголовок и содержит данные одного типа, а затем выделите диапазон.
- Выберите Внешние данные >Новый источник данных >из файла >Excel.
- Нажмите кнопку Обзор, чтобы найти файл Excel, оставьте значения по умолчанию и нажмите кнопку ОК.
- Установите флажок Первая строка содержит заголовки столбцов, а затем нажмите кнопку Далее.
- Заполните остальные страницы мастера и нажмите кнопку Готово.
Как создать базу данных из электронной таблицы Excel
В создании этой статьи участвовала наша опытная команда редакторов и исследователей, которые проверили ее на точность и полноту.
Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества.
Количество просмотров этой статьи: 79 673.
В этой статье:
В этой статье мы расскажем вам, как создать базу данных, используя данные из таблицы Excel. Для этого данные можно импортировать непосредственно в программу для управления базами данных Microsoft Access или экспортировать их в формат, поддерживаемый другими программами для управления базами данных. Microsoft Access входит в программный пакет Microsoft Office и поддерживает только Windows.
Метод 1 из 2:
Microsoft Access
![]()
- Access работает с Excel, входит в программный пакет Microsoft Office Professional и поддерживает только Windows.
![]()
- Если вы хотите использовать определенный шаблон для базы данных, выберите его.
![]()
Щелкните по Создать . Эта опция находится в нижнем правом углу. Откроется пустая база данных.
![]()
Щелкните по вкладке Внешние данные . Она находится в верхней части окна.
![]()
Щелкните по Новый источник данных . Вы найдете эту опцию слева на панели инструментов «Внешние данные». Раскроется меню.
![]()
Выберите Файл . Это опция в меню. Появится всплывающее меню.
![]()
Щелкните по Excel . Это опция во всплывающем меню. Откроется новое окно.
![]()
Щелкните по Обзор . Вы найдете эту опцию в правом верхнем углу.
![]()
Найдите нужный файл Excel. Для этого перейдите в папку с нужным файлом, а затем щелкните по нему.
![]()
Нажмите Открыть . Это кнопка в нижнем правом углу.
![]()
- Импортировать данные источника в новую таблицу в текущей базе данных — выберите данную опцию, если новая база данных создана без таблиц или если новую таблицу нужно вставить в готовую базу данных. Данные новой таблицы можно редактировать в Access.
- Добавить копию записей в конец таблицы — выберите данную опцию, если пользуетесь существующей базой данных и в одну из ее таблиц нужно добавить данные. Расширив существующую таблицу, ее данные можно редактировать в Excel.
- Создать связанную таблицу для связи с источником данных — выберите данную опцию, если в базе данных нужно создать гиперссылку, с помощью которой эту базу можно открыть в Excel. Имейте в виду, что в этом случае отредактировать данные базы в Access не получится.
![]()
Щелкните по OK . Эта кнопка находится внизу окна.
- По умолчанию пустая таблица Excel содержит три листа — «Лист 1», «Лист 2», «Лист 3». За один раз можно перенести данные только с одного листа. Если данные есть сразу на трех листах, передайте данные с одного листа, перейдите на вкладку «Внешние данные», а затем повторите описанный процесс с оставшимися листами.
- В Excel листы можно удалять, добавлять и переименовывать — такие изменения отобразятся в базе данных Access.
![]()
Щелкните по Далее . Это кнопка в нижнем правом углу.
![]()
- Если убрать этот флажок, заголовки столбцам присвоит Access.
![]()
Щелкните по Далее .
![]()
- Чтобы изменить поле, щелкните по заголовку нужного столбца и отредактируйте имя поля, тип данных и активируйте/деактивируйте индексацию.
- Чтобы не импортировать поле, установите флажок у «Не импортировать поле (пропустить)».
![]()
Нажмите Далее .
![]()
- Чтобы добавить свой ключ, установите флажок у «Выбрать свой первичный ключ» и введите ключ в текстом поле. Мы не рекомендуем устанавливать флажок у опции «Без первичного ключа».
![]()
Щелкните по Далее .
![]()
- Чтобы оставить имя, назначенное по умолчанию, пропустите этот шаг.
![]()
Нажмите Завершить . Это опция в нижнем правом углу.
![]()
- Сначала можно установить флажок у «Сохранить шаги импорта», чтобы Access запомнил настройки этой базы данных
Создание базы данных в Excel
Со всем этим вполне может справиться Microsoft Excel, если приложить немного усилий. Давайте попробуем это реализовать.
Шаг 1. Исходные данные в виде таблиц
Информацию о товарах, продажах и клиентах будем хранить в трех таблицах (на одном листе или на разных — все равно). Принципиально важно, превратить их в «умные таблицы» с автоподстройкой размеров, чтобы не думать об этом в будущем. Это делается с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) . На появившейся затем вкладке Конструктор (Design) присвоим таблицам наглядные имена в поле Имя таблицы для последующего использования:

Итого у нас должны получиться три «умных таблицы»:
Обратите внимание, что таблицы могут содержать дополнительные уточняющие данные. Так, например, наш Прайс содержит дополнительно информацию о категории (товарной группе, упаковке, весу и т.п.) каждого товара, а таблица Клиенты — город и регион (адрес, ИНН, банковские реквизиты и т.п.) каждого из них.
Таблица Продажи будет использоваться нами впоследствии для занесения в нее совершенных сделок.
Шаг 2. Создаем форму для ввода данных
Само-собой, можно вводить данные о продажах непосредственно в зеленую таблицу Продажи, но это не всегда удобно и влечет за собой появление ошибок и опечаток из-за «человеческого фактора». Поэтому лучше будет на отдельном листе сделать специальную форму для ввода данных примерно такого вида:

В ячейке B3 для получения обновляемой текущей даты-времени используем функцию ТДАТА (NOW) . Если время не нужно, то вместо ТДАТА можно применить функцию СЕГОДНЯ (TODAY) .
В ячейке B11 найдем цену выбранного товара в третьем столбце умной таблицы Прайс с помощью функции ВПР (VLOOKUP) . Если раньше с ней не сталкивались, то сначала почитайте и посмотрите видео тут.
В ячейке B7 нам нужен выпадающий список с товарами из прайс-листа. Для этого можно использовать команду Данные — Проверка данных (Data — Validation) , указать в качестве ограничения Список (List) и ввести затем в поле Источник (Source) ссылку на столбец Наименование из нашей умной таблицы Прайс:

Аналогичным образом создается выпадающий список с клиентами, но источник будет уже:
Функция ДВССЫЛ (INDIRECT) нужна, в данном случае, потому что Excel, к сожалению, не понимает прямых ссылок на умные таблицы в поле Источник. Но та же ссылка «завернутая» в функцию ДВССЫЛ работает при этом «на ура» (подробнее об этом было в статье про создание выпадающих списков с наполнением).
Шаг 3. Добавляем макрос ввода продаж
После заполнения формы нужно введенные в нее данные добавить в конец таблицы Продажи. Сформируем при помощи простых ссылок строку для добавления прямо под формой:
Т.е. в ячейке A20 будет ссылка =B3, в ячейке B20 ссылка на =B7 и т.д.
Теперь добавим элементарный макрос в 2 строчки, который копирует созданную строку и добавляет ее к таблице Продажи. Для этого жмем сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer) . Если эту вкладку не видно, то включите ее сначала в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) . В открывшемся окне редактора Visual Basic вставляем новый пустой модуль через меню Insert — Module и вводим туда код нашего макроса:
Sub Add_Sell() Worksheets("Форма ввода").Range("A20:E20").Copy 'копируем строчку с данными из формы n = Worksheets("Продажи").Range("A100000").End(xlUp).Row 'определяем номер последней строки в табл. Продажи Worksheets("Продажи").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues 'вставляем в следующую пустую строку Worksheets("Форма ввода").Range("B5,B7,B9").ClearContents 'очищаем форму End Sub
Теперь можно добавить к нашей форме кнопку для запуска созданного макроса, используя выпадающий список Вставить на вкладке Разработчик (Developer — Insert — Button) :
После того, как вы ее нарисуете, удерживая нажатой левую кнопку мыши, Excel сам спросит вас — какой именно макрос нужно на нее назначить — выбираем наш макрос Add_Sell. Текст на кнопке можно поменять, щелкнув по ней правой кнопкой мыши и выбрав команду Изменить текст.
Теперь после заполнения формы можно просто жать на нашу кнопку, и введенные данные будут автоматически добавляться к таблице Продажи, а затем форма очищается для ввода новой сделки.
Шаг 4. Связываем таблицы
Перед построением отчета свяжем наши таблицы между собой, чтобы потом можно было оперативно вычислять продажи по регионам, клиентам или категориям. В старых версиях Excel для этого потребовалось бы использовать несколько функций ВПР (VLOOKUP) для подстановки цен, категорий, клиентов, городов и т.д. в таблицу Продажи. Это требует времени и сил от нас, а также «кушает» немало ресурсов Excel. Начиная с Excel 2013 все можно реализовать существенно проще, просто настроив связи между таблицами.
Для этого на вкладке Данные (Data) нажмите кнопку Отношения (Relations) . В появившемся окне нажмите кнопку Создать (New) и выберите из выпадающих списков таблицы и названия столбцов, по которым они должны быть связаны:
Важный момент: таблицы нужно задавать именно в таком порядке, т.е. связанная таблица (Прайс) не должна содержать в ключевом столбце (Наименование) повторяющихся товаров, как это происходит в таблице Продажи. Другими словами, связанная таблица должна быть той, в которой вы искали бы данные с помощью ВПР, если бы ее использовали.
Само-собой, аналогичным образом связываются и таблица Продажи с таблицей Клиенты по общему столбцу Клиент:

После настройки связей окно управления связями можно закрыть, повторять эту процедуру уже не придется.
Шаг 5. Строим отчеты с помощью сводной
Теперь для анализа продаж и отслеживания динамики процесса, сформируем для примера какой-нибудь отчет с помощью сводной таблицы. Установите активную ячейку в таблицу Продажи и выберите на ленте вкладку Вставка — Сводная таблица (Insert — Pivot Table) . В открывшемся окне Excel спросит нас про источник данных (т.е. таблицу Продажи) и место для выгрузки отчета (лучше на новый лист):
Жизненно важный момент состоит в том, что нужно обязательно включить флажок Добавить эти данные в модель данных (Add data to Data Model) в нижней части окна, чтобы Excel понял, что мы хотим строить отчет не только по текущей таблице, но и задействовать все связи.
После нажатия на ОК в правой половине окна появится панель Поля сводной таблицы, где нужно щелкнуть по ссылке Все, чтобы увидеть не только текущую, а сразу все «умные таблицы», которые есть в книге.А затем можно, как и в классической сводной таблице, просто перетащить мышью нужные нам поля из любых связанных таблиц в области Фильтра, Строк, Столбцов или Значений — и Excel моментально построит любой нужный нам отчет на листе:
Не забудьте, что сводную таблицу нужно периодически (при изменении исходных данных) обновлять, щелкнув по ней правой кнопкой мыши и выбрав команду Обновить (Refresh) , т.к. автоматически она этого делать не умеет.
Также, выделив любую ячейку в сводной и нажав кнопку Сводная диаграмма (Pivot Chart) на вкладке Анализ (Analysis) или Параметры (Options) можно быстро визуализировать посчитанные в ней результаты.
Шаг 6. Заполняем печатные формы
Еще одной типовой задачей любой БД является автоматическое заполнение различных печатных бланков и форм (накладные, счета, акты и т.п.). Про один из способов это сделать, я уже как-то писал. Здесь же реализуем, для примера, заполнение формы по номеру счета:
Предполагается, что в ячейку C2 пользователь будет вводить число (номер строки в таблице Продажи, по сути), а затем нужные нам данные подтягиваются с помощью уже знакомой функции ВПР (VLOOKUP) и функции ИНДЕКС (INDEX) .
Ссылки по теме
- Как использовать функцию ВПР (VLOOKUP) для поиска и подстановки значений
- Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
- Автоматическое заполнение форм и бланков данными из таблицы
- Создание отчетов с помощью сводных таблиц