Как создать конфигурацию в excel

Уровень сложности
Средний

Время на прочтение
8 мин

Количество просмотров 4.5K

Изображение отсюда: https://www.freepik.com/free-vector/settings-concept-illustration_9793179.htm#query=settings&position=2&from_view=search

Изображение отсюда: https://www.freepik.com/free-vector/settings-concept-illustration_9793179.htm#query=settings&position=2&from_view=search

Я часто пользуюсь конфигурацией при написании VBA макросов в Excel. Иногда она нужна в формах для сохранения настроек, иногда для сохранения каких-то получаемых в процессе выполнения макроса данных.

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

Сегодня я хотел бы пошагово рассказать о том как я храню и обрабатываю конфигурацию макроса в книге Excel.

Создаем лист ConfigSheet

У меня под рукой был Excel 2010, но в данном случае версия не имеет значения.

Для начала создаем отдельный лист. Я назвал его config, но это не принципиально. Что же действительно принципиально, так это CodeName листа:

CodeName листа

CodeName листа

Если вы вдруг не знали, листы документа Excel в VBA – это, ни что иное, как объект класса Worksheet. Обращаемся к справке и видим у объекта Worksheet необходимое свойство (перезаписать его программно, несмотря на Read-only, можно, но об этом в другой раз):

Чтобы было проще обращаться к нашему Config листу, меняем ему значение поля (Name) в свойствах (если у вас их нет, нажмите F4 или View -> Properties Window, а если у вас нет структуры с проектом, нажмите Ctrl+R или View -> Project Explorer).

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

Вызываем автокомплит с помощью Ctrl+Space

Вызываем автокомплит с помощью Ctrl+Space

Кстати, так как лист – это объект, мы можем обращаться так же к его методам, полям и свойствам через точку, как обычно:

Вызываем методы и свойства

Вызываем методы и свойства

Этим мы и воспользуемся, но об этом чуть позже.

Создаем ListObject

Итак, как вы уже догадались, всю информацию мы будем сохранять в таблицу, а именно в объект ListObject.
Для этого на нашем листе создаем пустую таблицу с двумя столбцами Key и Value:

создаем таблицу

создаем таблицу

Теперь осталось в Конструкторе задать нашей таблице имя, и основа для хранения готова:

Получаем объект таблицы

Переходим к самому интересному. Писать код будем в модуле листа ConfigSheet.
Для начала создадим необходимые гетеры:

Public Property Get Table() As ListObject
    ' Свойство Read-Only для объекта таблицы.
    Set Table = Me.ListObjects("configTable")
End Property

Public Property Get Keys() As Range
    ' Свойство Read-Only для столбца ключей.
    Set Keys = Me.Table.ListColumns(KeyColumn).DataBodyRange
End Property

Public Property Get Values() As Range
    ' Свойство Read-Only для столбца значений.
    Set Values = Me.Table.ListColumns(ValueColumn).DataBodyRange
End Property

В свойство Table помещаем нашу таблицу, в Keys – столбец ключей, в Values – столбец значений.

Для удобства обращения к столбцам (и чтобы не хардкодить), прописываем Enum на уровне модуля:

Private Enum EConfigColumns
    KeyColumn = 1
    ValueColumn
End Enum

Сказал «не хардкодить» и захардкодил название таблицы 😀. Исправляюсь:

Option Explicit

Private Enum EConfigColumns
    KeyColumn = 1
    ValueColumn
End Enum

Private Const ConfigTable As String = "configTable"

Прописываем свойство Get Config

Осталось создать свойство Config, через которое будем записывать, получать и обновлять значения в таблице.

Для начала прописываем получение значения по ключу:

Public Property Get Config(ByVal Key As Variant) As Variant
    Dim i As Long
    For i = 1 To Me.Keys.Rows.Count
        If Key <> Me.Keys(i).Value Then GoTo NextKey
        Config = Me.Values(i).Value: Exit Property
NextKey:
    Next
End Property

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

Так как мы работаем напрямую с объектом Range, это уже несколько замедляет работу макроса. Плюс ко всему, во время цикла макрос будет постоянно вызывать свойства Keys и Values чтобы получить их значения, что еще сильнее замедлит скорость выполнения.

Чтобы немного ускорить процесс и избежать постоянное обращение, можно создать переменные и передавать в них свойства:

Public Property Get Config(ByVal Key As Variant) As Variant
' Переменные, для хранения свойств.
    Dim Keys   As Range: Set Keys = Me.Keys
    Dim Values As Range: Set Values = Me.Values

    Dim i As Long
    For i = 1 To Me.Keys.Rows.Count
        If Key <> Me.Keys(i).Value Then GoTo NextKey
        Config = Me.Values(i).Value: Exit Property
NextKey:
    Next
End Property

Но это несколько загромождает код (а ведь у нас еще будет свойство Let), поэтому воспользуемся UDT (user defined type) и процедурой, которая будет его инициализировать.

Создаем тип TConfig в который помещаем все наши ранее созданные свойства (кроме, собственно, Config), а так же создаем приватную переменную This на уровне модуля:

Option Explicit

Private Enum EConfigColumns
    KeyColumn = 1
    ValueColumn
End Enum

Private Const ConfigTable As String = "configTable"

Private Type TConfig
    Table  As ListObject
    Keys   As Range
    Values As Range
End Type

Private This As TConfig

Очень важно чтобы и Type TConfig и переменная This были приватными, иначе на этапе компиляции возникнет ошибка.

Далее, прописываем небольшую процедуру InitThis, для присваивания значений нашему типу:

Public Sub InitThis()
    Set This.Table = Me.Table
    Set This.Keys = Me.Keys
    Set This.Values = Me.Values
End Sub

Теперь поправим свойство Config:

Public Property Get Config(ByVal Key As Variant) As Variant
    Me.InitThis
  
    Dim i As Long
    For i = 1 To This.Keys.Rows.Count
        If Key <> This.Keys(i).Value Then GoTo NextKey
        Config = This.Values(i).Value: Exit Property
NextKey:
    Next
End Property

Лаконично, не так ли?

Прописываем свойство Let Config

С установлением значений чуть иначе:

Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
    Me.InitThis
    If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis

    Dim i As Long
    Do Until Key = This.Keys(i).Value
         i = i + 1
         If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
    Loop

    This.Keys(i).Value = Key
    This.Values(i).Value = RHS
End Property

В параметры принимаем Key и RHS (Right Hand Side – по правую руку), для того чтобы можно было прописывать такую конструкцию:

ConfigSheet.Config("Key") = "Value"

В самом начале проверяем This.Keys на Nothing, т.к. если в таблице еще совсем нет значений, при попытке пробежаться циклом по столбцам выскочит ошибка.
Чтобы этого избежать, после проверки добавляем в таблицу пустую строку и заново инициализировать This. Только после этого можно будет свободно проходить по столбцам циклом.
Подобную проверку добавляем и в Get, но вместо добавления строки просто возвращаем сообщение «Нет данных в таблице конфигурации»:

Public Property Get Config(ByVal Key As Variant) As Variant
    Me.InitThis
    If This.Keys Is Nothing Then Config = "Нет данных в таблице конфигурации": Exit Property

    Dim i As Long
    For i = 1 To This.Keys.Rows.Count
        If Key <> This.Keys(i).Value Then GoTo NextKey
        Config = This.Values(i).Value: Exit Property
NextKey:
    Next
End Property

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

Удаляем пустые строки

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

Public Sub DeleteEmptyRows()
    Me.InitThis
     
    Dim i As Long
    For i = This.Keys.Count To 1 Step -1
         If (IsEmpty(This.Keys(i).Value) And IsEmpty(This.Values(i).Value)) _
         Or (This.Keys(i).Value = vbNullString And This.Values(i).Value = vbNullString) Then This.Table.ListRows(i).Delete
    Next
End Sub

и добавим ее в уже написанную Let часть:

Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
    Me.InitThis
    If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis
     
    Dim i As Long
    Do Until Key = This.Keys(i).Value
         i = i + 1
         If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
    Loop
     
    This.Keys(i).Value = Key
    This.Values(i).Value = RHS
    Me.DeleteEmptyRows ' Проверяем на пустые строки.
End Property

Итоговый код

Исправил запись в Property Get Config, спасибо за наводку @qyix7z.

Option Explicit

Private Enum EConfigColumns
    KeyColumn = 1
    ValueColumn
End Enum

Private Const ConfigTable As String = "configTable"

Private Type TConfig
    Table  As ListObject
    Keys   As Range
    Values As Range
End Type

Private This As TConfig

Public Sub InitThis()
    Set This.Table = Me.Table
    Set This.Keys = Me.Keys
    Set This.Values = Me.Values
End Sub

Public Property Get Table() As ListObject
    ' Свойство Read-Only для объекта таблицы.
    Set Table = Me.ListObjects(ConfigTable)
End Property

Public Property Get Keys() As Range
    ' Свойство Read-Only для столбца ключей.
    Set Keys = Me.Table.ListColumns(KeyColumn).DataBodyRange
End Property

Public Property Get Values() As Range
    ' Свойство Read-Only для столбца значений.
    Set Values = Me.Table.ListColumns(ValueColumn).DataBodyRange
End Property

Public Property Get Config(ByVal Key As Variant) As Variant
    Me.InitThis
    If This.Keys Is Nothing Then Config = "Нет данных в таблице конфигурации": Exit Property

    Dim i As Long
    For i = 1 To This.Keys.Rows.Count
        If Key = This.Keys(i).Value Then Config = This.Values(i).Value: Exit Property
    Next
End Property

Public Property Let Config(ByVal Key As Variant, ByVal RHS As Variant)
    Me.InitThis
    If This.Keys Is Nothing Then This.Table.ListRows.Add: Me.InitThis

    Dim i As Long
    Do Until Key = This.Keys(i).Value
         i = i + 1
         If i > This.Keys.Rows.Count Then This.Table.ListRows.Add: Exit Do
    Loop

    This.Keys(i).Value = Key
    This.Values(i).Value = RHS
    Me.DeleteEmptyRows ' Проверяем на пустые строки.
End Property

Public Sub DeleteEmptyRows()
    Me.InitThis

    Dim i As Long
    For i = This.Keys.Count To 1 Step -1
         If (IsEmpty(This.Keys(i).Value) And IsEmpty(This.Values(i).Value)) _
         Or (This.Keys(i).Value = vbNullString And This.Values(i).Value = vbNullString) Then This.Table.ListRows(i).Delete
    Next
End Sub

Проверяем результат

Ну и наконец проверяем получившийся результат.

Записываем значение в конфиг:

Sub Test()
    ' Значение "Дневник VBAшника" записано в таблицу с ключом "ChanelName"
    ConfigSheet.Config("ChanelName") = "Дневник VBAшника"
End Sub

Считываем значение:

Sub Test()
    ' Распечатает: "Дневник VBAшника"
    Debug.Print ConfigSheet.Config("ChanelName")
End Sub

Меняем и считываем еще раз:

Sub Test()
    ConfigSheet.Config("ChanelName") = "https://t.me/VBAn_Diary"
    ' Распечатает: "https://t.me/VBAn_Diary"
    Debug.Print ConfigSheet.Config("ChanelName")
End Sub

Ну а дальше этот лист можно спрятать от глаз пользователей, защитить книгу и структуру, и спокойно работать с конфигом.

Уверен, что можно изменить подход и написать код иначе. Возможно у вас есть предложения или дополнения по статье. Буду рад любому отзыву. 🙂

Рекомендованные сообщения


alchemicusursus

alchemicusursus

0


    • Жалоба
    • Рассказать

Здравствуйте. Solidworks занимаюсь около года. Вопрос связан с конфигурациями. Создав деталь мы создаем таблицу в exel для создания конфигураций и можем сохранять ее в отдельный файл. Создав сборку с конфигурациями мы подгружаем детали с нужными нам конфигурациями и тоже конфигурации можем сохранить в exel таблице. Вопрос в следующем, можно ли подгружать разные детали и разные сборки с одного exel файла, при этом на каждом листе exel будет находится деталь или сборка?

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


SERoz

SERoz

199


    • Жалоба
    • Рассказать

Вопрос в следующем, можно ли подгружать разные детали и разные сборки с одного exel файла, при этом на каждом листе exel будет находится деталь или сборка?

Если Вы придумаете, как загружать отдельные строки или ячейки — то да…

А так, грузится весь файл, т.е. вся таблица…

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Атан

Атан

458


    • Жалоба
    • Рассказать

alchemicusursus

Мне не совсем понятно, что Вы хотите.

Покажите скрин с желаемой таблицей, ну и дополнительными пояснениями….

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


alchemicusursus

alchemicusursus

0


  • Автор
    • Жалоба
    • Рассказать

Идея заключается в следующем, я создаю сборку финальную с конфигурациями, все параметры которые записаны в exel таблице в формульном виде — лист 1. Лист 2 — подсборка со своими конфигурациями. Лист 3 — деталь из подсборка со своими конфигурациями. Например чтобы создать новую конфигурацию сборки, я захожу в exel файл создаю строчку на листе 1 со всеми размерами конфигурации, на 2 листе строчка создается автоматически перестраиваясь по размерам первого листа и так далее. В итоге создается новая конфигурация сборки с подсборками и деталями, изменив только пару размеров на первом листе exel. Если есть какие- либо идеи по поводу реализации этой идеи, предложить! (Только не хотелось бы создавать exel файл к каждой детали и сборки, и прогружать каждый файл по отдельности — это очень долго)

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Атан

Атан

458


    • Жалоба
    • Рассказать

Идея заключается в следующем…

Вы ещё не разобрались в конфигурациях, а уже идеи генерируете.

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

Но если это рассматривать с точи зрения exel (SW не при делах), то это другая песня. Может быть и можно.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


SERoz

SERoz

199


    • Жалоба
    • Рассказать

Если есть какие- либо идеи по поводу реализации этой идеи, предложить!

Прикольная команда :no_1:

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

Иными словами — Вам всё-одно придётся делать нужное число конфигов (или в модели, или в таблице экселя)…

А вот менять размеры можно будет уже и автоматом во всех (и в главное сборке, и подсборках)…

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


alchemicusursus

alchemicusursus

0


  • Автор
    • Жалоба
    • Рассказать

Если есть какие- либо идеи по поводу реализации этой идеи, предложить!

Прикольная команда :no_1:

Ну опечатка произошла, с кем не бывает)

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

Но мне нужно что бы один и тот же exсel файл участвовал во всех деталях и сборках. В sw есть функция «таблица параметров» загрузить из файла, но при загрузке он всегда прогружает 1 лист excel. А например если этот же excel файл загружать в другую деталь, но только что бы sw считывал 2 лист.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Атан

Атан

458


    • Жалоба
    • Рассказать

Форму в exel забить проще…чем создавать каждую конфигурацию в отдельности в sw.

Основной смысл конфигурации не в создании (в данном случае), а в активации — только из SW (а не из exel).

Из exel Вы сможете менять только саму конфигурацию. Это значит, что в сборке нельзя иметь две одноимённые детали с разной геометрией (с разной конфигурацией). То есть теряется сама суть конфигурации SW.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


peshkoff

peshkoff

14


    • Жалоба
    • Рассказать

Можно попробовать сделать так:

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

Но тогда файлы надо обновлять. Геморою будет…..

Второй вариант зашить уравнения в деталях и сборках в солиде.

Если размеры считаются автоматом по формулам, эти формулы можно вбить в детали.

Но все равно геморрой.

(вообще любое объединение с кучей формул да еще и в комбинациях сборка/деталь — глючное дело)

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Kelny

Kelny

1 069


    • Жалоба
    • Рассказать

(вообще любое объединение с кучей формул да еще и в комбинациях сборка/деталь — глючное дело)

Любую задачу нужно решать в зависимости от поставленных целей. Иногда цель: один файл. Иногда: много файлов. А иногда одна заготовка, что бы из неё с помощью программы/макроса получить конечную деталь. Как например на сайте Samtec, модель можно получить по заданным параметрам в необходимой версии (для потребителя, на мой скромный взгляд, должен быть такой способ получения моделей от производителя как наиболее универсальный): http://www.samtec.com/build-a-part/BuildPart.aspx?series=TFM&viewmodel=true

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


VOleg

VOleg

205


    • Жалоба
    • Рассказать

Но мне нужно что бы один и тот же exсel файл участвовал во всех деталях и сборках. В sw есть функция «таблица параметров» загрузить из файла, но при загрузке он всегда прогружает 1 лист excel. А например если этот же excel файл загружать в другую деталь, но только что бы sw считывал 2 лист.

В экселе есть понятие «перекрестные таблицы». Почитайте, может помогут.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже.

Если у вас есть аккаунт, войдите в него для написания от своего имени.

Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Базы данных (БД) — набор упорядоченной информации, которая хранится в одном месте. Их создают, чтобы быстро находить, систематизировать и редактировать нужные данные, а при необходимости собирать их в отчёт или показывать в виде диаграммы.

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

В статье разберёмся:

  • как выглядит база данных в Excel;
  • как её создать и настроить;
  • как работать с готовой базой данных в Excel — фильтровать, сортировать и искать записи.

База данных в Excel — таблица с информацией. Она состоит из однотипных строк — записей базы данных. Записи распределены по столбцам — полям базы данных.

Пример базы данных по продажам автомобилей в Excel
Скриншот: Excel / Skillbox Media

Названия полей — шапка таблицы — определяют структуру базы данных. Они показывают, какую информацию содержит база. В примере выше это имя менеджера автосалона, дата продажи, модель и характеристики автомобиля, который он продал.

Каждая запись — строка таблицы — относится к одному объекту базы данных и содержит информацию о нём. В нашем примере записи характеризуют продажи, совершённые менеджерами автосалона.

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

Если в базе данных есть промежуточные пустые строки, ей нельзя управлять как единым объектом
Скриншот: Excel / Skillbox Media

Разберём пошагово, как создать базу данных из примера выше и управлять ей.


Создаём структуру базы данных

Выше мы определили, что структуру базы данных определяют названия полей (шапка таблицы).

Задача для нашего примера — создать базу данных, в которой будут храниться все данные о продажах автомобилей менеджерами автосалона. Каждая запись базы — одна продажа, поэтому названия полей БД будут такими:

  • «Менеджер»;
  • «Дата продажи»;
  • «Марка, модель»;
  • «Цвет»;
  • «Год выпуска»;
  • «Объём двигателя, л»;
  • «Цена, руб.».

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

Вводим названия полей базы данных и форматируем их
Скриншот: Excel / Skillbox Media

Создаём записи базы данных

В нашем примере запись базы данных — одна продажа. Перенесём в таблицу всю имеющуюся информацию о продажах.

При заполнении ячеек с записями важно придерживаться одного стиля написания. Например, Ф. И. О. менеджеров во всех строках вводить в виде «Иванов И. И.». Если где-то написать «Иван Иванов», то дальше в работе с БД будут возникать ошибки.

Переносим в базу данных информацию о продажах
Скриншот: Excel / Skillbox Media

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

В нашем примере данные в столбцах A, C и D должны быть в текстовом формате. Данные столбца B должны быть в формате даты — его Excel определил и присвоил автоматически. Данные столбцов E, F — в числовом формате, столбца G — в финансовом.

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

Меняем формат ячеек
Скриншот: Excel / Skillbox Media

В появившемся меню выберем нужный формат и настроим его. В нашем примере для ячейки «Цена, руб.» выберем финансовый формат, уберём десятичные знаки (знаки после запятой) и выключим отображение символа ₽.

Настраиваем формат ячеек
Скриншот: Excel / Skillbox Media

Также изменить формат можно на панели вкладки «Главная».

Изменить формат можно с помощью главной панели Excel
Скриншот: Excel / Skillbox Media

Присваиваем базе данных имя

Для этого выделим все поля и записи базы данных, включая шапку. Нажмём правой кнопкой мыши и выберем «Имя диапазона».

Создаём название базы данных
Скриншот: Excel / Skillbox Media

В появившемся окне вводим имя базы данных без пробелов.

Вводим имя базы данных
Скриншот: Excel / Skillbox Media

Готово — мы внесли в базу данных информацию о продажах и отформатировали её. В следующем разделе разберёмся, как с ней работать.

База данных в Excel
Скриншот: Excel / Skillbox Media

Сейчас в созданной базе данных все записи расположены хаотично — не упорядочены ни по датам, ни по фамилиям менеджеров. Разберёмся, как привести БД в более удобный для работы вид. Все необходимые для этого функции расположены на вкладке «Данные».

На вкладке «Данные» расположены все необходимые инструменты для работы с БД в Excel
Скриншот: Excel / Skillbox Media

Для начала добавим фильтры. Это инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент.

Подробнее о фильтрах в Excel говорили в этой статье Skillbox Media.

Выберем любую ячейку из базы данных и на вкладке «Данные» нажмём кнопку «Фильтры».

Устанавливаем фильтрацию в БД
Скриншот: Excel / Skillbox Media

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

Предположим, нужно показать только сделки менеджера Тригубова М. — нажмём на стрелку поля «Менеджер» и оставим галочку только напротив него. Затем нажмём «Применить фильтр».

Выбираем менеджера, данные о сделках которого нужно показать
Скриншот: Excel / Skillbox Media

Готово — в базе отражены данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация. Чтобы её снять, нужно нажать на этот дополнительный значок и выбрать «Очистить фильтр».

Результат фильтрации — в БД показаны продажи только одного менеджера
Скриншот: Excel / Skillbox Media

Записи БД можно фильтровать по нескольким параметрам одновременно. Для примера покажем среди продаж Тригубова М. только автомобили дешевле 2 млн рублей.

Для этого в уже отфильтрованной таблице откроем меню фильтра для столбца «Цена, руб.» и нажмём на параметр «Выберите». В появившемся меню выберем параметр «Меньше».

Фильтруем БД по второму критерию — авто дешевле 2 млн рублей
Скриншот: Excel / Skillbox Media

Затем в появившемся окне дополним условие фильтрации — в нашем случае «Меньше 2000000» — и нажмём «Применить фильтр».

Дополняем условие фильтрации
Скриншот: Excel / Skillbox Media

Готово — фильтрация сработала по двум параметрам. Теперь БД показывает только те проданные менеджером авто, цена которых ниже 2 млн рублей.

Результат фильтрации по двум параметрам
Скриншот: Excel / Skillbox Media

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

Сортировка — инструмент, с помощью которого данные в БД организовывают в необходимом порядке. Их можно сортировать по алфавиту, по возрастанию и убыванию чисел, по дате.

Для примера отсортируем сделки выбранного менеджера в хронологическом порядке — по датам. Для этого выделим любую ячейку в поле «Дата продажи» и нажмём кнопку «Сортировка».

Делаем сортировку по дате в БД
Скриншот: Excel / Skillbox Media

В появившемся окне выберем параметр сортировки «От старых к новым» и нажмём «ОК».

Настраиваем сортировку БД
Скриншот: Excel / Skillbox Media

Готово — теперь все сделки менеджера даны в хронологическом порядке.

Результат сортировки по датам продаж
Скриншот: Excel / Skillbox Media

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

Другой способ сортировки по дате в БД
Скриншот: Excel / Skillbox Media

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

Подробнее о пользовательской сортировке в Excel говорили в этой статье Skillbox Media.

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

Предположим, нужно найти в БД автомобиль стоимостью 14 млн рублей. Перейдём на вкладку «Главная» и нажмём на кнопку «Найти и выделить». Также быстрый поиск можно задавать с любой вкладки Excel — через значок лупы в правом верхнем углу экрана.

Нажимаем сюда, чтобы найти нужное значение в БД
Скриншот: Excel / Skillbox Media

В появившемся окне введём значение, которое нужно найти, — 14000000 — и нажмём «Найти далее».

Задаём параметр поиска
Скриншот: Excel / Skillbox Media

Готово — Excel нашёл ячейку с заданным значением и выделил её.

Результат поиска в БД Excel
Скриншот: Excel / Skillbox Media
  • В этой статье Skillbox Media собрали в одном месте 15 статей и видео об инструментах Excel, которые ускорят и упростят работу с электронными таблицами.
  • Также в Skillbox есть курс «Excel + Google Таблицы с нуля до PRO». Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.
  • Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива «Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня». Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.

Другие материалы Skillbox Media по Excel

  • Как сделать сортировку в Excel: детальная инструкция со скриншотами
  • Как установить фильтр и расширенный фильтр в Excel: детальные инструкции со скриншотами
  • Как сделать ВПР в Excel: пошаговая инструкция со скриншотами
  • Основы Excel: работаем с выпадающим списком. Пошаговая инструкция со скриншотами
  • Основы Excel: как использовать функцию ЕСЛИ
  • Как сделать сводные таблицы в Excel: пошаговая инструкция со скриншотами

Построение графика в Microsoft Excel

Как сделать график в Excel

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

Любой юзер, желая наиболее наглядно показать какую-то числовую информацию в виде динамики, может сделать график. Этот процесс несложен и предполагает наличие таблицы, которая будет употребляться за базу. По собственному усмотрению объект можно модифицировать, чтоб он лучше смотрелся и отвечал всем требованиям. Разберем, как создавать разные виды графиков в Эксель.

Построение обыденного графика

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

  1. Находясь на вкладке «Вставка», выделяем табличную область, где размещены расчетные данные, которые мы хотим созидать в графике. Потом на ленте в блоке инструментов «Диаграммы» кликаем по кнопочке «График».
  2. Опосля этого раскрывается перечень, в котором представлено семь видов графиков:
    • Обыденный;
    • С скоплением;
    • Нормированный с скоплением;
    • С маркерами;
    • С маркерами и скоплением;
    • Нормированный с маркерами и скоплением;
    • Большой.

Создание графика в Microsoft Excel

Редактирование графика

Опосля построения графика можно выполнить его редактирование для придания объекту наиболее представительного вида и облегчения осознания материала, который он показывает.

    Чтоб подписать график, перебегаем на вкладку «Макет» мастера работы с диаграммами. Кликаем по кнопочке на ленте с наименованием «Заглавие диаграммы». В открывшемся перечне указываем, где будет располагаться имя: по центру либо над графиком. 2-ой вариант обычно наиболее уместен, потому мы в качестве примера используем «Над диаграммой». В итоге возникает заглавие, которое можно поменять либо отредактировать на свое усмотрение, просто нажав по нему и введя нужные знаки с клавиатуры.

Название графика в Microsoft Excel

Создание наименование горизонтальной оси в Microsoft Excel

Название горизонтальной оси в Microsoft Excel

Создание наименование оси в Microsoft Excel

Наименование оси в Microsoft Excel

Построение графика со вспомогательной осью

Есть случаи, когда необходимо расположить несколько графиков на одной плоскости. Если они имеют однообразные меры исчисления, то это делается буквально так же, как описано выше. Но что созодать, если меры различные?

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

Построение двух графиков в Microsoft Excel

Переход в формат ряда данных в Microsoft Excel

Параметры ряда в Microsoft Excel

Двойной график в Microsoft Excel

Построение графика функции

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

    Допустим, мы имеем функцию Y=X^2-2 . Шаг будет равен 2. До этого всего построим таблицу. В левой части заполняем значения X с шагом 2, другими словами 2, 4, 6, 8, 10 и т.д. В правой части вбиваем формулу.

Построение таблицы в Microsoft Excel

Таблица в Microsoft Excel

Построение точечной диаграммы в Microsoft Excel

График функции создан в Microsoft Excel

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

Мы рады, что смогли посодействовать Для вас в решении препядствия.

Кроме данной статьи, на веб-сайте еще 12327 инструкций.
Добавьте веб-сайт Lumpics.ru в закладки (CTRL+D) и мы буквально еще пригодимся для вас.

Отблагодарите создателя, поделитесь статьей в соц сетях.

Опишите, что у вас не вышло. Наши спецы постараются ответить очень стремительно.

Как выстроить график в Excel. Описание и примеры.

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

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

Как построить график в Excel. Описание и примеры.

Как выстроить график в Excel.

За ранее избираем спектр ячеек, на базе которых мы будем строить наш график. В нашем примере, в графике, мы отразим помесячно динамику продаж офисных стульев. На графике будет видно сколько стульев продано в любом из 12 месяцев года. Так же график отразит зависимость межу определенных месяцем и количеством проданных офисных стульев. Соответственно в таблице нам необходимо выделить спектр ячеек с месяцами (В3:В14) и спектр ячеек с количеством продаж офисных стульев (С3:С14).

Как построить график в Excel. Описание и примеры.

Дальше, в закладке Вставка, находим клавишу Вставить график либо диаграмму с областями.

Как построить график в Excel. Описание и примеры.

Жмем на нее и избираем подходящий нам тип графика — График.

Как построить график в Excel.

Excel выстроил график на базе выделенного нами спектра ячеек в начальной таблице.

Как построить график в Excel. Описание и примеры.

Настройка графика в Excel.

Сейчас выполним некие опции нашего графика.

Заглавие графика.

Настройка графика в Excel

Добавить заглавие графика весьма просто. Довольно левой клавишей мыши пару раз кликнуть в поле графика, которое именуется «Заглавие диаграммы». Данное поле находится в области диаграммы сходу. Назовем наш график: Результаты продаж офисных стульев.

Опосля того, как ввили необходимое заглавие, просто нажимаете в всякую другую область диаграммы.

Заглавие осей.

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

Если надавить на всякую область диаграммы, показаться два элемента управления опциями. Конструктор и Формат в закладка, и три иконки в правом верхнем углу области диаграммы.

Название осей

Нажмем на иконку Элементы диаграммы. Показаться меню. В нем ставим галочку напротив пт Наименования осей. Показаться возможность отдать заглавие обоим осям (горизонтальной и вертикальной). Справа от пт Наименования осей есть стрелочка. Если надавить на нее, раскрывается доп меню, в котором можно избрать определенную ось и именовать лишь ее.

Название осей

Опосля того, как мы поставили галочку напротив пт Наименования осей, у нас возникли поля, в которые мы можем ввести наименования. Назовем вертикальную ось — Реализации офисных стульев. шт., а горизонтальную ось — Месяца. Дважды кликаем по полю Заглавие оси и у нас возникает возможность вводить в нее текст.

Настройка графика в Excel

Можно переместить заглавие оси наведя курсор мыши на рамку поля Заглавие оси.

Можно поменять направление текста в заглавиях осей и заглавии самой диаграммы. Для этого жмем правой клавишей мыши в любом месте диаграммы. Раскроется контекстное меню в котором избираем Формат области диаграммы.

Настройка графика в Excel

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

Настройка графика в Excel

Метки данных.

В Элементах диаграммы, также есть пункт Метки данных. Если поставить галочку напротив этого пт, на кривой графика отобразятся значения, на базе которых он конкретно построен. В нашем примере, это будут реализации офисных стульев в штуках, над надлежащими месяцами.

Метки данных

Если надавить на стрелочку справа от пт Метка данных, покажется доп меню, в котором можно будет настроить отображение данных на графике, согласно предложенных вариантов.

Стиль и цвет диаграммы.

В пт опций Стили диаграммы можно настроить наружный вид диаграммы. Для этого в пт Стиль есть готовые эталоны. А в пт Цвет можно избрать цвет графика. Также, при изменение цвета в пт Цвет, будут изменяться цвета готовых образцов в пт Стиль.

Как выстроить график в excel по данным таблицы

Неважно какая информация лучше воспринимается в графическом отображении, когда данные наглядны и понятны. Одним из примеров таковых объектов являются таблицы, рисунки, диаграммы. Microsoft Office Excel владеет широкими способностями представления инфы и сейчас в статье поведаем, как выстроить график в excel.

Обычная диаграмма

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

Шаг 1. Делаете таблицу. К примеру, изменение зарплаты по месяцам.

Шаг 1

Шаг 2. На панели управления перебегайте во вкладку Вставка и ищете клавишу График.

Шаг 2

Шаг 3. Из выпадающего перечня выбираете хоть какой тип, и на рабочем листе возникает новенькая область.

Шаг 3

Шаг 4. Активируете объект нажав на него, потом во вкладке Конструктор нажимаете клавишу Избрать данные.

Шаг 4

Шаг 5. В спектре данных выбираете числа из столбца З/П. Чтоб выделить весь столбец, довольно надавить в правом нижнем углу первой ячейки особый руль и протянуть вниз. Если все изготовлено верно, спектр будет обрамлен штрихпунктирной линией. Подтверждаете действие нажатием клавиши ОК.

Шаг 5

В итоге выходит последующее:

В итоге

Данная {инструкция} по созданию простого графика совершенно подойдет для чайников и юзеров, которые лишь начинают узнавать excel.

Способности редактирования

До этого чем перейти к наиболее сложным диаграммам побеседуем о инструментах редактирования объекта. Их можно отыскать во вкладке Макет.

Возможности редактирования

На заметку! Все операции форматирования можно проводить с 2-мя осями x и y раздельно. При всем этом любой элемент графика можно выделить и работать без помощи других.

Чтоб добавить заглавие, используйте первую клавишу из блока Подписи. Из выпадающего перечня выбираете подходящий шаблон и вписываете текст, который охарактеризовывает график.

Чтобы добавить название

Потом нужно поработать с осями. Можно добавить заглавие для каждой из осей, также их подписи.

Затем необходимо поработать с осями

Если необходимо более детально проработать ось

Если нужно наиболее детально проработать ось, нажимаете на нее правой кнопкой мыши и выбираете формат оси…

ажимаете на нее правой клавишей мыши

Возникает новое диалоговое окно, в котором представлено огромное количество характеристик опции.

Появляется новое диалоговое окно

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

Изменим минимальное значение

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

Получаем обновленный график

Для наилучшего восприятия переломов на диаграмме, комфортно подписать каждую точку построения. Используете для этого функцию подписи данных.

Для лучшего восприятия

На заметку! Если числа накладываются на линию, то можно их отодвинуть каждую в отдельности. Просто нажимаете на необходимое число и тянете в сторону.

Легенду, которая нужна для пояснения линий диаграммы, можно поменять, используя одноименную клавишу.

Кроме этого объект можно закрасить, поменять шрифт текста, добавить тень либо размер. Все эти операции производятся через вкладку Формат.

Объект можно закрасить

На заметку! Если лень создавать конфигурацию, можно пользоваться уже готовыми макетами, которые можно отыскать во вкладке Конструктор.

Воспользоваться уже готовыми макетами

Непростая диаграмма

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

Сложная диаграмма

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

Добавляете на рабочую область

Выбираете данные, при всем этом заполняете строчки надлежащими значениями, уже известным методом.

Выбираете данные

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

Поработав с конфигурацией осей

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

Чтобы сделать кривую по уравнению

Рассмотрев эти два примера можно строить зависимости x от y, но неотклонимым условием является расчет значений всякого из аргументов, для наиболее корректного построения кривой.

Время от времени возникает необходимость создать график с 3-мя осями. Вернемся к самому первому примеру. Допустим, добавился показатель конфигурации премии в месяц. Этот аспект имеет ту же единицу измерения, что и зарплата.

Необходимость сделать график с тремя осями

Чтоб отразить значения премии, необходимо добавить третью ось. Для этого делаете последующее:

  1. Выделяете подходящую кривую, щелкаете правой кнопкой мыши и из перечня выбираете формат ряда данных….

Выделяете нужную кривую

  1. В первой строке новейшего окна ставите галочку напротив варианта По вспомогательной оси.

В первой строке нового окна

  1. Производите окончательное редактирование новейшей оси и отображение данных.

Производите окончательное редактирование

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

Вы можете создать таблицу параметров в виде отдельного файла Excel, а затем использовать PropertyManager Таблица параметров, чтобы вставить файл в свою модель. ПРИМЕЧАНИЯ. При использовании таблиц параметров в программе SolidWorks важно правильно отформатировать таблицы.

Как импортировать данные в SolidWorks?

Обзор импорта библиотечных данных

  1. Выберите тип файла Пользовательский текстовый файл с разделителями (*. txt), чтобы импортировать текстовый файл, в котором используется разделитель, указанный в CircuitWorks Options — Library , вертикальная черта (|) по умолчанию.
  2. Выберите тип файла Mapping File (*.xrf), чтобы импортировать файл сопоставления Desktop EDA SOLIDWORKS IDF Modeler.

Как открыть таблицу параметров в Excel?

Создание таблицы параметров в виде отдельного файла Excel

  1. Введите значения параметров в ячейки электронной таблицы.
  2. Сохраните рабочий лист.
  3. Откройте документ модели, куда вы хотите вставить таблицу параметров.
  4. Нажмите «Вставить», «Таблица параметров».
  5. В окне PropertyManager Таблица параметров в разделе Источник: щелкните Из файла. Нажмите Обзор и откройте файл Excel.

Как создать таблицу конфигурации в чертеже SOLIDWORKS?

Чтобы вставить таблицу параметров в чертеж:

  1. На чертеже детали или сборки выберите чертежный вид.
  2. Нажмите «Вставка» > «Таблицы» > «Конструкторская таблица». Появится таблица параметров, которую можно перетащить на место на листе.

Где находится таблица параметров в SOLIDWORKS?

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

Как добавить спецификацию Excel в SolidWorks?

Чтобы вставить спецификацию:

  1. Выбрав вид чертежа, нажмите «Вставка» > «Таблицы» > «Спецификация на основе Excel».
  2. В диалоговом окне выберите шаблон Excel для спецификации и нажмите «Открыть». …
  3. В диалоговом окне «Свойства спецификации» выберите свойства на вкладках «Конфигурация», «Содержание» и «Управление».
  4. Нажмите кнопку ОК.

Как импортировать текстовый файл в SolidWorks?

Чтобы импортировать детали из файла: В диалоговом окне «Библиотека компонентов CircuitWorks» выберите «Инструменты» > «Импорт данных» > «Из текстового файла». В диалоговом окне «Выберите файл для импорта» выберите тип файла и файл, затем нажмите «Открыть».

Какая формула в Excel?

Примеры

Данные
5
Формула Описание Результат
= A2 + A3 Складывает значения в ячейках A1 и A2. = A2 + A3
= A2-A3 Вычитает значение в ячейке A2 из значения в A1 = A2-A3

Как создать таблицу размеров в SOLIDWORKS?

Чтобы сделать это, перейдите на вкладку конфигурации, щелкните правой кнопкой мыши таблицу параметров и выберите «Редактировать таблицу параметров». Нажмите на ячейку справа от последнего измерения. Перейдите к дереву деталей, щелкните эскиз, а затем щелкните размер, который необходимо добавить в таблицу параметров.

Для чего используется таблица параметров в SOLIDWORKS?

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

Понравилась статья? Поделить с друзьями:
  • Как создать конструктор в word
  • Как создать конструктор в excel
  • Как создать консолидированную таблицу в excel
  • Как создать консолидацию в excel
  • Как создать конвертер в excel