Таблицы по библиотекам excel

В этом уроке мы познакомимся с самым объемным и часто посещаемым разделом Microsoft Excel – Библиотекой функций. Мы рассмотрим структуру библиотеки, из каких категорий и команд она состоит. К каждой категории приведено небольшое описание, которое даст Вам общее представление о предназначении функций, входящих в библиотеку. В конце урока мы на примере разберем, как вставить функцию из библиотеки.

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

Содержание

  1. Как получить доступ к библиотеке
  2. Вставить функцию
  3. Автосумма
  4. Последние
  5. Финансовые
  6. Логические
  7. Текстовые
  8. Дата и время
  9. Ссылки и массивы
  10. Математические
  11. Другие функции
  12. Как вставить функцию из библиотеки

Как получить доступ к библиотеке

Чтобы получить доступ к библиотеке функций Excel, выберите вкладку Формулы. Все возможные категории и команды вы можете увидеть в группе Библиотека функций.

Библиотека функций в Excel

Разберем, какую задачу выполняет каждая из команд группы:

Вставить функцию

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

Библиотека функций в Excel

Автосумма

Команда Автосумма позволяет автоматически вычислять результаты для наиболее распространенных функций Excel, таких как СУММ, СРЗНАЧ, СЧЕТ, МАКС и МИН.

Библиотека функций в Excel

Последние

Команда Последние дает доступ к функциям Excel, с которыми Вы работали недавно.

Библиотека функций в Excel

Финансовые

Категория Финансовые содержит функции для финансовых расчетов, например, сумма периодического платежа ПЛТ или процентная ставка по кредиту СТАВКА.

Библиотека функций в Excel

Логические

Функции из категории Логические используются для проверки аргументов на соответствие определенному значению или условию. Например, если сумма заказа меньше $50, то добавляется цена доставки $4.99, а если больше, то стоимость доставки не взимается. В данном примере целесообразно использовать функцию ЕСЛИ.

Библиотека функций в Excel

Текстовые

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

Библиотека функций в Excel

Дата и время

Категория Дата и время содержит функции для работы с датами и временем в формулах. Например, функция СЕГОДНЯ возвращает текущую дату, а функция ТДАТА дополнительно к дате еще и время.

Библиотека функций в Excel

Ссылки и массивы

В категории Ссылки и массивы содержатся функции, которые предназначены для просмотра и поиска информации. Например, Вы можете добавить гиперссылку (ГИПЕРССЫЛКА) в ячейку или вернуть значение, которое расположено на пересечении заданных строки и столбца (ИНДЕКС).

Библиотека функций в Excel

Математические

Категория Математические включает в себя функции для обработки числовых аргументов, выполняющие различные математические и тригонометрические вычисления. Например, вы можете округлить значение (ОКРУГЛ), найти значение Пи (ПИ), произведение (ПРОИЗВЕД), промежуточные итоги (ПРОМЕЖУТОЧНЫЕ.ИТОГИ) и многое другое.

Библиотека функций в Excel

Другие функции

Раздел Другие функции содержит дополнительные категории библиотеки функций, такие как Статистические, Инженерные, Аналитические, Проверка свойств и значений, а также функции, оставленные для поддержки совместимости с предыдущими версиями Excel.

Библиотека функций в Excel

Как вставить функцию из библиотеки

В следующем примере Вы увидите, как вставить функцию из библиотеки Excel, позволяющую вычислить количество рабочих дней, в течение которых должна быть произведена доставка товара. В нашем случае мы будем использовать данные в столбцах B и C для расчета времени доставки.

  1. Выделите ячейку, которая будет содержать формулу. В нашем примере это ячейка D3.Библиотека функций в Excel
  2. Выберите вкладку Формулы на Ленте, чтобы открыть Библиотеку функций.
  3. В группе команд Библиотека функций, выберите нужную категорию. В нашем случае мы выберем Дата и время.Библиотека функций в Excel
  4. Выберите нужную функцию из выпадающего меню. Мы выберем функцию ЧИСТРАБДНИ, чтобы вычислить количество рабочих дней между датами заказа и получения товара.Библиотека функций в Excel
  5. Появится диалоговое окно Аргументы функции. Здесь вы можете ввести или выбрать ячейки, которые будут составлять аргументы. Мы введем B3 в поле Нач_дата и С3 в поле Кон_дата.
  6. Если аргументы введены правильно, нажмите ОК.Библиотека функций в Excel
  7. Функция будет вычислена, и Вы увидите результат. Результат показывает, что доставка заказа заняла 4 рабочих дня.Библиотека функций в Excel

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

Библиотека функций в Excel

Оцените качество статьи. Нам важно ваше мнение:

Список книжной коллекции

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

Excel

Скачать

Открыть в браузере

Поделиться

Поделиться через Facebook

Поделиться через LinkedIn

Отправить по электронной почте

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

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

Первая часть статьи была опубликована тут.

Как читать и редактировать Excel файлы при помощи openpyxl

ПЕРЕВОД
Оригинал статьи — www.datacamp.com/community/tutorials/python-excel-tutorial
Автор — Karlijn Willems

Эта библиотека пригодится, если вы хотите читать и редактировать файлы .xlsx, xlsm, xltx и xltm.

Установите openpyxl using pip. Общие рекомендации по установке этой библиотеки — сделать это в виртуальной среде Python без системных библиотек. Вы можете использовать виртуальную среду для создания изолированных сред Python: она создает папку, содержащую все необходимые файлы, для использования библиотек, которые потребуются для Python.

Перейдите в директорию, в которой находится ваш проект, и повторно активируйте виртуальную среду venv. Затем перейдите к установке openpyxl с помощью pip, чтобы убедиться, что вы можете читать и записывать с ним файлы:

# Activate virtualenv
$ source activate venv

# Install `openpyxl` in `venv`
$ pip install openpyxl

Теперь, когда вы установили openpyxl, вы можете начать загрузку данных. Но что именно это за данные? Например, в книге с данными, которые вы пытаетесь получить на Python, есть следующие листы:

Функция load_workbook () принимает имя файла в качестве аргумента и возвращает объект рабочей книги, который представляет файл. Это можно проверить запуском type (wb). Не забудьте убедиться, что вы находитесь в правильной директории, где расположена электронная таблица. В противном случае вы получите сообщение об ошибке при импорте.

# Import `load_workbook` module from `openpyxl`
from openpyxl import load_workbook

# Load in the workbook
wb = load_workbook('./test.xlsx')

# Get sheet names
print(wb.get_sheet_names())

Помните, вы можете изменить рабочий каталог с помощью os.chdir (). Фрагмент кода выше возвращает имена листов книги, загруженной в Python. Вы можете использовать эту информацию для получения отдельных листов книги. Также вы можете проверить, какой лист активен в настоящий момент с помощью wb.active. В приведенном ниже коде, вы также можете использовать его для загрузки данных на другом листе книги:

# Get a sheet by name 
sheet = wb.get_sheet_by_name('Sheet3')

# Print the sheet title 
sheet.title

# Get currently active sheet
anotherSheet = wb.active

# Check `anotherSheet` 
anotherSheet

На первый взгляд, с этими объектами Worksheet мало что можно сделать. Однако, можно извлекать значения из определенных ячеек на листе книги, используя квадратные скобки [], к которым нужно передавать точную ячейку, из которой вы хотите получить значение.

Обратите внимание, это похоже на выбор, получение и индексирование массивов NumPy и Pandas DataFrames, но это еще не все, что нужно сделать, чтобы получить значение. Нужно еще добавить значение атрибута:

# Retrieve the value of a certain cell
sheet['A1'].value

# Select element 'B2' of your sheet 
c = sheet['B2']

# Retrieve the row number of your element
c.row

# Retrieve the column letter of your element
c.column

# Retrieve the coordinates of the cell 
c.coordinate

Помимо value, есть и другие атрибуты, которые можно использовать для проверки ячейки, а именно row, column и coordinate:

Атрибут row вернет 2;
Добавление атрибута column к “С” даст вам «B»;
coordinate вернет «B2».

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

# Retrieve cell value 
sheet.cell(row=1, column=2).value

# Print out values in column 2 
for i in range(1, 4):
     print(i, sheet.cell(row=i, column=2).value)

Обратите внимание: если вы не укажете значение атрибута value, вы получите <Cell Sheet3.B1>, который ничего не говорит о значении, которое содержится в этой конкретной ячейке.

Вы используете цикл с помощью функции range (), чтобы помочь вам вывести значения строк, которые имеют значения в столбце 2. Если эти конкретные ячейки пусты, вы получите None.
Более того, существуют специальные функции, которые вы можете вызвать, чтобы получить другие значения, например get_column_letter () и column_index_from_string.

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

# Import relevant modules from `openpyxl.utils`
from openpyxl.utils import get_column_letter, column_index_from_string

# Return 'A'
get_column_letter(1)

# Return '1'
column_index_from_string('A')

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

Конечно, использовать другой цикл.

Например, вы хотите сосредоточиться на области, находящейся между «A1» и «C3», где первый указывает левый верхний угол, а второй — правый нижний угол области, на которой вы хотите сфокусироваться. Эта область будет так называемой cellObj, которую вы видите в первой строке кода ниже. Затем вы указываете, что для каждой ячейки, которая находится в этой области, вы хотите вывести координату и значение, которое содержится в этой ячейке. После окончания каждой строки вы хотите выводить сообщение-сигнал о том, что строка этой области cellObj была выведена.

# Print row per row
for cellObj in sheet['A1':'C3']:
      for cell in cellObj:
              print(cells.coordinate, cells.value)
      print('--- END ---')

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

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

('A1', u'M')
('B1', u'N')
('C1', u'O')
--- END ---
('A2', 10L)
('B2', 11L)
('C2', 12L)
--- END ---
('A3', 14L)
('B3', 15L)
('C3', 16L)
--- END ---

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

# Retrieve the maximum amount of rows 
sheet.max_row

# Retrieve the maximum amount of columns
sheet.max_column

Это все очень классно, но мы почти слышим, что вы сейчас думаете, что это ужасно трудный способ работать с файлами, особенно если нужно еще и управлять данными.
Должно быть что-то проще, не так ли? Всё так!

Openpyxl имеет поддержку Pandas DataFrames. И можно использовать функцию DataFrame () из пакета Pandas, чтобы поместить значения листа в DataFrame:

# Import `pandas` 
import pandas as pd

# Convert Sheet to DataFrame
df = pd.DataFrame(sheet.values)
Если вы хотите указать заголовки и индексы, вам нужно добавить немного больше кода:
# Put the sheet values in `data`
data = sheet.values

# Indicate the columns in the sheet values
cols = next(data)[1:]

# Convert your data to a list
data = list(data)

# Read in the data at index 0 for the indices
idx = [r[0] for r in data]

# Slice the data at index 1 
data = (islice(r, 1, None) for r in data)

# Make your DataFrame
df = pd.DataFrame(data, index=idx, columns=cols)

Затем вы можете начать управлять данными при помощи всех функций, которые есть в Pandas. Но помните, что вы находитесь в виртуальной среде, поэтому, если библиотека еще не подключена, вам нужно будет установить ее снова через pip.

Чтобы записать Pandas DataFrames обратно в файл Excel, можно использовать функцию dataframe_to_rows () из модуля utils:

# Import `dataframe_to_rows`
from openpyxl.utils.dataframe import dataframe_to_rows

# Initialize a workbook 
wb = Workbook()

# Get the worksheet in the active workbook
ws = wb.active

# Append the rows of the DataFrame to your worksheet
for r in dataframe_to_rows(df, index=True, header=True):
    ws.append(r)

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

И не забудьте деактивировать виртуальную среду, когда закончите работу с данными!

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

Готовы узнать больше?

Чтение и форматирование Excel файлов xlrd
Эта библиотека идеальна, если вы хотите читать данные и форматировать данные в файлах с расширением .xls или .xlsx.

# Import `xlrd`
import xlrd

# Open a workbook 
workbook = xlrd.open_workbook('example.xls')

# Loads only current sheets to memory
workbook = xlrd.open_workbook('example.xls', on_demand = True)

Если вы не хотите рассматривать всю книгу, можно использовать такие функции, как sheet_by_name () или sheet_by_index (), чтобы извлекать листы, которые необходимо использовать в анализе.

# Load a specific sheet by name
worksheet = workbook.sheet_by_name('Sheet1')

# Load a specific sheet by index 
worksheet = workbook.sheet_by_index(0)

# Retrieve the value from cell at indices (0,0) 
sheet.cell(0, 0).value

Наконец, можно получить значения по определенным координатам, обозначенным индексами.
О том, как xlwt и xlutils, соотносятся с xlrd расскажем дальше.

Запись данных в Excel файл при помощи xlrd

Если нужно создать электронные таблицы, в которых есть данные, кроме библиотеки XlsxWriter можно использовать библиотеки xlwt. Xlwt идеально подходит для записи и форматирования данных в файлы с расширением .xls.

Когда вы вручную хотите записать в файл, это будет выглядеть так:

# Import `xlwt` 
import xlwt

# Initialize a workbook 
book = xlwt.Workbook(encoding="utf-8")

# Add a sheet to the workbook 
sheet1 = book.add_sheet("Python Sheet 1") 

# Write to the sheet of the workbook 
sheet1.write(0, 0, "This is the First Cell of the First Sheet") 

# Save the workbook 
book.save("spreadsheet.xls")

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

Цикл for будет следить за тем, чтобы все значения попадали в файл: задаем, что с каждым элементом в диапазоне от 0 до 4 (5 не включено) мы собираемся производить действия. Будем заполнять значения строка за строкой. Для этого указываем row элемент, который будет “прыгать” в каждом цикле. А далее у нас следующий for цикл, который пройдется по столбцам листа. Задаем условие, что для каждой строки на листе смотрим на столбец и заполняем значение для каждого столбца в строке. Когда заполнили все столбцы строки значениями, переходим к следующей строке, пока не заполним все имеющиеся строки.

# Initialize a workbook
book = xlwt.Workbook()

# Add a sheet to the workbook
sheet1 = book.add_sheet("Sheet1")

# The data
cols = ["A", "B", "C", "D", "E"]
txt = [0,1,2,3,4]

# Loop over the rows and columns and fill in the values
for num in range(5):
      row = sheet1.row(num)
      for index, col in enumerate(cols):
          value = txt[index] + num
          row.write(index, value)

# Save the result
book.save("test.xls")

В качестве примера скриншот результирующего файла:

Теперь, когда вы видели, как xlrd и xlwt взаимодействуют вместе, пришло время посмотреть на библиотеку, которая тесно связана с этими двумя: xlutils.

Коллекция утилит xlutils

Эта библиотека в основном представляет собой набор утилит, для которых требуются как xlrd, так и xlwt. Включает в себя возможность копировать и изменять/фильтровать существующие файлы. Вообще говоря, оба этих случая подпадают теперь под openpyxl.

Использование pyexcel для чтения файлов .xls или .xlsx

Еще одна библиотека, которую можно использовать для чтения данных таблиц в Python — pyexcel. Это Python Wrapper, который предоставляет один API для чтения, обработки и записи данных в файлах .csv, .ods, .xls, .xlsx и .xlsm.

Чтобы получить данные в массиве, можно использовать функцию get_array (), которая содержится в пакете pyexcel:

# Import `pyexcel`
import pyexcel

# Get an array from the data
my_array = pyexcel.get_array(file_name="test.xls")
 
Также можно получить данные в упорядоченном словаре списков, используя функцию get_dict ():
# Import `OrderedDict` module 
from pyexcel._compact import OrderedDict

# Get your data in an ordered dictionary of lists
my_dict = pyexcel.get_dict(file_name="test.xls", name_columns_by_row=0)

# Get your data in a dictionary of 2D arrays
book_dict = pyexcel.get_book_dict(file_name="test.xls")

Однако, если вы хотите вернуть в словарь двумерные массивы или, иными словами, получить все листы книги в одном словаре, стоит использовать функцию get_book_dict ().

Имейте в виду, что обе упомянутые структуры данных, массивы и словари вашей электронной таблицы, позволяют создавать DataFrames ваших данных с помощью pd.DataFrame (). Это упростит обработку ваших данных!

Наконец, вы можете просто получить записи с pyexcel благодаря функции get_records (). Просто передайте аргумент file_name функции и обратно получите список словарей:

# Retrieve the records of the file
records = pyexcel.get_records(file_name="test.xls")

Записи файлов при помощи pyexcel

Так же, как загрузить данные в массивы с помощью этого пакета, можно также легко экспортировать массивы обратно в электронную таблицу. Для этого используется функция save_as () с передачей массива и имени целевого файла в аргумент dest_file_name:

# Get the data
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Save the array to a file
pyexcel.save_as(array=data, dest_file_name="array_data.xls")

Обратите внимание: если указать разделитель, то можно добавить аргумент dest_delimiter и передать символ, который хотите использовать, в качестве разделителя между “”.

Однако, если у вас есть словарь, нужно будет использовать функцию save_book_as (). Передайте двумерный словарь в bookdict и укажите имя файла, и все ОК:

# The data
2d_array_dictionary = {'Sheet 1': [
                                   ['ID', 'AGE', 'SCORE']
                                   [1, 22, 5],
                                   [2, 15, 6],
                                   [3, 28, 9]
                                  ],
                       'Sheet 2': [
                                    ['X', 'Y', 'Z'],
                                    [1, 2, 3],
                                    [4, 5, 6]
                                    [7, 8, 9]
                                  ],
                       'Sheet 3': [
                                    ['M', 'N', 'O', 'P'],
                                    [10, 11, 12, 13],
                                    [14, 15, 16, 17]
                                    [18, 19, 20, 21]
                                   ]}

# Save the data to a file                        
pyexcel.save_book_as(bookdict=2d_array_dictionary, dest_file_name="2d_array_data.xls")

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

Чтение и запись .csv файлов

Если вы все еще ищете библиотеки, которые позволяют загружать и записывать данные в CSV-файлы, кроме Pandas, рекомендуем библиотеку csv:

# import `csv`
import csv

# Read in csv file 
for row in csv.reader(open('data.csv'), delimiter=','):
      print(row)
      
# Write csv file
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
outfile = open('data.csv', 'w')
writer = csv.writer(outfile, delimiter=';', quotechar='"')
writer.writerows(data)
outfile.close()

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

Финальная проверка данных

Когда данные подготовлены, не забудьте последний шаг: проверьте правильность загрузки данных. Если вы поместили свои данные в DataFrame, вы можете легко и быстро проверить, был ли импорт успешным, выполнив следующие команды:

# Check the first entries of the DataFrame
df1.head()

# Check the last entries of the DataFrame
df1.tail()

Note: Используйте DataCamp Pandas Cheat Sheet, когда вы планируете загружать файлы в виде Pandas DataFrames.

Если данные в массиве, вы можете проверить его, используя следующие атрибуты массива: shape, ndim, dtype и т.д.:

# Inspect the shape 
data.shape

# Inspect the number of dimensions
data.ndim

# Inspect the data type
data.dtype

Что дальше?

Поздравляем, теперь вы знаете, как читать файлы Excel в Python :) Но импорт данных — это только начало рабочего процесса в области данных. Когда у вас есть данные из электронных таблиц в вашей среде, вы можете сосредоточиться на том, что действительно важно: на анализе данных.

Если вы хотите глубже погрузиться в тему — знакомьтесь с PyXll, которая позволяет записывать функции в Python и вызывать их в Excel.

 Готовые таблицы Excel бесплатно!

ТАБЛИЦА и ГРАФИК отпусков сотрудников

Готовая таблица Excel и график отпусков по параметрам:

  • количество сотрудников,
  • количество отпусков в течение года,
  • длительность отпусков каждого сотрудника,
  • количество сотрудников не ограничено
ТАБЛИЦА учета ДОХОДОВ и РАСХОДОВ

Таблица для учета доходов и расходов ООО или ИП с детализацией. Название типов доходов и расходов — любое, вносится пользователем.
Автоматическая детализация доходов и расходов по периодам:

  • по дням,
  • по неделям,
  • по месяцам,
  • по годам
ТАБЛИЦА и ГРАФИК рабочих смен

Таблица для расчета графиков рабочих смен с учетом:

  • обязательного присутствия в смене сотрудника определенной должности,
  • продолжительности рабочей смены,
  • фиксированных выходных дней,
  • требования о сумме часов по КЗОТ РФ
  • соблюдения общего бюджета часов
ТАБЛИЦА «АНАЛИЗ денежных потоков»

Таблица Excel для анализа и планирования денежных потоков предприятия (cash-flow).

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

Готовая таблица в Excel для расчета точки безубыточности предприятия.
Учитываются статьи доходов и расходов:

  • цена единицы продукции,
  • затраты на единицу товара,
  • торговая наценка,
  • постоянные и переменные расходы,
  • процентная ставка по кредиту и другие.
Расчет точки окупаемости проекта

Готовая таблица Excel для бизнес-плана.

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

Сбор данных различных форматов из таблиц Excel и файлов Word.

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

Образец бланка в Excel включает в себя:

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

Корзина

Яндекс.Метрика

CC BY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Паньгин Александр Викторович

Статья описывает модель работы небольшой городской библиотеки (или медиатеки) по учету выдачи книг читателям. Цель данной модели организация «безбумажного абонемента» на основе изучения возможностей электронных таблиц.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Паньгин Александр Викторович

Текст научной работы на тему «Модель «Электронная библиотека» в Excel»

Паньгин Александр Викторович

МОДЕЛЬ «ЭЛЕКТРОННАЯ БИБЛИОТЕКА» В EXCEL

Любая деятельность предусматривает свое совершенство, ее совершенство же предусматривает иную деятельность.

Создадим модель работы небольшой городской библиотеки (или ме-диатеки) по учету выдачи книг читателям. Цель данной модели — организация «безбумажного абонемента» на основе изучения возможностей электронных таблиц.

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

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

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

— вести текущий учет движения книг для конкретного читателя по дате выдачи и дате возврата книг;

— отслеживать замену или списание книг в общем фонде;

— устанавливать список книг, выданных на текущий момент времени, и определять читателей, имеющих их «на руках»;

— определять списки текущей задолженности читателей и начисления пени в зависимости от стоимости книг и дней задолженности;

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

Функционально весь собранный материал можно разбить по пяти разделам с условными названиями: Фонд, Абонемент (или выдача книг), Возврат книг, Читатели, Служебный (конфиденциальный раздел информации). Создадим листы книги

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

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

На пространстве вкладки Фонд определим столбцы данных (рис. 1).

Столбец A — Инвентарный номер книги, для простоты зададим его числом (в общем случае, поле содержит уникальную для данной книги строку знаков) и будем в дальнейшем называть номером книги (номера книг не отсортированы).

Столбцы B, C, D — Наименование книги, Авторы и Издательство, Год издания -представляют соответственно информацию, не требующую дополнительных пояснений.

Столбец E — Исходная цена (книги) -информация, необходимая для определения «ущерба», нанесенного библиотеке в случае просроченного возврата или утери книги читателем.

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

Столбец G — Стоимость (книги, текущая), определяется формулой

=ECni/l(4(F12)>0;E12*F12;E12) для ячейки G12. Для остальных ячеек подобная формула означает, что если числовой коэффициент в столбце F положительный (то есть задано число), то он умножается на цену книги.

Столбец H — Замена — отмечает замененные книги фонда, например: книга с инвентарным номером 7 заменена на книгу с инвентарным номером 11, а книга с номером 8 на данный момент времени заменена на 0 (то есть списана).

Столбец I — Строка абонемент — если ячейка не пустая, то она указывает для листа Excel с именем «Абонемент» номер строки, в которой отмечено, кому и когда выдана данная книга. Пояснение формулы для ячеек столбца I будет приведено ниже, когда познакомимся со всеми данными модели.

Номер выданной книги фонда отмечается красным цветом. Условное форматирование для ячеек столбца A (например, A2) показано на рис. 2 выбором меню Формат ® Условное форматирование.

VcilQDHDB ljj-np.V.,n II ринат«* а

|iip- 1>| lïlb^o 1 1 « II

Присвоим имя Фонд набору ячеек Фонд!$Л$1:$0$65. Выделим указанные ячейки, откроем меню Вставка ® Имя ® Присвоить, в поле «Имя» наберем слово «Фонд», в поле «Формула» будет отмечен выделенный набор ячеек, нажмем кнопку «ОК» или «Добавить». Аналогичным образом присвоим набору ячеек Фонд!$Л$1:$А$65 имя Инв_номер.

Замечание. Отмеченный набор ограничивается условной строкой 65. При создании модели это делается специально для проверки правильности вводимых формул или их фрагментов. В готовом приложении во всех именах число 65 следует заменить на большее число строчек Excel, например 65535. Ячейки с формулами не требуют рутинного «ручного» заполнения данными.

Лист «Читатели» содержит сведения о читателях библиотеки (рис. 3):

— номер читательского билета для идентификации читателя библиотеки;

— дату регистрации билета;

— фамилию, имя, отчество читателя;

— данные документа, удостоверяющие личность;

— адрес проживания; Поля «Адрес» и «Номер телефона» необходимы для извещения (звонка, SMS, e-mail сообщений) читателю о его задолженности и предупреждении о начислении пени без уважительной причины

при возврате книг.

Поле «Дата рождения» присутствует для статистического анализа возрастных групп читателей.

«Служебный» лист информации (рис. 4) содержит: в ячейке А2 — значение ставки пени (в процентах) и в ячейке В2 — дату (текущего дня), от которой производится поиск должников.

Ячейка В 2 содержит формулу =СЕГОДНЯ(), дата текущего дня обновляется при открытии данного приложения Excel (и биб-

Лист «Абонемент» имеет более сложный вид (рис. 5) и предназначен для хранения информации о выдачи книг.

Столбец A — Номер читательского билета (ячейка заполняется при выдаче книг).

Столбец B — Дата (и время) выдачи (книг), задается формулой, например для ячейки B10

Читательский билет 7 1Ü 11

Дата ФИО Документ регистрации

03.03.2007 А А А паспорт

28.02.2007 Б Б Б студ

20.01.2007 В В В паспорт 21.01.2007 С С С 21.02.2007 Р 0 □

Адрес Номер телефона

АДР11 Адр13 Адр27

Таким образом, при заполнении ячейки A10 формируется текущая дата в ячейке B10. Формат ячейки ДД.ММ.ГГГГ ч:мм

Столбец C — Дата возврата (книг), формируется формулой (для 10-й строки)

=ЕСЛИ(В10<>»»;ДАТАМЕС(Б10;1);»»), то есть рекомендуется сдать книги не позже одного месяца со дня выдачи (как увидим далее, при задержке будут начисляться пени).

Столбцы D, E, F — содержат инвентарные номера выдаваемых книг, соответственно для Книги 1, Книги2, КнигиЭ (не более трех книг на одного читателя).

Столбцыь G, H, I — Стоимости Книги 1, Книги2, КнигиЗ соответственно, значение в ячейке G10 задается формулой

=ЕСЛИ(Ч(й10)>0;ВПР(й10;Фонд;7;ЛОЖЬ);»»), что означает, если выдана Книга1 с номером в ячейке D10, то производится поиск этого номера в крайнем левом столбце массива ячеек с именем Фонд и в найденной строке выбирается значение в ячейке 7-го столбца массива Фонд (стоимость книги). Параметр интервального просмотра ЛОЖЬ функции ВПР указывает, что поиск может производиться в неотсортированном массиве номеров книг фонда.

Для скрытия вспомогательных столбцов стоимостей отдельных книг выделите столбцы G, H, I, затем выберите команду меню Данные ® Группа и структура ® Группировать. Над выбранными столбца-

ми появится полоса уровня структуры и символ скрытия деталей (квадратик с «минусом»). Щелкая мышью на полосе уровня или символу скрытия деталей (или показа — квадратик с «плюсом»), можно скрывать (за ненадобностью) или раскрывать (по необходимости) соответствующие детальные элементы модели.

Столбец 3 — Стоимость книг, подсчет суммарной стоимости выданных книг для конкретного читателя. Используем условное форматирование (рис. 6) фона ячейки для значений стоимости, которые выше критически принимаемой (условно, более 500).

Столбец К — Строка возврата, указывает номер строки листа «Возврат книг» в случае, если существует соответствующая информация о факте возврата данных книг читателем. Эта информация позволяет оперативно найти дату и другие обстоятельства возврата, а также использовать их для определения списка читателей-должников, для рассылки им (по почте или телефону) сообщений о задолженности.

Столбец L — Долг, идентифицирует буквой «д» тех читателей, у которых срок возврата книг (ячейка столбца С) назначен ранее, чем текущий день (в общем случае, ранее, чем установленное значение в ячейке В2 на листе «Служебный»), и взятые книги они не возвращали (ячейка поля «Строка возврата» пустая (а точ-

■ гм Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Индекс А в имени относится к листу «Абонемент», индекс В — к листу «Возврат книг».

Вернемся к описанию раздела «Возврат книг» и ячеек с формулами.

Столбец С — Строка листа абонемента — содержит в ячейках (например, для С2) табличную формулу:

Столбец С — (количество) Дней невозврата, определяется формулой, например для С6 ячейки

=ЕСЛИ(В6>ИНДЕКС(Дата_возврата_А;06); ЦЕЛОЕ(В6-ИНДЕКС(Дата_возврата_А; 06)) ;0)

То есть если дата фактического возврата больше даты запланированного возврата (которая расположена на листе «Абонемент» в строке с найденным номером в ячейке С6), то будет возвращено целое значение от разницы дат, иначе — значение 0. В ячейках столбца С задать формат «Общий».

Столбец Е — Пени, осуществляет подсчет пени перемножением значений: суммарной стоимости выданных книг (в столбце ] листа «Абонемент»), количества дней невозврата, процентной ставки пени.

Имя массива ячеек Формула

Дата_возврата_В -Возврат книг ‘!$В$1:$В$65

КнигаЗ =Абонемент!$Р$1 :$Р$65

Читатель_В =’Возврат книг ‘!$А$1:$А$65

1. При отладке формулы можно в строке формулы увидеть значения, которые возвращает любая используемая функция или ее параметры. Выделите на рабочем листе ячейку, содержащую формулу, и в строке формул выделите мышью интересующую вас часть этой формулы. Нажмите клавишу , выделенная часть формулы заменится на вычисленные значения (массивы значений). Для возврата к обычному отображению формулы нажмите клавишу или щелкните на кнопке «Отмена» в строке формул (кнопка с косым красным крестиком).

2. Результат табличной формулы может содержаться в одной ячейке, если результирующая функция в формуле возвращает также одно значение.

Теперь можно пояснить смысл табличной формулы поля «Строки возврата» на листе «Абонемент»:

По данной формуле если на листе «Возврат книг» нужный читатель (точнее номер его билета, заданный в ячейке А2) вернул книги позже данной даты выдачи (В2), то определяются номера таких строк, а из этих номеров ищется минимальный, иначе — значение 0). Проверьте, какие результирующие значения содержат отдель-

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

Чтобы скрыть отображение нулевых значений в столбце, выделите ячейки столбца в меню Формат ® Ячейки на вкладке «Число», в списке «Числовые форматы» выберите пункт (все форматы), а в поле Тип введите 0;-0;;@.

Для поля «Строка абонемент» на листе «Фонд» ячейки (например, 12) содержат табличную формулу

По этой формуле для каждой книги фонда ищутся на листе «Абонемент» все строки, в которых присутствует данная книга в качестве одной из выданных (то есть в строке либо (Книга1=А2), либо (Книга2=А2), либо (Книга3=А2) имеет значение ИСТИНА), а строка возврата — пустая. Выбирается максимальная такая строка в качестве результирующей (так как строки листа «Абонемент» заполняются по возрастанию даты выдачи книг). Примените форматирование для скрытия нулевых значений.

Модель готова. Готовы ли Вы найти для нее практическое применение и совершенствование?

| | Количество чисел V |

; Абонемент! 1: 10 Ш [ Обзор. I

Абонемент !±A±l:±Fi 10

Использовать в качестве имен 0 подписи верхней строки 0 значения левого столбца

I I Создавать связи с исходными данными | ^ | | закрыть ]

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Выполните следующие задания.

1. Определите посещаемость библиотеки (суммарное количество читателей, которым выдавались книги) за отчетный период времени.

2. Определите «рейтинг популярности» книг фонда (сколько раз книга была выдана читателям).

3. Определите рейтинг активности читателей по количеству прочитанных ими книг, а также общее количество книг, выданных за отчетный период.

Выделить данные для нужного интервала времени можно с использованием команды Данные ® Фильтр ® Автофильтр,

при этом наложить должные условия на поля с датами.

1. Для подсчета количества ячеек с данными в интервале или массиве можно применить функцию СЧЁТЗ.

2. Частоту использования книги с инвентарным номером 3 (ячейка Фонд!А2)

можно определить по формуле

3. Для выполнения задания 3 подойдет в качестве нахождения промежуточных данных процедура консолидации данных (команда меню Данные ® Консолидация). Выберите любую свободную ячейку листа «Служебный», в окне команды Консолидация задайте параметры, как на рис. 8, и нажмите кнопку «ОК».

Для каждого читателя создается таблица количества единиц взятых книг (по полю Книга1, Книга2, КнигаЗ), просуммировав данные можно получить общее количество книг как для отдельного читателя, так и в совокупности по библиотеке в целом.

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

Профессиональное ис-полненне поставленной задачи, возможно, потребовало бы использование «движка» (СУБД) для работы с базами данных. Однако для демонстрации взаимосвязей между данными был использован простейший инструмент, но с «богатыми» возможностями по обработке информации различных типов. Обучение этим возможностям при решении конкретной повседневной задачи и ставилось целью данной работы.

© Наши авторы, 2007 Our authors, 2007

Паньгин Александр Викторович, инженер Центра информационных технологий, г. Сосновыш Бор.

Как использовать Microsoft Excel для каталогизации книг? — Вокруг-Дом — 2021

Table of Contents:

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

Многоуровневая сортировка Excel помогает визуализировать вашу библиотеку по категориям. Кредит: Изображение предоставлено Microsoft

Создать коллекцию книг. Кредит: Изображение предоставлено Microsoft

Нажмите «Файл» и «Создать» в Excel 2013. Найдите «Коллекция книг» и выберите «Список коллекции книг». Если вы предпочитаете, вы можете вместо этого выложить свою электронную таблицу с нуля, но использование шаблона автоматизирует большую часть форматирования и дизайна столбцов и все еще позволяет выполнять настройку.

Удалить ненужные колонки. Кредит: Изображение предоставлено Microsoft

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

Вставьте и переименуйте columnscredit: Изображение предоставлено Microsoft

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

Добавьте и измените размеры cell.credit: Изображение предоставлено Microsoft

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

Держите заголовки столбцов видимыми. Кредит: Изображение предоставлено Microsoft

Выберите первую строку под заголовками столбцов, откройте вкладку «Вид» и выберите «Стоп-панели» в группе «Окно», чтобы заголовки оставались видимыми даже при прокрутке страницы вниз.

Сортировать catalog.credit: Изображение предоставлено Microsoft

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

Фильтр catalog.credit: Изображение предоставлено Microsoft

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

Добавить новые sheet.credit: Изображение предоставлено Microsoft

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

Понравилась статья? Поделить с друзьями:
  • Таблицы по анализу предприятия в excel
  • Таблицы планирования работы в excel
  • Таблицы печать документа word
  • Таблицы настройка границ word
  • Таблицы накладных в excel скачать