2916 0

Excel 2010: оптимизируем размер таблицы

21.01.13
Начну с цитаты из письма одного нашего читателя, которая звучит так: «Уважаемые сотрудники «Б & K»! Как и большинство моих коллег, я пользуюсь программой MS Excel. Недавно, создавая резервные копии документов, я заметил, что некоторые файлы стали занимать очень много места. То есть изначально их объем был невелик, а со временем почему-то вырос в несколько раз! Подскажите, что стало причиной такого увеличения и как вернуть размер таблицы MS Excel в нормальное состояние? Что можно сказать по этому поводу? Современный компьютер, конечно, не тот, что десять лет назад. Объем памяти, емкость жесткого диска, быстродействие — прогресс в этом плане не может не впечатлять. Но как бы там ни было, все эти ресурсы нужно использовать с умом. И в первую очередь — следить за тем, что представляют собой ваши данные, и нет ли в них ничего лишнего. Особенно это важно для бухгалтера, который хранит огромное количество документов в формате MS Excel. Как правильно работать с такими документами, как предупредить необоснованное увеличение их объема — мы рассмотрим в этой статье.


 

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

 


Оптимизируем рабочий лист

Итак, сейчас наша задача — разобраться, какие элементы рабочего листа MS Excel могут увеличить размер файла и что можно сделать в такой ситуации. Для начала поработаем с документом, где есть только данные и расчетные формулы. Я выбрал в качестве примера базу, фрагмент которой показан на рис. 1. В ней ровно 5000 записей, представлен документ в формате Excel 2003 с расширением «*.xls». База содержит семь полей, занимает около 367 Кбайт — эту цифру я предлагаю запомнить. Теперь делаем так:

1. Становимся в конце таблицы. Нажимаем комбинацию «Ctrl+» (переходим в конец рабочего листа). В стандартном формате MS Excel это строка с номером 65536.

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

3. Сохраняем документ и смотрим на оглавление диска. Размер файла увеличился, теперь он составляет 445 Кбайт. Казалось бы, немного. Тем не менее, прирост составил около 21 %.

4. Удаляем форматирование и снова сохраняем файл. Объем документа не изменился — он по-прежнему остался больше исходного.

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

Решить эту проблему очень просто.

Совет Удалите все ненужные (в том числе — пустые!) строки и столбцы, расположенные справа и снизу от таблицы, и пересохраните документ. Таблица станет компактнее.

Обратите внимание, что сложное, многоцветное форматирование, условное форматирование заметно увеличивают размер файла. Чтобы файл занимал меньше места, оставьте в нем только самое необходимое. Лишние форматы удалите. В Excel 2010 для этого сделайте так:

1. Выделите блок ячеек.

2. На ленте «Главная» (рис. 2) нажмите кнопку «Очистить».

3. Из предложенного меню выберите нужный вариант «Очистить форматы» (рис. 2). В программе Excel 2003 для этой цели можно воспользоваться меню «Правка → Очистить → Формат».

 


Ставим значения
вместо формул

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

1. Выделите участок таблицы, где можно удалить формулы.

2. Скопируйте фрагмент в буфер обмена (комбинация «Ctrl+C»).

3. Не снимая выделения, щелкните на значке выпадающего списка иконки «Вставить» главного меню программы. Откроется меню, как на рис. 3.

4. Выберите вариант «Специальная вставка…». Откроется окно «Специальная вставка», как на рис. 4. В Excel 2003 окно специальной вставки можно открыть по команде «Правка → Специальная вставка».

5. В этом окне установите переключатель «Вставка» в положение «Значения».

6. Нажмите «ОК».

Теперь сохраните документ и оцените объем полученного файла. Наверняка он станет меньше. А насколько меньше — зависит от количества формул, которые хранились в выделенном блоке. Но в любом случае обновление таблицы теперь будет происходить быстрее. Для больших баз данных такое ускорение может оказаться весьма ощутимым. Кстати, замену формул значениями имеет смысл делать и по другой причине: в таком случае будет меньше потенциальных проблем с адресацией ячеек при сложном преобразовании таблиц методами обработки данных.

 


Удаляем примечания

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

1. Открываем документ, находим ячейку с примечанием.

2. Щелкаем на этой ячейке правой кнопкой мышки, откроется контекстное меню, как на рис. 5.

3. Из этого меню выбираем «Удалить примечание».

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

 


Уменьшаем размер
сводных таблиц

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

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

1. Открываем документ, становимся на любую ячейку внутри сводного отчета.

2. Щелкаем правой кнопкой мышки, откроется контекстное меню, как на рис. 6.

3. В этом меню выбираем пункт «Параметры таблицы…». Откроется окно настроек, как на рис. 7.

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

5. Нажимаем «ОК».

Все, теперь в документе будет храниться только сводный отчет. Пару слов об эффективности этого метода. Для базы данных, изображенной на рис. 1, я построил сводный отчет относительно объемов реализации товаров по датам. То есть в отчете фигурировали три поля: дата реализации, наименование товара и сумма. Документ вместе со сводной таблицей занял 1489 Кбайт. После того как я перестроил отчет и удалил из него кэш, документ сократился до 982 Кбайт. В данном случае только на одной сводной таблице мы сэкономили порядка 35 % от общего объема документа. Неплохой результат.

Говоря об оптимизации сводных отчетов, хочу обратить внимание на такой момент. Важную роль в этом вопросе играет то, как была указана область исходных данных для построения отчета. Например, в базе на рис. 1 я могу точно указать часть рабочего листа, по которой будет формироваться сводная таблица. Например, это может быть блок «A1:G5001» (напомню, что в базе я оставил 5000 записей, плюс одна строка на заголовок). Но в этом случае при добавлении записей в основную базу они не будут попадать в сводный отчет. И это — явный минус. С другой стороны, в таком подходе есть и позитивный момент: сводная таблица будет занимать немного места. На практике чаще всего поступают иначе — указывают в качестве исходных данных область колонок. Например, для базы на рис. 1 это могут быть колонки «A:G». Так поступают для того, чтобы при добавлении новых строк в таблицу они автоматически попали в сводный отчет. В этом случае сводная таблица займет намного больше места.

И последний момент относительно сводных отчетов. Я хотел бы вернуться к вопросу, когда в одной рабочей книге есть несколько сводных таблиц и все они построены по одному набору исходных данных. В этом случае вы можете указать, что сводные таблицы (кроме первой) строятся на основе уже существующего кэша. Для этого на первом этапе работы с Мастером таблиц нужно установить переключатель «Создавать таблицу на основе данных, находящихся:» в положение «в другой сводной таблице или сводной диаграмме» (рис. 7). И тогда MS Excel создаст кэш только для одной таблицы, а остальные экземпляры сводных отчетов будут просто использовать этот кэш. При большом количестве таблиц экономия места может быть поистине колоссальной.

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

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

И еще. Получить доступ к параметру «Создавать таблицу на основе данных, находящихся:» можно только при использовании Мастера сводных таблиц. В Excel 2003 — это основной инструмент для создания сводных отчетов. Но в Excel 2010 это не так. Вставить сводную таблицу можно по-разному. Например, через меню «Вставка» (иконка «Сводная таблица»). А вот отдельной кнопки для вызова Мастера здесь нет, ее нужно добавить на ленту вручную. Проще всего это сделать так:

1. Щелкните по панели быстрого доступа правой кнопкой мышки.

2. Из контекстного меню выберите пункт «Настройка панели быстрого доступа…» (рис. 8). Откроется окно «Параметры Excel», как на рис. 9.

 

3. Переключатель «Выбрать команды из:» поставьте в положение «Все команды».

4. В списке команд подсветите элемент «Мастер сводных таблиц и диаграмм».

5. Нажмите кнопку «Добавить>>» (рис. 9).

6. В окне «Параметры Excel» нажмите «ОК».

На панели быстрого доступа появится иконка для вызова Мастера сводных таблиц.

 


Картинки

Наличие графических изображений в рабочей книге ощутимо увеличивает размер документа. Особенно, когда изображений много и они представлены с высоким разрешением. Например, после обычного сканирования документа может оказаться, что рисунок записан с разрешением 300 dpi (300 точек на дюйм). Фотоаппарат или камера современного мобильного телефона способна создавать изображения намного больших размеров. Но что самое главное — в офисной работе это совершенно ни к чему. Поэтому имеет смысл сжать рисунки в документе, уменьшив разрешение до 150, а то и до 96 dpi. На экране (да и при обычной печати) потери в качестве будут незаметны, а файл станет намного меньше. Чтобы сжать рисунки в программе Excel 2010, сделайте так:

1. Откройте документ, перейдите на лист, где есть рисунки.

2. Щелчком мышки выделите любой рисунок. В главном меню программы появится дополнительный пункт «Работа с рисунками», а лента примет вид, как на рис. 10.

3. В группе «Изменение» щелкните на кнопке «Сжать рисунки». Откроется окно «Сжатие рисунков», как на рис. 11.

4. Переключатель «Качество вывода:» поставьте в положение «Экран (150 пикселей на дюйм):…» или «Электронная почта (96 пикселей на дюйм):…» — в зависимости от желаемой степени сжатия.

5. Если в документе есть несколько рисунков, отключите флажок «Применить только к этому рисунку».

6. Включите флажок «Удалить обрезанные области рисунков». В этом случае все части изображения, которые не видны на экране, будут удалены.

7. В окне «Сжатие рисунков» нажмите «ОК».

Важно! В программе Excel 2003 кнопка сжатия рисунков находится на панели инструментов «Настройка изображения». Эта панель активизируется после выбора любого рисунка в рабочей книге.

 


Убираем именованные диапазоны

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

1. Откройте документ, нажмите комбинацию «Ctrl+F3». Откроется окно «Диспетчер имен».

2. В этом окне выберите элементы для удаления и нажмите кнопку «Удалить».

 


Отключаем журнал
изменений

В определенных ситуациях документы MS Excel объявляют с параметрами общего доступа. Напомню, что в MS Excel 2010 управление общим доступом находится на вкладке «Рецензирование», иконка «Доступ к книге». В программе MS Excel 2003 такой доступ можно открыть через меню «Сервис → Доступ к книге».

Сама по себе такая возможность очень полезна, так как в данном случае корректировать и просматривать документ могут несколько человек одновременно. В то же время общий доступ может стать причиной существенного увеличения объемов электронных таблиц. Дело в том, что для файлов с общим доступом Excel помнит всю историю изменений документа: кто, когда и как корректировал ячейки рабочей книги. По умолчанию эти сведения хранятся в течение 30 дней. Поэтому при активной работе с таблицей ее объем может быстро увеличиваться. В моей практике, например, была таблица объемом около 8 Мбайт, которая за пару недель выросла до размера порядка 240 Мбайт!

Совет Не используйте общий доступ к документу без явной на то необходимости.

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

1. Войдите в меню «Рецензирование», щелкните на иконке «Доступ к книге» (в Excel 2003 это меню «Сервис → Доступ к книге»).

2. В окне «Управление доступом к файлу» отключите флажок «Разрешать изменять файл нескольким пользователям одновременно…» (рис. 12). Тем самым вы отключите общий доступ к документу. Журнал изменений Excel вести не будет. Объем документа станет меньше.

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

1. Через меню «Рецензирование» откройте окно «Управление доступом к файлу» (в Excel 2003 — это «Сервис → Доступ к книге»).

2. Перейдите на закладку «Подробнее» и уменьшите количество дней хранения истории изменений (рис. 12).

 


Удаляем макросы и формы

Еще один способ сократить размер рабочей книги — удалить из нее ненужные(!) макросы и формы. Возникает вопрос: откуда они могут взяться? Причин много. Самая распространенная — создание рабочей книги из имеющегося шаблона или документа, где уже были эти самые макросы и формы. Поскольку для вашей работы они совершенно ни к чему, я предлагаю расстаться с таким «подарком» без сожаления. Тем более что любой макрос — это дополнительный источник для вирусных атак. Чтобы удалить лишние макросы и формы, сделайте так:

1. Находясь на рабочем листе, нажмите «Alt+F11». Откроется редактор Visual Basic.

2. В главном меню выберите команду «View → Project Explorer». Откроется окно «Project Explorer» с перечнем всех модулей и форм, которые есть в рабочей книге.

3. Щелкните кнопкой на модуле или форме, которую собираетесь удалить.

4. Из контекстного меню выберите «Remove».

5. В окне с предложением экспортировать текст модуля в отдельный файл выберите «No».

В программе Excel 2010 есть более простой способ удаления макросов и форм. Сделайте так:

1. Откройте документ.

2. В меню «Файл» выберите команду «Сохранить как…». Откроется окно Проводника.

3. В этом окне щелкните на параметре «тип файла:» и укажите вариант «Книга Excel (*xlsx)» (документ без поддержки макросов).

4. Сохраните документ. Все! Макросы и формы рабочей книги «умрут» автоматически.

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

 


Применяем новые форматы
MS Excel 2010

Этот способ оптимизации рабочей книги актуален только для пользователей MS Excel 2007 (2010). Дело в том, что в этих программах появились новые форматы для сохранения файлов, которые позволяют сжать документ. Я бы обратил внимание на три таких формата:

— «*.xlsx» — стандартный способ хранения документов в Excel 2007 (2010). Файлы в этом формате представлены в запакованном виде. Их размер по сравнению с теми же документами в Excel 2003 может сократиться в 5 — 7 раз;

— «*.xlsm» — расширенный вариант формата «*.xlsx» с возможностью сохранения макросов;

— «*.xlsb» — двоичный способ представления документа. Этот формат обеспечивает минимальный размер файла при максимальной скорости доступа к данным. Единственный недостаток формата «*.xlsb» — его несовместимость с другими приложениями. Хотя, если подумать, а всегда ли нужна эта совместимость? Так что смелее используйте перечисленные форматы таблиц в своей работе, и объем документов на вашем компьютере сократится в разы.

 

На сегодня все. Успешной работы! Жду ваших писем, предложений и замечаний на bk@id.factor.ua, nictomkar@rambler.ru или на форуме редакции.



Помітили помилку? Виділіть її та натисніть Ctrl+Enter, щоб повідомити нас про це
загрузка...
Коментарі (0)