База данных в Excel: специфические особенности создания, примеры и рекомендации

Всем привет. Иногда, для работы с БД, требуется перенос данных из файла в базу данных. Я столкнулся с такой проблемой, когда мне нужно было перенести данные из Excel файла в базу данных. Есть несколько способов решения этой проблемы, сегодня мы с вами решим ее с помощью библиотеки PHPExcel. Я в качестве примера буду использовать PostgreSQL, но здесь так же можно использовать и другие СУБД. Я вам покажу код который можно отредактировать, чтобы подключиться к MySQL, MariaDB и так далее.

И так, суть работы такая. Есть Excel файл, который нужно перевести в формат csv(это можно сделать в настройках сохранение файла). После этого мы достаем данные из этого файла, обрабатываем их и вставляем в базу данных.

Для вашего случая скрипт, может отличаться, поэтому вам нужно будет его изменить самостоятельно. Так же вы можете написать в нашей группе https://vk.com/prog_time на стене и вам обязательно помогут.

Скажу сразу, данный код не подойдет для вас, если:

  • У вас очень большая база, больше 10 000 записей. Если у вас большая база, то процесс будет очень долгим и может выдать ошибку.
  • Если вам необходима постоянная загрузка строк в реальном времени. Скорость работы этого скрипта, хромает и большая нагрузка может его тормозить.

Почему тогда я его показываю:

  • Это готовый код, который вы можете просто скопировать и вставить к себе.
  • Здесь необходимо только изменить путь к вашему файлу в параметре функции.
  • С помощью этого кода, вы можете потренироваться в работе с библиотекой PHPExcel)))

Для того чтобы все работало, необходимо скачать библиотеку PHPExcel — https://github.com/PHPOffice/PHPExcel

Вот так выглядит скрипт. Данный скрипт написан на PHP. Сейчас мы с вами его построчно разберем.

//СКРИПТ КОТОРЫЙ ПЕРЕВОДИТ ЗНАЧЕНИЯ ИЗ EXCEL В МАССИВ  set_time_limit(7200); ini_set("memory_limit", "3000M");  function parse_excel_file( $filename ){ // путь к библиотеки от корня сайта require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel-1.8/Classes/PHPExcel.php'; $result = array(); // получаем тип файла (xls, xlsx), чтобы правильно его обработать $file_type = PHPExcel_IOFactory::identify( $filename ); // создаем объект для чтения $objReader = PHPExcel_IOFactory::createReader( $file_type ); $objPHPExcel = $objReader->load( $filename ); // загружаем данные файла $result = $objPHPExcel->getActiveSheet()->toArray(); // выгружаем данные  return $result; }  $res = parse_excel_file($_SERVER['DOCUMENT_ROOT'].'fileslist_of_expired_passports.csv' );  $arr_result = count($res); //ПОДСЧИТЫВАЕТ СКОЛЬКО ЗНАЧЕНИЙ В МАССИВЕ  for ($i=0; $i<$arr_result; $i++) { $arr = [implode(',', $res[$i])]; //print_r($arr); $arr_str = implode('', $arr); $connect_string = "host=localhost port=5432 dbname=postgres user=postgres password="; $dbconnect = pg_connect($connect_string); $query = "INSERT INTO test_db (id, pasport) VALUES ($i, '$arr_str') "; $result = pg_query($dbconnect, $query);  pg_close($dbconnect);  } </pre> set_time_limit(7200); — эта строка задает время, после которого скрипт перестанет работать. Это сделано для того чтобы скрипт в случае зависания смог самостоятельно окончить свою работу, по истечению указанного времени. Здесь я указываю число, равное 2 часам. ini_set("memory_limit", "3000M"); — эта строка задет лимит оперативной памяти, который может быть задействован на работу скрипта. Эти две функции не обязательны, но и не мешаю работе компьютера. Вы можете не бояться за оперативную память, ведь если файл не большого размера, то работа скрипта будет быстрой и не нагрузит систему. Далее идет функция parse_excel_file, которая подключает библиотеку PHPExcel и обрабатывает файл который указан в ее параметре $filename. В этой функции в первой строке находится следующий код require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel-1.8/Classes/PHPExcel.php'; Этот код указывает путь к папке в которой находятся файлы библиотеки. $_SERVER['DOCUMENT_ROOT']. — эта часть строки передает данные пути до файла домена, то есть в моем случае(я использую локальный хостинг OpenServer) это D:OSPaneldomains. $result = array(); — здесь создается переменная и в неё записывается массив. Здесь $file_type = PHPExcel_IOFactory::identify( $filename ); функция указывает тип файла, который передается. То есть если вы распечатаете эту функцию через var_dump(), то вы увидите строку CSV, это наш формат. Далее идут строки, в которых подключается код из класса указанного на стороне библиотеки. Это нам не особо интересно, так как мы тут не можем не чего изменить. А вот последняя строка в этой функции куда интереснее, здесь с помощью встроенных, в библиотеку методов класса, мы преобразуем нашу информацию в массив. После создания функции, нам необходимо ее передать и записать результат ее выполнения в переменную, которую я назвал $res. Это мы делаем с помощью этой строки$res = parse_excel_file($_SERVER['DOCUMENT_ROOT'].'fileslist_of_expired_passports.csv' );. В качестве параметра мы передаем путь к нашему Excel файлу ($_SERVER[‘DOCUMENT_ROOT’].’fileslist_of_expired_passports.csv’ ). Здесь мы сделаем небольшую паузу и посмотрим что у нас получилось. Если мы попробуем просмотреть, с помощью var_dump переменную $res, то мы увидим массив в котором находится много других массивов. Я столкнулся с этим кодом, когда у меня был запрос на перенос в базу паспортов. Через запятую были записаны серия и номер (1234,174517). И когда я прогнал файл через этот код, то у меня на этой стадии получился вот такой массив — Array{Array{[0]=>»1234″[1]=>»174517″},Array{и так далее}}. И так теперь давайте пойдем далее. Следующая строка $arr_result = count($res); подсчитывает сколько элементов в $res. И вот мы подошли к самому интересному… цикл for. Здесь, в скобках мы передаем следующие условия работы цикла $i=0; $i<$arr_result; $i++</code>. $arr = [implode(',', $res[$i])] — здесь я создал переменную в которой преобразовал массив, а точнее значения в нем. До этого момента массив выглядел вот так Array{Array{[0]=>»1234″[1]=>»174517″}…}, а теперь массив выглядит так Array{Array{[0]=>»1234,174517″}. $arr_str = implode('', $arr); — эта строка преобразует массив в строку. Теперь у нас на этом моменте получается, что есть строка вот такого вида 1234,174517. Я бы мог занести данные из массива в базу данных, как они есть, но мне нужно было чтобы они имели тип строки, чтобы в дальнейшем было удобнее их обрезать. Следующие строки могут отличаться от ваших, в зависимости от того, какой базой данных вы пользуетесь. В данном случае здесь используется база PostgreSQL. По сути здесь простые функции подключения и работы с базой данных, которые вы легко сможете найти для своей базы данных. Если у вас появились трудности с этой задачей, вы можете задать свой вопрос в нашей группе https://vk.com/prog_time , где вам обязательно ответят. Если использовать, как и я PostgreSQL, то эта строчка $connect_string = "host=localhost port=5432 dbname=postgres user=postgres password="передает параметры для подключения к базе. Здесь вписываются следующие данные: сервер для подключения — localhost, порт — 5432, имя базы, которое вы предварительно создали — postgres, имя пользователя, у меня оно такое же как и у базы — postgres, пароль, у меня без пароля. $dbconnect = pg_connect($connect_string) — здесь происходит подключение к базе, по параметрам которые были указанны выше. $query = "INSERT INTO test_db (id, pasport) VALUES ($i, '$arr_str')" — в переменную query я записываю, запрос о внесение изменений в базу. Данные будут вноситься в таблицу test_db. В столбцы id и pasport будут вноситься данные из переменных i и arr_str. $result = pg_query($dbconnect, $query) — эта строка производит передачу данных в базу данных.

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

Внешний вид рабочей области программы – таблица. А реляционная база данных структурирует информацию в строки и столбцы. Несмотря на то что стандартный пакет MS Office имеет отдельное приложение для создания и ведения баз данных – Microsoft Access, пользователи активно используют Microsoft Excel для этих же целей. Ведь возможности программы позволяют: сортировать; форматировать; фильтровать; редактировать; систематизировать и структурировать информацию.

То есть все то, что необходимо для работы с базами данных. Единственный нюанс: программа Excel — это универсальный аналитический инструмент, который больше подходит для сложных расчетов, вычислений, сортировки и даже для сохранения структурированных данных, но в небольших объемах (не более миллиона записей в одной таблице, у версии 2010-го года выпуска ).

Структура базы данных – таблица Excel

База данных – набор данных, распределенных по строкам и столбцам для удобного поиска, систематизации и редактирования. Как сделать базу данных в Excel?

Вся информация в базе данных содержится в записях и полях.

Запись – строка в базе данных (БД), включающая информацию об одном объекте.

Поле – столбец в БД, содержащий однотипные данные обо всех объектах.

Записи и поля БД соответствуют строкам и столбцам стандартной таблицы Microsoft Excel.

Если Вы умеете делать простые таблицы, то создать БД не составит труда.

Создание базы данных в Excel: пошаговая инструкция

Пошаговое создание базы данных в Excel. Перед нами стоит задача – сформировать клиентскую БД. За несколько лет работы у компании появилось несколько десятков постоянных клиентов. Необходимо отслеживать сроки договоров, направления сотрудничества. Знать контактных лиц, данные для связи и т.п.

Как создать базу данных клиентов в Excel:

  1. Вводим названия полей БД (заголовки столбцов).
  2. Вводим данные в поля БД. Следим за форматом ячеек. Если числа – то числа во всем столбце. Данные вводятся так же, как и в обычной таблице. Если данные в какой-то ячейке – итог действий со значениями других ячеек, то заносим формулу.
  3. Чтобы пользоваться БД, обращаемся к инструментам вкладки «Данные».
  4. Присвоим БД имя. Выделяем диапазон с данными – от первой ячейки до последней. Правая кнопка мыши – имя диапазона. Даем любое имя. В примере – БД1. Проверяем, чтобы диапазон был правильным.

Основная работа – внесение информации в БД – выполнена. Чтобы этой информацией было удобно пользоваться, необходимо выделить нужное, отфильтровать, отсортировать данные.

Как вести базу клиентов в Excel

Чтобы упростить поиск данных в базе, упорядочим их. Для этой цели подойдет инструмент «Сортировка».

  1. Выделяем тот диапазон, который нужно отсортировать. Для целей нашей выдуманной компании – столбец «Дата заключения договора». Вызываем инструмент «Сортировка».
  2. При нажатии система предлагает автоматически расширить выделенный диапазон. Соглашаемся. Если мы отсортируем данные только одного столбца, остальные оставим на месте, то информация станет неправильной. Открывается меню, где мы должны выбрать параметры и значения сортировки.

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

Теперь менеджер видит, с кем пора перезаключить договор. А с какими компаниями продолжаем сотрудничество.

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

  1. Одновременным нажатием кнопок Ctrl + F или Shift + F5. Появится окно поиска «Найти и заменить».
  2. Функцией «Найти и выделить» («биноклем») в главном меню.

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

В программе Excel чаще всего применяются 2 фильтра:

  • Автофильтр;
  • фильтр по выделенному диапазону.

Автофильтр предлагает пользователю выбрать параметр фильтрации из готового списка.

  1. На вкладке «Данные» нажимаем кнопку «Фильтр».
  2. После нажатия в шапке таблицы появляются стрелки вниз. Они сигнализируют о включении «Автофильтра».
  3. Чтобы выбрать значение фильтра, щелкаем по стрелке нужного столбца. В раскрывающемся списке появляется все содержимое поля. Если хотим спрятать какие-то элементы, сбрасываем птички напротив их.
  4. Жмем «ОК». В примере мы скроем клиентов, с которыми заключали договоры в прошлом и текущем году.
  5. Чтобы задать условие для фильтрации поля типа «больше», «меньше», «равно» и т.п. числа, в списке фильтра нужно выбрать команду «Числовые фильтры».
  6. Если мы хотим видеть в таблице клиентов, с которыми заключили договор на 3 и более лет, вводим соответствующие значения в меню пользовательского автофильтра.

Готово!

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

  1. Выделяем те данные, информация о которых должна остаться в базе видной. В нашем случае находим в столбце страна – «РБ». Щелкаем по ячейке правой кнопкой мыши.
  2. Выполняем последовательно команду: «фильтр – фильтр по значению выделенной ячейки». Готово.

Если в БД содержится финансовая информация, можно найти сумму по разным параметрам:

  • сумма (суммировать данные);
  • счет (подсчитать число ячеек с числовыми данными);
  • среднее значение (подсчитать среднее арифметическое);
  • максимальные и минимальные значения в выделенном диапазоне;
  • произведение (результат умножения данных);
  • стандартное отклонение и дисперсия по выборке.

Порядок работы с финансовой информацией в БД:

  1. Выделить диапазон БД. Переходим на вкладку «Данные» — «Промежуточные итоги».
  2. В открывшемся диалоге выбираем параметры вычислений.

Инструменты на вкладке «Данные» позволяют сегментировать БД. Сгруппировать информацию с точки зрения актуальности для целей фирмы. Выделение групп покупателей услуг и товаров поможет маркетинговому продвижению продукта.

Готовые образцы шаблонов для ведения клиентской базы по сегментам.

  1. Шаблон для менеджера, позволяющий контролировать результат обзвона клиентов. Скачать шаблон для клиентской базы Excel. Образец:
  2. Простейший шаблон.Клиентская база в Excel скачать бесплатно. Образец:

Шаблоны можно подстраивать «под себя», сокращать, расширять и редактировать.

Мало пользователей, да и начинающих программистов, которые знают о возможности Excel подключаться к внешним источникам, и в частности к SQL серверу, для загрузки данных из этих источников. Эта возможность достаточно полезна, поэтому сегодня мы займемся ее рассмотрением.

Функционал Excel получения данных из внешних источников значительно упростит выгрузку данных с SQL сервера, так как Вам не придется просить об этом программиста, к тому же данные попадают сразу в Excel. Для этого достаточно один раз настроить подключение и в случае необходимости получать данные в Excel из любых таблиц и представлений Views, из базы настроенной в источнике, естественно таких источников может быть много, например, если у Вас несколько баз данных.

Задача для получения данных в Excel

И для того чтобы более понятно рассмотреть данную возможность, мы это будем делать как обычно на примере. Другими словами допустим, что нам надо выгрузить данные, одной таблицы, из базы SQL сервера, средствами Excel, т.е. без помощи вспомогательных инструментов, таких как Management Studio SQL сервера.

Примечание! Все действия мы будем делать, используя Excel 2010. SQL сервер у нас будет MS Sql 2008.

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

Эти данные располагаются в таблице test_table базы test, их я получил с помощью простого SQL запроса select, который я выполнил в окне запросов Management Studio. И если Вы программист SQL сервера, то Вы можете выгрузить эти данные в Excel путем простого копирования (данные не большие), или используя средство импорта и экспорта MS Sql 2008. Но сейчас речь идет о том, чтобы простые пользователи могли выгружать эти данные.

Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

Настройка Excel для получения данных с SQL сервера

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

И первое что нам нужно сделать, это конечно открыть Excel 2010. Затем перейти на вкладку «Данные» и нажать на кнопку «Из других источников» и выбрать «С сервера SQL Server»

Затем у Вас откроется окно «Мастер подключения данных» в котором Вам необходимо, указать на каком сервере располагается база данных и вариант проверки подлинности. Вот именно это Вам придется узнать у администратора баз данных, а если Вы и есть администратор, то заполняйте поля и жмите «Далее».

Где,

  • Имя сервера – это адрес Вашего сервера, здесь можно указывать как ip адрес так и DNS имя, в моем случае сервер расположен на этом же компьютере поэтому я и указал localhost;
  • Учетные данные – т.е. это логин и пароль подключения к серверу, здесь возможно два варианта, первый это когда в сети Вашей организации развернута Active directory (Служба каталогов или домен), то в этом случае можно указать, что использовать те данные, под которыми Вы загрузили компьютер, т.е. доступы доменной учетки, и в этом случае никаких паролей здесь вводить не надо, единственное замечание что и на MSSql сервере должна стоять такая настройка по проверки подлинности. У меня именно так и настроено, поэтому я и выбрал этот пункт. А второй вариант, это когда администратор сам заводит учетные данные на SQL сервере и выдает их Вам, и в этом случае он должен их Вам предоставить.

Далее необходимо выбрать базу, к которой подключаться, в нашем примере это база test. Также это подключение можно настроить сразу на работу с определенной таблицей или представлением, список таблиц и представлений у Вас будет отображен, давайте мы сделаем именно так и настроем подключение сразу на нашу таблицу test_table. Если Вы не хотите этого, а хотите чтобы Вы подключались к базе и потом выбирали нужную таблицу, то не ставьте галочку напротив пункта «Подключаться к определенной таблице», а как я уже сказал, мы поставим эту галочку и жмем «Далее».

В следующем окне нам предложат задать имя файла подключения, название и описание, я например, написал вот так:

После того как Вы нажмете «Готово» у Вас откроется окно импорта этих данных, где можно указать в какие ячейки копировать данные, я например, по стандарту выгружу данные, начиная с первой ячейки, и жмем «ОК»:

В итоге у меня загрузятся из базы вот такие данные:

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

Вот собственно и все, как мне кажется все достаточно просто.

Таким способом получать данные в Excel из базы SQL сервера очень удобно и главное быстро, надеюсь, Вам пригодятся эти знания полученные в сегодняшнем уроке. Удачи!

18550 08.09.2016 Скачать пример

При упоминании баз данных (БД) первым делом, конечно, в голову приходят всякие умные слова типа SQL, Oracle, 1С или хотя бы Access. Безусловно, это очень мощные (и недешевые в большинстве своем) программы, способные автоматизировать работу большой и сложной компании с кучей данных. Беда в том, что иногда такая мощь просто не нужна. Ваш бизнес может быть небольшим и с относительно несложными бизнес-процессами, но автоматизировать его тоже хочется. Причем именно для маленьких компаний это, зачастую, вопрос выживания.

Для начала давайте сформулируем ТЗ. В большинстве случаев база данных для учета, например, классических продаж  должна уметь:

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

Со всем этим вполне может справиться 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) и выберите из выпадающих списков таблицы и названия столбцов, по которым они должны быть связаны:

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

Само-собой, аналогичным образом связываются и таблица Продажи с таблицей Клиенты по общему столбцу Клиент:

Теперь для анализа продаж и отслеживания динамики процесса, сформируем для примера какой-нибудь отчет с помощью сводной таблицы. Установите активную ячейку в таблицу Продажи и выберите на ленте вкладку Вставка — Сводная таблица (Insert — Pivot Table). В открывшемся окне Excel спросит нас про источник данных (т.е. таблицу Продажи) и место для выгрузки отчета (лучше на новый лист):

Жизненно важный момент состоит в том, что нужно обязательно включить флажок Добавить эти данные в модель данных (Add data to Data Model) в нижней части окна, чтобы Excel понял, что мы хотим строить отчет не только по текущей таблице, но и задействовать все связи.

После нажатия на ОК в правой половине окна появится панель Поля сводной таблицы, где нужно щелкнуть по ссылке Все, чтобы увидеть не только текущую, а сразу все «умные таблицы», которые есть в книге.А затем можно, как и в классической сводной таблице, просто перетащить мышью нужные нам поля из любых связанных таблиц в области Фильтра, Строк, Столбцов или Значений — и Excel моментально построит любой нужный нам отчет на листе:

Не забудьте, что сводную таблицу нужно периодически (при изменении исходных данных) обновлять, щелкнув по ней правой кнопкой мыши и выбрав команду Обновить (Refresh), т.к. автоматически она этого делать не умеет.

Также, выделив любую ячейку в сводной и нажав кнопку Сводная диаграмма (Pivot Chart) на вкладке Анализ (Analysis) или Параметры (Options) можно быстро визуализировать посчитанные в ней результаты.

Шаг 6. Заполняем печатные формы

Еще одной типовой задачей любой БД является автоматическое заполнение различных печатных бланков и форм (накладные, счета, акты и т.п.). Про один из способов это сделать, я уже как-то писал. Здесь же реализуем, для примера, заполнение формы по номеру счета:

Предполагается, что в ячейку C2 пользователь будет вводить число (номер строки в таблице Продажи, по сути), а затем нужные нам данные подтягиваются с помощью уже знакомой функции ВПР (VLOOKUP) и функции ИНДЕКС (INDEX).

Ссылки по теме

  • Как использовать функцию ВПР (VLOOKUP) для поиска и подстановки значений
  • Как заменить ВПР функциями ИНДЕКС и ПОИСКПОЗ
  • Автоматическое заполнение форм и бланков данными из таблицы
  • Создание отчетов с помощью сводных таблиц

За несколько лет интенсивной каждодневной рутины организация собирает огромную базу клиентов, пользующихся ее услугами с разной степенью активности. Заказчики, которые обращались в компанию всего несколько раз, всегда могут стать постоянными, если вести с ними активную работу и поддерживать контакт. Но как удержать в голове такое количество физических и юридических лиц, имеющих разные интересы и потребности? Решить задачу поможет функциональная база клиентов, созданная в Excel. Инструменты crm в excel используются давно, причём довольно успешно. Этот вариант для организации бесплатный, но разбираться с системой придётся самостоятельно.

Crm в excel

Программа Excel способна создавать сложные базы данных и частично заменять собой современные системы CRM. Благодаря простоте, удобству, Excel значительно сокращает время на обработку данных, помогает компании или физическому лицу более эффективно работать со своими заказчиками. При этом тратить серьёзные деньги на подписку профессиональной CRM совершенно необязательно.

База данных в excel простой вариант

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

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

  • номер заказчика по порядку для понимания их общего количества;
  • имя клиента – здесь упоминается ФИО или наименование компании;
  • номер телефона;
  • прочие контактные  данные;
  • что заказывает клиент – услуга подбирается из выпадающего списка;
  • примечания – здесь можно указать некоторые индивидуальные особенности взаимодействия с клиентом в свободной форме;
  • дата первого заказа – информация даст понять, насколько долго ведётся работа с конкретным заказчиком;
  • дата последнего заказа – параметр поможет отследить последнюю продажу, выявить клиентов, которые давно не делали заказов.

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

image

Каждый раз в таблицу нужно добавлять тех клиентов, кто хотя бы единожды сделал заказ. Просто интересующиеся заказчики ещё не являются клиентами компании. Также стоит определиться с периодом, по истечении которого нужно напоминать о себе клиентам. Например, раз в три месяца выходить на связь с клиентом, давно ничего не заказывающим, предложить ему индивидуальные выгодные условия. Чаще обращаться к клиенту не нужно, в противном случае заказчик посчитает назойливым повышенное внимание к себе.

Также по графе «последние заказы» выявить спад спроса на услуги и объявить о снижении цен или придумать интересную акцию. Графа «примечания» повысит эффективность взаимодействия с покупателем. Если некоторые клиенты заинтересованы в дополнительном обслуживании, то важно об этом не забыть, чтобы сохранить их лояльность.

База данных в excel: расширенный вариант

Расширенный функционал базы данных включает дополнительные столбцы в таблице excel со сведениями о заказах и клиентах. Помимо перечисленных выше, это могут быть:

  • каналы привлечения: источники, откуда пришёл тот или иной клиент;
  • клиентский статус: он может быть активным или пассивным, если заказов не было в течении 3-6 месяцев.

В таблицу Excel также есть возможность добавить функциональный столбец «напомнить о себе». Если заданный периодзавершился, а заказчик так и не проявил себя, ячейка в столбце загорится красным цветом. Если клиент ничего не отвечает после индивидуального предложения, его статус можно поменять на пассивный и система больше не будет делать о нём напоминаний.

Создание базы данных в excel: пошаговая инструкция

Для корректной работы с базами данных лучше Эксель скачать лицензионный. Программа обладает полным набором инструментов, позволяющих заменить типичные CRM-системы.

Чтобы создать функциональную базу данных, следуйте пошаговой инструкции:

  1. Откройте документ, впишите заголовки столбцов.
  2. Дайте наименования строкам.
  3. Начинайте заполнение базы данных.
  4. Отформатируйте информацию для своего удобства: измените шрифт, добавьте границы, заливку или что-то другое на своё усмотрение.
  5. Перейдите во вкладку «данные» в верхней панели документа.
  6. Выделите диапазон таблицы с заполненными ячейками.
  7. Вызовите контекстное меню, активируйте команду «присвоить имя».
  8. Графа «Имя» – укажите название БД.
  9. Графа «Диапазон» – можно поменять адрес области ячеек Excel, если он был выделен неправильно.

Такой базой данных уже можно пользоваться, но чтобы использовать ещё более широкий функционал, следует добавить несколько функций. Например, можно включить функции сортировки и фильтрации. Для этого нужно кликнуть по клавише «Сортировка», расположенной во вкладке «Данные». Сортировка реализуется по одному из трёх параметров: дате, числу или алфавиту. Выбрать нужные параметры можно через настройки сортировки. Кнопка «фильтр» убирает или возвращает необходимые данные в базу. Инструменты Эксель также позволяют осуществлять поиск, закреплять определённые области, создавать выпадающие списки и многое другое.

Резюме

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий