Уменьшение размера файла в Microsoft Excel. Оптимизация excel файла


Как уменьшить размер файла и ускорить его

Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в Excel разбух до нескольких десятков мегабайт и во время открытия файла можно смело успеть налить себе кофе, то попробуйте пробежаться по описанным ниже пунктам - возможно один или несколько из них укоротят вашего "переростка" до вменяемых размеров и разгонят его "тормоза" :)

Проблема 1. Используемый диапазон листа больше, чем нужно

Если ваша таблица занимает 5 на 5 ячеек, то это отнюдь не означает, что Excel запоминает при сохранении этого файла только 25 ячеек с данными. Если вы в прошлом использовали какие-либо ячейки на этом листе, то они автоматически включаются в используемый диапазон (так называемый Used Range), который и запоминается при сохранении книги. Проблема в том, что при очистке используемых ячеек Excel далеко не всегда автоматически исключает их из используемого диапазона, т.е. начинает запоминать в файле больше данных, чем реально имеется. 

Проверить это просто – нажмите на клавиатуре сочетание клавиш Ctrl+End и посмотрите куда переместится активная ячейка. Если она прыгнет на фактическую последнюю ячейку с данными на листе – отлично. А если вдруг ускачет сильно правее и/или ниже "в пустоту" – дело плохо: все эти ненужные пустые ячейки Excel тоже запоминает внутри файла.

Лечится это, тем не менее, достаточно легко:

  1. Выделите первую пустую строку под вашей таблицей
  2. Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
  3. Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows).
  4. Повторите то же самое со столбцами.
  5. Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а "в пустоту" ниже и/или правее.
  6. Сохраните файл (обязательно, иначе изменения не вступят в силу!)

Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.

Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB

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

Начиная с верии Excel 2007 Microsoft ввела новые форматы сохранения файлов, использование которых заметно облегчает жизнь и - ваши файлы: 

Вывод: всегда и везде, где можно, переходите от старого формата XLS (возможно, доставшегося вам "по наследству" от предыдущих сотрудников) к новым форматам.

Проблема 3. Избыточное форматирование

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

Оставьте только самое необходимое, не изощряйтесь. Особенно в тех таблицах, которые кроме вас никто не видит. Для удаления только форматов (без потери содержимого!) выделите ячейки и выберите в выпадающем списке Очистить - Очистить форматы (Clear - Clear Formats) на вкладке Главная (Home):

Особенно "загружают" файл отформатированные целиком строки и столбцы. Т.к. размер листа в последних версиях Excel сильно увеличен (>1 млн. строк и >16 тыс. столбцов), то для запоминания и обрабоки подобного форматирования нужно много ресурсов. В Excel 2013-2016, кстати, появилась надстройка Inquire, которая содержит инструмент для быстрого избавления от подобных излишеств - кнопку Удалить избыточное форматирование (Clean Excess Cell Formatting):

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

Если вы не видите у себя в интерфейсе вкладку Inquire, то ее необходимо подключить на вкладке Разработчик - Надстройки COM (Developer - COM Addins).

Проблема 4. Ненужные макросы и формы на VBA

Большие макросы на Visual Basic и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:

  1. нажмите Alt+F11, чтобы войти в редактор Visual Basic
  2. найдите окно Project Explorer’а (если его не видно, то выберите в меню View - Project Explorer)
  3. удалите все модули и все формы (правой кнопкой мыши - Remove - дальше в окне с вопросом о экспорте перед удалением - No):

Также код может содержаться в модулях листов - проверьте их тоже. Также можно просто сохранить файл в формате XLSX без поддержки макросов - все макросы и формы умрут автоматически. Также можно воспользоваться инструментом Очистить книгу от макросов из надстройки PLEX.

Проблема 5. Именованные диапазоны

Если в вашем файле используются именованные диапазоны (особенно с формулами, динамические или получаемые при фильтрации), то имеет смысл от них отказаться в пользу экономии размера книги. Посмотреть список имеющихся диапазонов можно нажав Ctrl+F3 или открыв окно Диспетчера имен (Name Manager) на вкладке Формулы (Formulas):

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

Проблема 6. Фотографии высокого разрешения и невидимые автофигуры

Если речь идет о фотографиях, добавленных в книгу (особенно когда их много, например в каталоге продукции), то они, само-собой, увеличивают размер файла. Советую сжимать их, уменьшая разрешение до 96-150 точек на дюйм. На экране по качеству это совершенно не чувствуется, а размер файла уменьшает в разы. Для сжатия воспользуйтесь кнопкой Сжать рисунки (Compress pictures) на вкладке Формат (Format):

Кроме видимых картинок на листе могут содержаться и невидимые изображения (рисунки, фотографии, автофигуры). Чтобы увидеть их, выделите любую картинку и на вкладке Формат (Format) нажмите кнопку Область выделения (Selection Pane).

Для удаления вообще всех графических объектов на текущем листе можно использовать простой макрос:

Sub Delete_All_Pictures() 'макрос для удаления всех картинок на текущем листе Dim objPic As Shape For Each objPic In ActiveSheet.Shapes objPic.Delete Next objPic End Sub

Проблема 7. Исходные данные сводных таблиц

По-умолчанию Excel сохраняет данные для расчета сводной таблицы (pivot cache) внутри файла. Можно отказаться от этой возможности, заметно сократив размер файла, но увеличив время на обновление сводной при следующем открытии книги. Щелкните правой кнопкой мыши по сводной таблице и выберите команду Свойства таблицы (Pivot Table Properties) - вкладка Данные (Data) - снять флажок Сохранять исходные данные вместе с файлом (Save source data with file):

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

В Excel 2007-2016 кнопку Мастера сводных таблиц нужно добавлять на панель вручную - на ленте такой команды нет. Для этого щелкните по панели быстрого доступа правой кнопкой мыши и выберите Настройка панели быстрого доступа (Customize Quick Access Toolbar) и затем найдите в полном списке команд кнопку Мастер сводных таблиц (PivotTable and PivotChart Wizard):

Проблема 8. Журнал изменений (логи) в файле с общим доступом

Если в вашем файле включен общий доступ на вкладке Рецензирование - Доступ к книге (Review - Share Workbook), то внутри вашего файла Excel на специальном скрытом листе начинает сохраняться вся история изменений документа: кто, когда и как менял ячейки всех листов. По умолчанию, такой журнал сохраняет данные изменений за последние 30 дней, т.е. при активной работе с файлом, может запросто занимать несколько мегабайт.

Мораль: не используйте общий доступ без необходимости или сократите количество дней хранения данных журнала, используя вторую вкладку Подробнее (Advanced) в окне Доступ к книге. Там можно найти параметр Хранить журнал изменений в течение N дней (Keep change history for N days) или совсем отключить его:

Проблема 9. Много мусорных стилей

Про эту пакость я уже подробно писал ранее в статье о том, как победить ошибку "Слишком много форматов ячеек". Суть, если кратко, в том, что если вы разворачиваете на вкладке Главная список Стили ячеек (Home - Cell Styles) и видите там очень много непонятных и ненужных стилей, то это плохо - и для размера вашего файла Excel и для его быстродействия.

Удалить ненужные стили можно с помощью макроса или готовой команды из надстройки PLEX.

Проблема 10. Много примечаний

Примечания к ячейкам, конечно, не самый вредный момент из всех перечисленных. Но некоторые файлы могут содержать большое количество текста или даже картинок в примечаниях к ячейкам. Если  примечания не содержат полезной для вас информации, то их можно легко удалить с помощью команды на вкладке Главная - Очистить - Очистить примечания (Home - Clear - Clear Comments).

www.planetaexcel.ru

Как уменьшить размер Excel файла

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

Процедура уменьшения размера книги

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

Способ 1: уменьшение рабочего диапазона

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

  1. Вначале взглянем на её вес перед оптимизацией, чтобы сравнить каковым он будет после выполнения процедуры. Это можно сделать, переместившись во вкладку «Файл». Переходим в раздел «Сведения». В правой части открывшегося окна указаны основные свойства книги. Первым же пунктом свойств является размер документа. Как видим, в нашем случае он составляет 56,5 килобайт.
  2. Прежде всего, следует выяснить, насколько реальная рабочая область листа отличается от той, которая действительно нужна пользователю. Это сделать довольно просто. Становимся в любую ячейку таблицы и набираем комбинацию клавиш Ctrl+End. Excel тут же перемещается к последней ячейке, которую программа считает конечным элементом рабочей области. Как видим, в конкретно нашем случае это строка 913383. Учитывая то, что реально таблица занимает только шесть первых строк, можно констатировать факт, что 913377 строчек являются, по сути, бесполезным грузом, который не только увеличивает размер файла, но, из-за постоянного пересчета всего диапазона программой при выполнении любого действия, приводит к замедлению работы над документом.

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

  3. Для того, чтобы устранить эту проблему, нужно удалить все строки, начиная от первой пустой и до самого конца листа. Для этого выделяем первую ячейку, которая находится сразу же под таблицей, и набираем сочетание клавиш Ctrl+Shift+стрелка вниз.
  4. Как видим, после этого были выделены все элементы первого столбца, начиная от указанной ячейки и до конца таблицы. Затем щелкаем по содержимому правой кнопкой мыши. В открывшемся контекстном меню выбираем пункт «Удалить».

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

  5. После того, как мы выбрали пункт «Удалить…» в контекстном меню, открывается небольшое окошко удаления ячеек. Выставляем в нем переключатель в позицию «Строку» и щелкаем по кнопке «OK».
  6. Все строки выделенного диапазона были удалены. Обязательно пересохраняем книгу, нажав на иконку дискеты в левом верхнем углу окна.
  7. Теперь посмотрим, как это нам помогло. Выделяем любую ячейку таблицы и набираем сочетание клавиш Ctrl+End. Как видим, Excel выделил последнюю ячейку таблицы, а это значит, что именно она теперь является последним элементом рабочей области листа.
  8. Теперь перемещаемся в раздел «Сведения» вкладки «Файл», чтобы узнать насколько сократился вес нашего документа. Как видим, он теперь составляет 32,5 Кбайт. Напомним, что до проведения процедуры оптимизации его размер составлял 56,5 Кб. Таким образом, он был уменьшен более чем в 1,7 раза. Но в данном случае главным достижением является даже не сокращение веса файла, а то, что теперь программа освобождена от пересчета фактически незадействованного диапазона, что существенно повысит скорость обработки документа.

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

Способ 2: устранение избыточного форматирования

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

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

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

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

  1. Прежде всего, нужно выделить все ячейки, которые расположены ниже диапазона с данными. Для этого кликаем по номеру первой пустой строки на вертикальной панели координат. Выделяется вся строчка. После этого применяем уже знакомую нам комбинацию горячих клавиш Ctrl+Shift+стрелка вниз.
  2. После этого весь диапазон строк ниже части таблицы, заполненной данными, будит выделен. Находясь во вкладке «Главная» кликаем по значку «Очистить», который расположен на ленте в блоке инструментов «Редактирование». Открывается небольшое меню. Выбираем в нем позицию «Очистить форматы».
  3. После этого действия во всех ячейках выделенного диапазона форматирование будет удалено.
  4. Таким же образом можно удалить ненужное форматирование в самой таблице. Для этого выделяем отдельные ячейки или диапазон, в котором считаем форматирование минимально полезным, нажимаем на кнопку «Очистить» на ленте и из списка выбираем пункт «Очистить форматы».
  5. Как видим, форматирование в выделенном диапазоне таблицы было полностью удалено.
  6. После этого возвращаем данному диапазону некоторые элементы форматирования, которые считаем уместными: границы, числовые форматы и т.д.

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

Урок: Форматирование таблиц в Экселе

Способ 3: удаление ссылок

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

  1. Выделяем область, в которой содержатся ссылки. Находясь во вкладке «Главная», щелкаем по кнопке «Копировать» которая расположена на ленте в группе настроек «Буфер обмена».

    В качестве альтернативы после выделения диапазона можно использовать сочетание горячих клавиш Ctrl+C.

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

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

Способ 4: изменения формата

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

В Экселе существуют несколько «родных» форматов файлов – xls, xlsx, xlsm, xlsb. Формат xls являлся базовым расширением для программы версии Excel 2003 и ранее. Он является уже устаревшим, но, тем не мене, многими пользователями продолжает до сих пор применяться. К тому же, бывают случаи, когда приходится возвращаться к работе со старыми файлами, которые были созданы много лет назад ещё во времена отсутствия современных форматов. Не говоря уже о том, что с книгами с данным расширением работают многие сторонние программы, которые не умеют обрабатывать более поздние варианты документов Excel.

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

  1. Для конвертирования документа из формата xls в формат xlsx переходим во вкладку «Файл».
  2. В открывшемся окне сразу обращаем внимание на раздел «Сведения», где указано, что в настоящее время вес документа составляет 40 Кбайт. Далее щелкаем по наименованию «Сохранить как…».
  3. Открывается окно сохранения. При желании можно перейти в нем в новую директорию, но большинству пользователей удобнее хранить новый документ там же, где и исходник. Наименование книги при желании можно сменить в поле «Имя файла», хотя и не обязательно. Самым важным в данной процедуре является выставить в поле «Тип файла» значение «Книга Excel (.xlsx)». После этого можно жать на кнопку «OK» в нижней части окна.
  4. После того, как сохранение произведено, перейдем в раздел «Сведения» вкладки «Файл», чтобы посмотреть, насколько уменьшился вес. Как видим, он теперь составляет 13,5 Кбайт против 40 Кбайт до проведения процедуры конвертирования. То есть, одно только сохранение в современном формате позволило сжать книгу почти в три раза.

Кроме того, в Экселе существует ещё один современный формат xlsb или двоичная книга. В нем документ сохраняется в бинарной кодировке. Эти файлы весят ещё меньше, чем книги в формате xlsx. К тому же, язык, на котором они записаны, ближе всего для программы Excel. Поэтому она работает с такими книгами быстрее, чем с любым другим расширением. При этом книга указанного формата по функциональности и возможностям применения различных инструментов (форматирование, функции, графики и т.д.) ни в чем не уступает формату xlsx и превосходит формат xls.

Основная причина, почему xlsb не стал форматом по умолчанию в Excel, заключается в том, что с ним практически не умеют работать сторонние программы. Например, если вам нужно будет экспортировать информацию из Excel в программу 1C, то это можно будет сделать с документами xlsx или xls, но не с xlsb. Но, если вы не планируете перенос данных ни в какую-то стороннюю программу, то смело можете сохранять документ в формате xlsb. Это позволит вам уменьшить размер документа и увеличит скорость работы в нем.

Процедура сохранения файла в расширении xlsb аналогична той, какую мы проделывали для расширения xlsx. Во вкладке «Файл» кликаем по пункту «Сохранить как…». В открывшемся окне сохранения в поле «Тип файла» нужно выбрать вариант «Двоичная книга Excel (*.xlsb)». Затем щелкаем по кнопке «Сохранить».

Смотрим на вес документа в разделе «Сведения». Как видим, он уменьшился ещё больше и теперь составляет всего 11,6 Кбайт.

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

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

Помогла ли вам эта статья?

Да Нет

lumpics.ru

Как уменьшить размер файла | Excel для всех

Хитрости » 1 Май 2011       Дмитрий       214590 просмотров

Данный вопрос возникает периодически на различных форумах. Решил написать некоторые рекомендации по уменьшению веса файла. Применив их Вы сможете понять - действительно ли Ваши данные настолько раздувают файл или же в файле имеется много лишнего.Почему я это пишу. Бывают ситуации, когда в файле всего один лист, данных на нем на 1000 строк и 20 столбцов. Никаких формул, только значения. Но размер файла непомерно велик - скажем 10 Мб. Этого недопустимо. Или есть различные формулы, но Вы все равно считаете, что размер файла не соответствует тому, что должно бы быть.

Автоматически убрать все лишнее из файла так же поможет команда надстройки MulTEx Оптимизировать книгу

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

Следующие действия необходимо проделать на каждом листе книги:

www.excel-vba.ru

данные, форматирование, формулы, макросы, сводные

Большие файлы Excel часто добавляют хлопот пользователям из-за увеличения времени их обработки. Иногда проблемы становятся настолько острыми, что с файлом невозможно работать. Несколько лет назад я предложил два варианта, как бороться с мусорными объектами, которые могут появляться при импорте данных из 1С, SAP и других программ: Excel тормозит. Что делать? и Excel «тормозит». Что делать? Дубль 2. Заметки пользуются большой популярностью, при этом в комментариях задают вопросы, напрямую не связанные с паразитными объектами. А около года назад, когда я читал книгу Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel, то обратил внимание на то, как много внимания автор уделяет скорости работы формул, постоянно сравнивая время выполнения обычных формул, формул баз данных и формул массива. Так и родилась идея этой заметки – показать, как различные элементы книги Excel влияют на ее размер. [1]

Рис. 1. Зависимость размера книги от числа листов в ней; 255 пустых листов увеличивают размер книги до 131 КВ

Скачать заметку в формате Word или pdf, примеры в формате Excel

Начнем с того, что Microsoft принципиально переработал версию Excel в 2007 году, так что, если вы используете более раннюю версию, советую вам перейти на Excel2007 или более позднюю версию.

Возможности Excel по работе с большими файлами и скорость работы с ними в значительной степени зависят от объема оперативной памяти. Например, я ощутил существенную прибавку в этом аспекте увеличив память в своем моноблоке с 2 до 4 ГВ. А в одном из комментариев к заметке «Excel тормозит. Что делать?» упоминается, что выделение 14 000 объектов заняло 12 с при 32 ГВ оперативки (я на своем моноблоке с 2 ГВ не смог выделить и за полчаса).

Число листов

Свое исследование я начал с создания книги Excel, не содержащей данных, и включающей всего 1 лист. Ее размер оказался 7,6 КВ. Книга Excel может содержать не более 255 листов (рис. 1).

Объем данных

Вернемся к книге, содержащей 1 лист, и в ячейку А1 введем значение 1. Размер книги не изменится – 7,6 КВ. Если же единицами заполнить 10 000 ячеек в столбце А, то размер увеличится до 613 КВ (рис. 2, синяя прямая).

Кстати, для заполнения ячеек можно воспользоваться следующим методом. Набираем Ctrl+G, и в окне Переход в поле Ссылка вводим адрес А10000, и жмем Ok. Мы перешли к последней ячейке заполняемого диапазона.  Вводим в ячейку А10000 значение 1. Возвращаемся к ячейке А1. Удерживая Shift, нажимаем на цифровой клавиатуре кнопку End и затем стрелку вниз. Выбран диапазон А1:А10000. Не снимая выделение, вводим единицу (она появится в ячейке А1) и, по-прежнему не убирая выделение, жмем Ctrl+Enter. 10 000 ячеек заполнились единицами.

Рис. 2. Зависимость размера книги от числа заполненных ячеек

Любопытно, что заполнение единицами квадратной области (100х100, …, 1000х1000 ячеек) сокращает объем файла (рыжая кривая на рис. 2). Для меня оказалось неожиданным, что замена единицы на текстовый массив (я использовал около 1500 символов в каждой ячейке), увеличило размер файла лишь 5–10%. К еще меньшему эффекту приводит замена единицы на большое число с десятичной запятой.

Формулы и функции

Добавление формул почти удваивает размер файла. При этом даже простейшая ссылка на предыдущую ячейку (рис. 3), протянутая на миллион ячеек, увеличивает размер файла с 5,15 МВ до 9 МВ. Дальнейшее усложнение формул увеличивает размер файла лишь на несколько процентов.

Рис. 3. Ссылка вместо константы

Однако, в Excel есть особые функции, пересчитываемые при любом изменении данных, например, =СЛЧИС(). Если протянуть эту функцию на миллион ячеек, размер файла увеличится до 22 МВ!

Сводные таблицы

Исходные данные занимали прямоугольную область: 10 столбцов * 10 000 строк (рис. 4). Файл весил 569 КВ. Добавление сводной таблицы (рис. 5) увеличило размер файла до 750 КВ (на 30%). Форматирование сводной таблицы с использованием стандартных стилей (доступны по меню Работа со сводными таблицами –> Конструктор –> Стили сводной таблицы) практически не изменяет размер файла. Добавление второй сводной таблицы на основе того же кеша увеличило размер файла до 903 КВ (подробнее об использование кеша см. Создание нескольких сводных таблиц на основе одного источника данных: один кеш или несколько?). Добавление второй сводной таблицы на основе нового кеша увеличило файл с 750 до 1 060 КВ. Поэтому, создавая набор сводных таблиц, старайтесь использовать один кеш. И только если вы собираетесь применять к сводным таблицам различные настройки (например, в одной таблице группировать даты по месяцам, а в другой – по неделям), предусмотрите для каждой таблицы свой кеш.

Рис. 4. Исходные данные

Рис. 5. Сводная таблица

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

«Мусор»

Иногда (каким-то непостижимым образом) на листе Excel вводятся ненужные данные в «далекой» ячейке. На одном листе Excel2013 может быть 1 048 576 строк и 16 384 столбцов. Однажды мне встретился файл, в котором было введена единица в предельной ячейке (рис. 6). К счастью, современные версии Excel легко справляются с этой ситуацией, и размер файлов от таких ошибок не распухает, чего не скажешь о более ранних версиях.  Увидеть, что на вашем листе есть «мусор» можно с помощью бегунка, который будет иметь неестественно большое поле для пробега (см. нижнюю часть рис. 6).

Рис. 6. «Мусорное» значение в последней ячейке

Форматирование

Еще одна причина распухания файла — наложение форматирования на столбцы или строки целиком, а не только на используемый диапазон данных. Чтобы исправить эту ошибку, нужно исключить излишнее форматирование. Для начала вручную найдите последнюю ячейку с фактическими данными. Если ваш лист не содержит «мусора», то в последнюю ячейку можно попасть, прокрутив бегунок по вертикали и горизонтали в крайние положения (но не более того). Далее выделите горизонтальную область, лежащую ниже данных, и содержащую форматирование, и пройдите по меню Главная –> Редактирование –> Очистить –> Очистить всё. Повторите операцию для вертикальной области, лежащей справа от области с данными.

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

Макросы

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

Очистка поврежденных книг

Возможно, ваша книга или отдельные листы повреждены. К сожалению, определение точки повреждения требует выполнить процесс исключения вручную. Сохраните резервную копию книги. Чтобы гарантировать, что вы ничего не пропустите, отобразите все скрытые листы. Для этого щелкните правой кнопкой мыши на ярлычке любого листа и выберите команду Показать. Если эта команда недоступна, значит у вас нет скрытых листов. Теперь, когда все листы видимы, начните с самого левого и по очереди обрабатывайте все листы. Для каждого листа: удалите лист, сохраните книгу и проверьте размер файла, например, пройдя по меню Файл –> Сведения, область Свойства –> Размер. Если размер файла существенно уменьшился, учитывая количество данных на удаленном листе, то вы, вероятно, нашли место повреждения.

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

[1] В том числе использованы некоторые идеи из книги Д.Холи, Р.Холи. Excel 2007. Трюки, стр. 58–60

baguzin.ru

Почему виснет Excel. Использование 25% процессора. Задействовать ресурс компьютера полностью. Ускорение расчета

Как правильно объединить ячейки в Excel? Почему Excel округляет большие числа?

В этой статье мы рассмотрим вопрос оптимального использования Excel’ем ресурсов компьютера. Ведь даже если файл оптимизирован, бывает что все равно виснет Excel. Почему? Можно сказать, что этот материал продолжение нашумевшей статьи «Почему тормозит Excel?«, в которой мы описывали все возможные проблемы именно внутри файлов Excel. Сейчас поговорим об оптимизации работы вашего ПК при работе с таблицами.

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

Excel использует 25% ресурсов процессора. Как исправить?

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

Для этого зайдите в круглую кнопку Office (левый верхний угол) — Параметры Excel — найдите раздел Дополнительно — подраздел Формулы. См. первую картинку.

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

Можно так же принудительно поставить максимальное количество — в данном случае 4. Для некоторых расчетов может выручить. Я обращал внимание, что, например,  при сортировке больших таблиц часто используется только 1 процессор из 4 (по умолчанию), отсюда кстати и 25% использования процессоров, о котором часто упоминается. Установив принудительно максимальное количество задействованных потоков вы уберете эту проблему.

Для включения функции многопоточных вычислений в VBA используйте команду:

Application.MultiThreadedCalculation.Enabled = True

Кстати отключить полное задействование тоже полезно, особенно если вы выполняете параллельно несколько задач, а табличный редактор не в приоритете.

Как задействовать все процессоры. Настройка Windows

Кстати, не только Excel может ограничить количество процессоров в работе. В Windows тоже есть такая возможность.

Для того чтобы проверить настройку Windows нажимаем Пуск — Выполнить — вводим команду msconfig — заходим на вкладку Загрузка — Дополнительные параметры..

Убедитесь, что число процессоров не задано вручную на минимальном уровне, или галочка не установлена и система по умолчанию использует максимум ресурсов.

Не помогло, все равно виснет Excel… Еще причины

Если эти методы вам не помогли, проверьте также способы, предложенные в этой статье Почему тормозит Excel?

Остались еще вопросы? Пишите их в комментариях под статьей!

Поделитесь нашей статьей в ваших соцсетях:

Похожие статьи

(Visited 13 655 times, 94 visits today)

Как правильно объединить ячейки в Excel? Почему Excel округляет большие числа?

excelworks.ru

Почему тормозит Excel? Большой размер файла. Не запускается файл Excel 2003, 2007, 2010, 2013

Как cчитать НДС в Excel? Что такое НДС? Как столбцы сделать строками? Транспонирование в Excel

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

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

1. Тормозит Excel? Нужно убрать форматирование в виде таблиц

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

Чтобы определить такой формат, выделите любую ячейку таблицы. Появляется панель «Работа с таблицами» в верхнем меню, самая правая. Выберите всю таблицу затем вкладку Работа с Таблицами, Конструктор — Раздел сервис — Преобразовать в диапазон.

2. Убрать излишнее условное форматирование (если Excel тормозит при прокрутке)

Что такое условное форматирование, читайте здесь. Очень полезная штука, если правильно применять, если нет, то это заставит Ваш файл работать медленно.

Дело в том, что при копирование ячеек, копируется и форматирование —  если в файл постоянно копируются новая информация, то в ней сохраняются условия формата, в особенности условного форматирования.

Убираем так. Выбираете лист. Выберите нужный диапазон или весь лист. В верхней панели Главная — Условное форматирование — Удалить правила — Удалить правила из выделенных ячеек/с листа. Жмем.

3. Удалить лишние строки/столбцы (если ползунок прокрутки очень маленький)

Самая частая проблема для excel с которой я встречаюсь. Если кто-то случайно переместился на конец листа (на строку номер 1 млн) и так сохранил книгу. Размер файла сразу увеличился. Дойти до конца таблицы можно и случайно — если нажать сочетание Ctrl + стрелка вниз или вправо. Бывает, что в конце книги находится какой-нибудь случайный символ или заливка.

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

Исправьте ситуацию, удалите лишние строки или столбцы. Найдите последнюю полезную ячейку для вас, выделите первую пустую ячейку после нее (а лучше первую пустую строку/столбец после нее), нажмите Ctrl+Shift+End. Такое сочетание клавиш выделяет ячейки ниже выбранной строки или правее выбранного столбца. Правая кнопка мыши – Удалить –  Удалить строку или столбец (как правило, проходит долго). После удаления выберите ячейку А1 и сохраните файл. Ползунок должен увеличиться.

4. Удалить лишние объекты

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

Чтобы удалить такие объекты выполните макрос, нажмите Alt + F11 и копируйте текст ниже.

sub DelOb() For Each i In ActiveSheet.Shapes i.Delete Next end sub

Или выделите и  удалите объекты вручную. Перейдите в меню Главная — Редактирование — Найти и выделить — пункт Выделение группы ячеек — Объекты. Теперь удаляйте.

5. Удалить лишние данные в структуре файла Excel

Даже опытные пользователи не знают, что файл Excel, как говорит Википедия, это файл-архив. Начиная с 2007 выпуска.

Т.е. файл Excel открывается, к примеру, архиваторами 7-zip или WinRar. Внутри открытого файла могут храниться ненужные файлы, что тормозит Excel порой в десятки раз.

Удалим неудобство? Сперва сделайте резервную копию файла :) Затем запустите 7-zip или другой архиватор, меню «Файл» — «Открыть внутри». Возможно открыть файл кликнув правой кнопкой мыши — Открыть с помощью и выбрав .exe файл WinRar или 7-zip.

Откроется архив, он же файл Excel c папками и файлам.

Находим папки «drawings» и/или «printerSettings» (скорее всего они будут в папке xl) и удаляем их.

Для WinRar делаем тоже самое.

После чего открываем книгу как файл Excel, он немного поругается, выведет несколько системных сообщений, что не находит данных и т.п. На все окна нажимаем ОК, файл восстановится.

Будьте внимательны, если в вашем файле есть нарисованные кнопки или другие фигуры, то удалять всю папку drawings — значит и удалять полезные фигуры.

Поэтому, в папке, удалите только файлы vmlDrawing.vml, они могут накапливать информацию и весить до 100 мб.

6. Тормозит Excel — правильно настройте сводные таблицы

Если сводная таблица ссылается на большой диапазон ячеек от 10 тыс. строк, она хранит результаты расчетов, которые могут быть очень большими. От этого вся книга excel тормозит, конечно же. Чтобы устранить эту причину, нажмите на сводную таблицу правой кнопкой мыши — Параметры сводной таблицы — вкладка Данные — уберите галочку Сохранять исходные данные вместе с файлом.

Что позволит уменьшить файл почти в два раза.

7. Измените формат файла на .xlsb

Если вы работаете с огромными таблицами и ваши файлы больше 0,5 мб весом, то лучше сохранять такие книги в формате .xlsb. Двоичный формат книги Excel, т.е. специальный формат для создания «базы данных» на основе электронных таблиц. Если сохранить большой файл в таком формате, вес книги уменьшится в два-три раза. Расчеты в файл тоже будут проходить быстрее, в некоторых случаях в 2 раза быстрее.

8. Установлен неопознанный принтер

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

Бывает что даже при удалении настроек принтера из пункта 5 настройки принтера тормозят файл.

9. Удалите файл PERSONAL

Зайдите в …Application Data\Microsoft\Excel\XLSTART или …Microsoft Office\Office12 найдите в этих папках файл под название PERSONAL и удалите его. Подробнее читайте здесь.

10. Замените много созданных формул макросами

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

11. Уменьшите размер рисунков

Самый простой способ для версии 2007 и выше — выбрать рисунок, на верхней панели появиться вкладка Работа с рисунками — Формат.

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

12. Перейдите на поздний Excel — 2013 или 2016

Разработчики нашего любимого редактора действительно не останавливаются в развитии продукта. Проведя ряд экспериментов, я выявил, что большинство сложных операций таких как расчет ячеек, выполнение макроса, сохранение и другие в версии 2016 выполняются быстрее ~на 15% от 2007.

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

Так что еще один хороший способ ускорить работу в Excel — перейти на MS Office 2013 и выше.

Теперь попробуйте сами.

 

Если эти 12 шагов не помогли, то лучше перенесите или скопируйте всю информацию в новый файл. Возможно поврежден сам файл.

Логичное продолжение статьи — оптимизация ресурсов компьютера под использование Excel — читайте в статье.

Если ничего не помогает пишите комментарии, постараемся помочь.

 

Поделитесь нашей статьей в ваших соцсетях:

Похожие статьи

(Visited 48 974 times, 176 visits today)

Как cчитать НДС в Excel? Что такое НДС? Как столбцы сделать строками? Транспонирование в Excel

excelworks.ru

Уменьшение объема файла Excel

Иногда в результате многочисленных манипуляций с книгой Excel она «раздувается» – в ней может быть всего один лист, данных не более 1000 строк и пары столбцов, но размер файла при этом мегабайта полтора, два, три, а то и все десять.

Команда «Оптимизировать файл»

Главная проблема даже не столько в размере файла как в том, что при этом файл как правило «тормозит» и долго открывается. А это уже действительно проблема. Почему файл «раздувается»? В большинстве случаев это происходит по «неопытности»(чрезмерное форматирование, много объектов, имен и т.п.). Чтобы найти причину внезапного увеличения файла в размере можно потратить не один час, а то и день. И для этого надо не только знать где искать, но и уметь правильно устранить причину. Команда Оптимизировать файл сама удалит все лишнее правильно и без ущерба функционалу. Так же эта команда поможет устранить ошибку избыточных форматов, шрифтов и стилей в книге, когда при этом появляется сообщение «Слишком много различных форматов ячеек».

Применить к листам

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

Если лист скрыт

Выбирается действие для скрытых листов

Во всех выбранных листах

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

Удалять из книги Настройки, которые применяются ко всей книге в целом, т.к. не могут быть применены к конкретному листу

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

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

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

fd.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта