N
|
Кнопка
|
Назначение
|
1
|
«Услуги»
|
Переход на лист «Услуги»
|
2
|
«Продажи»
|
Переход на лист «Продажи»
|
3
|
«Поставщики»
|
Переход на лист «Поставщики»
|
4
|
Переход на лист «Поставки»
|
5
|
«Сотрудники»
|
Переход на лист «Сотрудники»
|
6
|
«Отчеты»
|
Переход на лист «Отчеты»
|
7
|
«Расчет з/п»
|
Переход на лист «Начисление з/п»
|
8
|
«Выход»
|
Выход из Excel
|
9
|
«Меню» на расчетных листах
|
Переход на лист «Меню»
|
Все макросы, выполняющие указанные команды, создаются
практически одинаково.
. Перейти на Лист1.
. Выполнить команды - Сервис > Макрос > Начать
запись.
. На запрос о параметрах макроса необходимо только
указать осмысленное имя макроса. Например, Услуги и затем «Ok». При вводе имени макроса нельзя
использовать пробелы.
. Система перейдет в режим записи макроса. Но в Excel, в отличие от Word, нет внешних признаков того, что
система находится в режиме записи. Поэтому здесь необходимо очень аккуратно
выполнить только необходимые команды и тут же остановить запись.
. Применительно к рассматриваемой задаче - щелкнуть по
ярлычку «Услуги» и затем Сервис > Макрос > Остановить запись.
Точно также можно создать макросы перехода -
«Продажи», «Расчет з/п», «Отчеты» и т.д.
Но удобнее (и быстрее) остальные макросы создать
следующим образом:
1. После создания первого макроса («База данных»)
перейти в редактор Visual Basic - Сервис > Макрос > Макросы
> Выбрать только что созданный > Изменить.
2. Система перейдет в редактор Visual Basic, в котором мы увидим, как выглядит наш макрос в виде
команд Бейсика. Если все было сделано правильно, то там должно быть примерно
следующее:
Sub Товары()("Услуги").SelectSub
. Для создания остальных макросов имеющийся текст
макроса как в Word выделяется, копируется в буфер и
путем вставки создается восемь его копий.
4. Каждую копию следует исправить, создавая новые
макросы. Например, первую копию исправить, так, чтобы она приняла следующий
вид:
Sub Продажи()
Sheets("Продажи").SelectSub
Вторую копию:Поставщики()
Sheets("Поставщики").Select Sub
Третью копию:
Sub Поставки()
Sheets("Поставки").Select
End Sub
Четвертую копию:
Sub Сотрудники()
Sheets("Сотрудники").Select
End Sub
Пятую копию:
Sub Расчет_зп()
Sheets("Начисление_зп").SelectSub
Шестую копию: Отчеты()
Sheets("Отчеты").SelectSub
Седьмую копию:Меню()
Sheets("Меню").Select
End Sub
Восьмой макрос, обеспечивающий выход из системы
должен содержать следующую команду:
Sub Выход().CloseSub
5. Все необходимые макросы созданы.
Создание кнопок
1. Вызывается панель инструментов с заготовками
интерфейса -
Вид > Панели инструментов > Формы.
2. На появившейся панели выбрать элемент «Кнопка» и
нарисовать ее в нужном месте экрана. На запрос о назначении макроса из списка
выбрать «Услуги». Надпись на кнопке «Кнопка 1» исправить на «Услуги»
3. Аналогично создаются все остальные кнопки
главного меню.
. На остальных листах (пока еще пустых) создать
кнопки возврата к главному меню (используется макрос «Меню»).
Оформление главного меню
Оформлять или не оформлять главное меню дело вкуса. Но
если в этом есть необходимость, то:
1. Вызвать панель рисования (Вид > Панели инструментов
> Рисование), выбрать на ней объект «Прямоугольник» и накрыть им кнопки
главного меню.
2. Выделить нарисованный прямоугольник и на
панели рисования выбрать Рисование > Порядок > На задний план. При этом
скрытые прямоугольником кнопки выйдут на передний план.
. Не снимая выделения с прямоугольника залить
его выбранным цветом и стилем.
. Убрать сетку таблицы - Сервис > Параметры
> Снять отметку с параметра «Сетка».
. Выбрать подложку для фона - Формат > Лист
> Подложка > Выбрать рисунок > Вставить. Рисунок можно выбрать из
коллекции ClipArt.
4. Организация работы с базой данных
.1 Заполнение таблиц модельными данными
В соответствии с проектом у нас должны быть следующие
таблицы:
1. Справочник по услугам
2. Справочник по поставщикам
. Данные о продажах
. Данные о поставках
. Сотрудники
Первая, вторая и пятая таблицы относительно небольшие
и содержат условно-постоянную информацию. В самом деле - не так уж и часто на
рынке появляются новые услуги и не так уж и часто меняются налаженные схемы
поставок. Поэтому заполнять эти таблицы придется вручную (напрягая фантазию).
Например, данные о услугах:
Присвойте этой таблице имя «Справочник_услуги». Данное
имя будет доступно с любого листа.
На листе «Поставщики» создадим необходимую структуру данных о
поставщиках. В качестве заголовков будем использовать следующие поля: Код,
Наименование, Адрес. Также добавим макрос для ввода данных через форму. Введем
три поставщика:
Таблицы «Продажи» и «Поставки» являются самыми
большими, поскольку в нормально работающем магазине идет непрерывный процесс
продаж и за счет поставок проданные товары постоянно обновляются. Поэтому и
записи в этих таблицы добавляются ежедневно и в больших количествах. Для
студентов экономических специальностей самым простым методом получения больших
объемов модельных данных является использование встроенных функций.
Рассмотрим эту технологию на примере заполнения
таблицы продаж.
Пусть шапка этой таблицы имеет следующий вид:
Таблица
И пусть в ней должны храниться сведения о продажах за
прошедший месяц. Предположим также, что в день у нас производится по десять
продаж. Тогда общее количество записей будет равно 300.
Очевидно, что
колонки С, D и F должны заполняться случайно;
колонки E, и G будут заполняться исходя из данных
справочника по товарам;
колонка H
должна рассчитываться по данные колонок F и G.
Для заполнения колонок случайными данными можно
использовать имеющуюся в Excel
функцию генерации случайных чисел - СЛЧИС(). Она генерирует случайные числа из
диапазона 0..1. Для генерации целых чисел из произвольного диапазона
используется формула:
=А + ЦЕЛОЕ((В - А+1)*СЛЧИС())(1)
где А - нижняя граница необходимого диапазона;
В - верхняя граница диапазона;
ЦЕЛОЕ - имеющаяся в Excel функция округления дробных чисел.
Начнем с колонки «Дата продажи».
Для этой колонки нам необходимо определить параметры A и B в формуле (1).
Для определения параметра A:
в отдельную ячейку (например, в A1) вводим начальную дату продаж -
пусть это будет 01.01.13. Задаем для этой ячейки формат «общий». В ней
получится число 41275. Это будет число дней, прошедших с сначала прошлого века
(с 1900 года).
Поэтому в С12 вводим формулу:
= 41275+ ЦЕЛОЕ(90 * СЛЧИС())
Вы должны были обратить внимание на то, что после
каждой манипуляции с данными их значения меняются. Это свойство функции СЛЧИС.
Чтобы избавиться от этого эффекта:
выделяем столбец C и копируем его в буфер;
не снимая выделения, произведем перекопирование данных
командой Правка > Специальная ставка > Значения;
не снимая выделения, преобразуем данные столбца C в формат «Дата» (Формат > Ячейки
> Дата).
Не забудьте удалить из А1 ненужную теперь дату.
По аналогичной схеме заполняется колонка D - «Код товара»:
в D12
вводится формула
= 1+ ЦЕЛОЕ(7 *СЛЧИС())
(здесь 7 - количество товаров);
формула копируется на 300 строк;
путем перекопированния столбца D избавляемся от формулы.
Аналогично заполняется колонка F - «Количество»:
в F12
вводится формула
= 1+ ЦЕЛОЕ(10 *СЛЧИС())
(здесь 10 - количество товаров, т.е. больше 10-и книг
в одни руки не даем!);
формула копируется на 300 строк;
путем перекопированния столбца F избавляемся от формулы.
Для заполнения столбца E в E12
вводим формулу:
=ВПР(D12;Справочник_услуги;2)
и копируем ее на 300 строк.
Формула содержит функцию ВПР, которая ищет значение
поля D12 в первой колонке справочной
таблицы товаров и в качестве результата берет значения из второй колонки
таблицы товаров.
В G12
должна быть введена формула расчета розничной цены исходя из данных справочника
по товарам. В общем виде она выглядит следующим образом:
РозничнаяЦена = ОптоваяЦена*(1+Наценка)
При реализации в Excel эта формула должна «сама» по коду товара из столбца D брать с листа Товары» значения
оптовой цены и наценки. Для этого также используется функция ВПР. Т.е. в G12 вводится формула:
= ВПР(D12;
Справочник_услуги;4) * (1 + ВПР(D12;
Справочник_услуги;5))
Обратите внимание, в первой ВПР оптовая цена берется
из четвертой колонки справочной таблицы, а во второй - наценка берется из пятой
колонки справочной таблицы. Данная формула копируется на весь столбец G.
И, наконец, в столбец H вводится формула расчета суммы покупки (с последующим
копированием):
= F12 * G12.
Таблица заполнена.
Осталось только отсортировать ее по полю «Дата
продажи» и присвоить имя - «Данные_продаж».
По аналогичной схеме можно создать таблицу «Поставки».
.2 Работа с данными
Для операций по вводу, удалению и корректировке данных
в Excel имеется встроенное средство - форма
ввода данных.
Она вызывается из главного меню командой:
Данные > Форма.
С помощью появившейся формы можно выполнить все
указанные операции.
Для «цивильного» вызова этой формы создадим на листе
кнопку с именем «Данные» и для нее создадим макрос следующего содержания:
Private Sub Работа_с_ данными()
Range("C11").Select‘Переход на ячейку БД
CommandBars.FindControl(ID:=860).Execute‘Вызов формы ввода данных
ActiveWorkbook.Names("Данные_продаж").Delete
ActiveCell.CurrentRegion.Name =
"Данные_продаж"
End Sub
При вводе или удалении данных размеры БД могут
изменяться. По этой причине в макрос добавлены еще две команды:
первая - удаляет имеющееся имя БД;
вторая - определяет новый размер БД и присваивает ему
только что удаленное имя.
.3 Сортировка
Сортировка является типовой операцией с базами данных
и возможность ее реализации практически обязательно должна быть предусмотрена.
Для ее реализации можно предложить следующий интерфейс - см. рис. 4.
Рис. 4. Пример интерфейса листа «Поиск»
С помощью предлагаемого интерфейса сортировка
выполняется следующим образом:
из списка выбирается поле сортировки и «Ok».
Создание списка полей:
- на текущем листе (где-то в стороне, так, чтобы этого
потом не было видно на экране) печатается список полей:
|
P
|
Q
|
R
|
5
|
|
Дата продажи
|
|
6
|
|
Код услуги
|
|
7
|
|
Наименование
|
|
8
|
|
Количество
|
|
9
|
|
Цена
|
|
10
|
|
Сумма
|
|
11
|
|
3
|
|
12
|
|
|
|
вызывается панель форм (Вид >
Панели > Инструментов >Формы), на ней выбирается элемент «Поле со
списком» и рисуется в районе ячейки E4 (как на предыдущем рисунке);
ставим мышь на нарисованный элемент,
щелчком ПКМ вызываем контекстное меню и выбираем пункт «Формат объекта»:
Рис. 5. Формат элемента управления
«Раскрывающийся список»
- в поле «Формировать список по
диапазону» указать местоположение списка полей;
в поле «Связь с ячейкой» указать
ячейку, в которую будет записываться номер выбранного поля.
щелкнуть «Ok».
Произведите несколько выборок в
получившемся списке и посмотрите, что происходит в ячейке Q11.
Создание макроса для сортировки
Выполните команды: Сервис > Макрос
> Начать запись > На запрос об имени макроса напечатайте «Сортировка»
> «Ok» > Установите курсор в C11 > Данные > Сортировка > В
качестве поля сортировки выберите «Наименование» > «Ok» > Сервис >
Макрос > Остановить запись.
Создание кнопки для запуска макроса
- с панели «Формы» взять элемент
«Кнопка» и нарисовать ее районе ячейки E7 (как на рис. 4):
на запрос о назначении макроса
указать макрос «Сортировка»;
исправить надпись на кнопке.
Если сейчас щелкнуть по созданной
кнопке, то данные должны будут отсортироваться по полю «Наименование».
Модификация макроса
Точно так же можно сделать кнопки для
сортировки по остальным полям. Но все это как-то «не смотрится». Тем более, что
работа кнопки никак не зависит от выбранного в списке поля сортировки.
Посмотрим, что записано в созданном
макросе.
Выполним команды Сервис > Макрос
> Макросы > Выбрать макрос «Сортировка» > Изменить.
Появится текст макроса.
Сортировка()
Range("C11").Select
Range("Данные_продаж").Sort
Key1:=Range("E12"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1,
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormalSub
Номинальное знание английского языка
позволяет понять записанные команды и по возможности изменить их.
Первая команда соответствует переходу
на ячейку «С11» (когда мы щелкнули по ней).
Основная часть команды -
Range("Данные_продаж").Sort выполняет сортировку выделенной части.
Остальные компоненты - это параметры сортировки, которые можно частично или все
удалить.
Нас интересует параметр Key1, который
определяет поле сортировки. Его значение, равное E12, соответствует столбцу E,
в котором находится поле «Наименование». Если сейчас вместо E11 напечатать G11
и в Excel щелкнуть по кнопке «Сортировка», то сортировка произойдет по полю
«Цена».
Для того чтобы связать выбранный
элемент списка с режимом сортировки, придется проявить немного квалификации.
В Excel для обращения к ячейкам
существует два способа.
Первый - с помощью объекта Range (как
в приведенном макросе).
Второй - с помощью объекта Cells
следующего формата:(Номер строки, Номер столбца).
Способы эквиваленты и используются по
ситуации. Например, вместо Range(“C11”) вполне можно записать Cells(11, 3).
Поэтому макрос можно переписать
следующим образом:Сортировка() k As Integer‘Объявляем переменную целого типа
Range("C11").Select ‘
k=Range(“Q11”)‘Определяем номер
выбранного пункта
Range("Данные_продаж").Sort
Key1:=Cells(12,k+2), Header:=xlGuessSub
Здесь из параметров сортировки
оставлены лишь два параметра - ключ сортировки и наличие заголовка.
Перепечатайте (перекопируйте)
указанный текст макроса и убедитесь, что он нормально работает.
.4 Поиск данных
По правилам хорошего тона операции
поиска данных должны производиться в том же окне, в котором находится основная
база данных. Но для этого требуются некоторые навыки программирования, чего
нельзя требовать от студентов экономических специальностей.
В меру же их возможностей проще всего
организовать поиск на новом (отдельном) листе. Для этого правда требуется
внести изменения в проект системы - т.е. добавить новый лист, дать ему имя
«Поиск» и создать кнопку «Поиск» в главном меню.
На рис. 6. приведен возможный вариант
интерфейса для организации поиска.
Поиск производится следующим образом:
в группе полей «Критерии поиска»
вводятся нужные значения;
щелкается кнопка «Найти».
Кнопка «Очистить» предназначена для
очистки результатов поиска.
Технология создания элементов
интерфейса аналогична предыдущему разделу - т.е. сначала пишутся макросы,
выполняющие нужные операции, а затем создаются кнопки, связанные с этими макросами.
Рис. 6. Пример интерфейса для
организации поиска
Итак, поэтапно.
Макрос для кнопки «Найти»
Выполним команды Сервис > Макрос
> Начать запись > На запрос об имени макроса напечатать имя «Найти» >
Установить курсор в B8 > Данные > Фильтр > Расширенный фильтр > В
окне «Расширенный фильтр» в поле «Исходный диапазон» указать адрес основной
базы> В поле «Диапазон условий» указать $С$10:$H$11 > Установить
переключатель в опции «Скопировать результат в другое место» > В поле
«Поместить результат в диапазон» указать $C$17:$H$17 > Ok > Сервис >
Макрос > Остановить запись.
В результате должен получиться
следующий макрос:
Найти()
Sheets("Продажи").Range("Данные_продаж").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("C10:H11"),
CopyToRange:=Range("C17:H17"), _
Unique:= FalseSub
Макрос для кнопки «Очистить»
Выполним команды Сервис > Макрос
> Начать запись > На запрос об имени макроса напечатать имя «Очистить»
> Выделить мышью ячейки C18:H32 > Нажать клавишу «Delete» > Установить
курсор в C17 > Сервис > Макрос > Остановить запись.
В результате должен получиться
следующий макрос:
Очистить()
Range("C18:H61").Select
Selection.ClearContents
Range("C17").SelectSub
Нарисуйте кнопки «Найти» и «Очистить»
назначив им соответствующие макросы.
Проверьте действие кнопок, задавая
различные критерии поиска.
5. Отчеты
Отчеты представляют собой некоторую
выходную информацию, полученную в результате обработке имеющихся в системе
данных.
В этом смысле отчетами являются
ведомости заработной платы, квитанции об оплате, приходные и расходные
накладные, налоговые декларации и т.д.
В данном разделе покажем, как можно
формировать итоговую отчетную информацию.
.1 Использование функций
Предположим, что периодически нам
необходимы данные о выручке от продаж за определенный период времени.
Интерфейс расчетов может выглядеть
следующим образом:
|
A
|
B
|
C
|
D
|
E
|
F
|
1
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
4
|
|
|
Отчетный период
|
|
|
5
|
|
|
|
|
|
|
6
|
|
|
Начало периода
|
10.11.2009
|
|
|
7
|
|
|
Конец периода
|
20.11.2009
|
|
|
8
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
11
|
|
|
Выручка
|
55
|
|
|
12
|
|
|
|
|
|
13
|
|
|
|
|
|
|
Вычисления производятся следующим
образом:
в D5 и D6 вводятся даты начала и
конца отчетного периода, а ячейке D8 отражается результат вычислений.
Для организации вычислений:
на этом же листе за пределами экрана
создаем шаблон критерия отбора;
|
|
O
|
P
|
Q
|
R
|
S
|
5
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
7
|
|
|
|
Дата продажи
|
Дата продажи
|
|
8
|
|
|
|
>=01.01.13
|
<=30.03.13
|
|
9
|
|
|
|
|
|
|
в Q8 вводим формулу
=">="&D6;
в R8 вводим формулу
="<="&D7;
в D11 вводим формулу:
=БДСУММ(Данные_продаж;Продажи!H11;Q7:R8).
5.2 Использование элементов управления
В Excel имеется возможность использовать две группы
управляющих элементов.
Первая - расположена на панели форм. Все вышеприведенные
примеры построены на использовании именно этих элементов. Такие элементы
представляют собой компоненты ActiveX и предназначены для запуска
пользовательских макросов.
Вторая группа - это «истинные» управляющие элементы Visual
Basic for Application (VBA). Они обладают всеми свойствами элементов визуальных
систем программирования.
В целом - элементы группы VBA имеют больше возможностей и
большую палитру свойств. Главная их особенность - это способность реагировать
на события типа OnClick, OnChange и т.д. Однако их использование требует от
пользователя определенной программистской квалификации.
Исходя из этого, имеются различия в свойствах этих элементов
и методах работы с ними. При этом может оказаться, что в одних случаях удобнее
использовать одни элементы, а в других - другие.
Покажем возможности элементов VBA на
предыдущем примере формирования сводной таблицы.
Недостатком сформированного там
интерфейса является то, что пользователь должен знать о поочередности нажатия
кнопок «Сформировать» и «Очистить». В противном же случае произойдет сбой в
работе макросов.
Для того чтобы исключить эту
возможность, модифицируем интерфейс расчетов.
1. Командой Вид > Панели
инструментов > Элементы управления вызовем панель «Элементы управления».
2. Используя элемент «Кнопка»
этой панели создадим две новых кнопки.
. Нажмем на панели «Элементы
управления» кнопку «Режим конструктора»
. Щелчком ПКМ по первой кнопке
вызовем ее контекстное меню.
. В меню выберем пункт
«Свойства» и в появившейся таблице свойств в свойстве Caption (заголовок)
поменяем значение - вместо CommandButton1 напечатаем «Сформировать».
. Аналогично поменять название
второй кнопки - вместо CommandButton2 напечатаем «Очистить».
. На панели «Элементы
управления» нажать кнопку «Исходный текст»
. Система перейдет в редактор
Visual Basic и там будут две заготовки процедур для только что созданных
кнопок:
Sub CommandButton1_Click()SubSub
CommandButton2_Click()Sub
9. Скопируем содержимое макроса
Структура_продаж в заготовку процедуры для первой кнопки, а содержимое макроса Очистка
в заготовку процедуры для второй кнопки. Должно получиться следующее:
Sub CommandButton1_Click()
Range("C13").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:= _
"Данные_продаж").CreatePivotTable
TableDestination:= _
"[Пример.xls]Отчеты!R13C3",
TableName:="СводнаяТаблица2", := _
xlPivotTableVersion10
ActiveSheet.PivotTables("СводнаяТаблица
2").AddFields RowFields:= _
"Наименование"
ActiveSheet.PivotTables("СводнаяТаблица
2").PivotFields("Количество"). _
Orientation = xlDataField
ActiveWorkbook.ShowPivotTableFieldList
= FalseSubSub CommandButton2_Click()
Range("C13:D21").Select
Range("D21").Activate
Selection.ClearContentsSub
10. Добавим в обе процедуры
команды активации и дезактивации кнопок:
- в первую
.Enabled = False
CommandButton2.Enabled = True
во вторую
.Enabled = False
CommandButton1.Enabled = True
11. Вернемся в Excel и на панели
«Элементы управления» нажмем кнопку «Выход из режима конструктора»
12. Если отчет еще не сформирован,
то щелкаем по «Сформировать». Должна появиться сводная таблица и кнопка
«Сформировать» станет не активной.
Если затем щелкнуть по кнопке
«Очистить», то сводная таблица будет удалена, кнопка «Очистить» станет не
активной, а кнопка «Сформировать» станет активной.
Возникшая ситуация приведена на рис.
7.
Рис. 7.
5.4 Использование встроенных функций
В макросах можно использовать и
имеющиеся в Excel функции. Но при этом имеется одно ограничение:
функция должна быть в англоязычном
варианте.
Например.
Sub CommandButton1_Click()(6,4)=”=SUM(B2:B4)”Sub
Не пройдет русскоязычная запись
функции:
(6,4)=”=СУММ(B2:B4)”
В ячейке D6 вы увидите только
=СУММ(B2:B4), а не результат сложения.
Если же будет введен английский
вариант функции, то в D6 вы увидите вычисленную сумму, а в строке формул
«родное» - =СУММ(B2:B4) .
Для определения вида англоязычного
варианта функции рекомендуется та же технология - т.е. вызов функции в режиме
записи макроса и последующее использование получившейся команды.
Заключение
информационный интерфейс база данные
Главным результатом проведенной работы является создание
функционирующей информационной системы, которая выполняет требуемый круг задач,
с которыми сталкиваются работники книжного магазина.
Использование мощных средств Excel по созданию баз данных,
позволило создать программный продукт максимально ориентированный на конечного
пользователя, который не искушен в вопросах теории баз данных.
Разработанный нами проект демонстрирует то, как
работу с данными можно сделать удобной и интересной, используя Excel. Программа
автоматизирует работу с базой данных и предоставляет пользователю (оператору)
понятный и дружественный интерфейс.
Вся необходимая работа по осуществлению методов доступа к информации
хранимой в базе данных, её модификации, поддержании базы данных в целостном
виде скрыта и пользователю нет необходимости знать о ней, чтобы успешно решать
весь круг возникающих задач, связанных с использованием информации, хранимой в
базе данных. Более того, программный интерфейс максимально облегчает работу по
обращению с базой данных.
Все функции, выполняемые информационной системой были проверены и
протестированы в процессе разработки.
Список использованной литературы
1. Бухвалов, А.В. Финансовые вычисления для
профессионалов / А.В. Бухвалов, В.В. Бухвалова, А.В. Идельсон. Под общ. ред.
А.В. Бухвалова. - СПб. : БХВ-Петербург, 2001. - 320 с.: ил.
2. Каплан, А.В. Решение экономических задач на
компьютере / А.В. Каплан и др. - М.: ДМК Пресс; СПб.: Питер, 2004.- 600 с.: ил.
. Конрад Карлсберг. Бизнес-анализ с помощью Excel 2000. : Пер. с англ.: уч. пос. - М.:
Издательский дом «Вильямс», 2000. - 480 с.: ил.
. Питер Эйткен. Интенсивный курс программирования в Excel за выходные.: Пер. с англ. - М.:
Издательский дом «Вильямс», 2004. - 432 с.: ил.
5. Россия в цифрах, 2002 : краткий статистический
сборник / Гос. ком. Рос. Федерации по статистике (Госкомстат России) . - М. :
Госкомстат России, 2002. - 399 с. - 5-89476-103-4.
6. Титоренко, Г.А. Автоматизированные информационные
технологии в экономике. - М. : Юнити, 2006. - 400 с.
7. Филимонова, Е.В. Информационные технологии в
экономике / Филимонова Е.В., Черненко Н.А., Шубин А.С. - М.: Феникс, 2008. -
443 с.
. Цисарь, И.Ф. Компьютерное моделирование экономики /
И.Ф. Цисарь, В.Г. Нейман - М.: «Издательство ДИАЛОГ-МИФИ», 2008. - 384 с.