Remkomplekty.ru

IT Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как почистить excel файл от мусора

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

Большие файлы 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 автоматически будет переносить на новый лист данные с соответствующими ссылками.

Читать еще:  Область печати в excel 2020

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

Очистка файлов от формул, скрытых строк, листов и пр.

Программа «Очистка файлов» удаляет из выбранных файлов Excel:

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

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

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

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

  • 2007-2016 ExcelРецензированиеЗащитить книгу;
  • 2003 Excel:СервисЗащитаЗащитить книгу.

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

Если установлена защита на книгу и она мешает выполнению какого-либо метода очистки (обычно это удаление листов), то появится такое сообщение:

Вам необходимо ввести пароль и нажать Ок. Если пароль введен неверно или не введен вовсе, то книга будет пропущена.

При наличии пароля на листах, появится очень похожая форма:

Главное отличие: если на все листы установлен одинаковый пароль, то Вы можете ввести его и установить флажок «Для всех листов одинаковый пароль». После этого не придется вводить пароль для каждого листа отдельно.

Так же если программа обнаружит, что VBA проект защищен паролем — то появиться уже знакомая форма:

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

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

Если вкратце об этих пунктах:

  • для Замены условного форматирования можно выбрать какие условия заменять, а какие нет (границы ячеек, заливка, шрифт и т.п.)
  • для макросов можно указать какие типы модулей удалять(стандартные, модули форм, модули классов, модули листов и книг)
  • для скрытых строк и столбцов — удалять скрытые группировкой строки/столбцы
  • для скрытых листов — отдельно удалять листы скрытые и очень скрытые
  • для объектов указываются типы удаляемых объектов, включая примечания в ячейках
  • возможность указать, создавать ли копии обработанных файлов(чтобы не испортить оригиналы), с возможностью указания постфикса(слова, которое будет добавлено в конец каждого файла) и папки для сохранения копий

Так же в Расширенных опциях расположены настройки создания копий файлов и настройка доступа к проекту VBA файлов.

Бесплатная ДЕМО-версия программы содержит в себе два ограничения — обрабатывать можно только файлы, размер которых не превышает 100Кб и нельзя за один раз обработать более одного файла. Считаю этого вполне достаточно для того, чтобы протестировать и понять — нужна эта программа или нет.


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

Очистка данных: набор основных инструментов очистки больших массивов данных Excel

Сколько времени у вас занимает очистка данных перед тем, как можно будет приступить к анализу? Лишние пробелы, непечатаемые символы, разный регистр текста… Все это неизбежно при импорте данных в Excel или объединении нескольких книг. Тогда возникает вопрос: как быстро очистить большие таблицы, когда поиск, удаление вручную или копирование функций Excel не продуктивно?

Надстройка «Очистка данных» поможет очистить большие массивы данных в секунды:

  • Удаление лишних пробелов, пробелов в начале и в конце ячейки
  • Удаление переносов строк и непечатаемых знаков
  • Изменение регистра текста во всём диапазоне
  • Преобразование чисел в текстовом формате в полноценные числа
  • Преобразование чисел в текстовые значения

Язык видео: английский. Субтитры: русский, английский. (Внимание: видео может не отражать последние обновления. Используйте инструкцию ниже.)

Добавить «Очистку данных» в Excel 2019, 2016, 2013, 2010

Подходит для: Microsoft Excel 2019 – 2010, desktop Office 365 (32-бит и 64-бит).

Как работать с надстройкой:

Внимание: отмена последнего действия (UNDO) невозможна. Рекомендуем сохранять резервную копию файлов или использовать «Контроль версий» XLTools для отслеживания изменений.

Как удалить пробелы в начале и в конце строки или все лишние пробелы

  1. Выберите диапазон > Нажмите кнопку «Очистка данных».
  2. На панели слева выберите одну или обе операции:
    • Удалить пробелы в начале/в конце строки
    • Удалить все лишние пробелы
  3. В нижней части панели нажмите кнопку «Применить» > Готово, все ненужные пробелы в текстовых строках удалены.

Как удалить переносы строк в ячейках

  1. Выберите диапазон > Нажмите кнопку «Очистка данных».
  2. На панели слева выберите «Удалить переносы строк внутри ячеек».
  3. Нажмите кнопку «Применить» > Готово, все переносы строк (переносы текста на новую строку внутри ячейки) удалены.

Как удалить непечатаемые знаки в ячейках

  1. Выберите диапазон > Нажмите кнопку «Очистка данных».
  2. На панели слева выберите «Удалить непечатаемые знаки».
  3. Нажмите «Применить» > Готово, все непечатаемые символы удалены.

Как изменить регистр текста в ячейках

  1. Выберите диапазон > Нажмите кнопку «Очистка данных».
  2. На панели слева выберите «Изменение регистра букв» и выберите нужный вариант:
    • Каждое Слово С Заглавной Буквы
    • Предложение с заглавной буквы
    • все буквы в нижнем регистре
    • ВСЕ БУКВЫ В ВЕРХНЕМ РЕГИСТРЕ
  3. Нажмите кнопку «Применить» > Готово, регистр текста унифицирован во всём диапазоне.

Как преобразовать числа (сохранённые как текст) в полноценные числа

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

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

Как преобразовать числа в текстовые значения

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

  1. Выберите диапазон > Нажмите кнопку «Очистка данных».
  2. На панели слева выберите «Числа в текст».
  3. Нажмите кнопку «Применить» > Готово. Каждой преобразованной ячейке назначен текстовый формат, также в верхнем левом углу появится обозначение, что число сохранено как текст.
Читать еще:  Cells vba excel описание

Появились вопросы или предложения? Оставьте комментарий ниже.

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

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

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

1. Уменьшаем размер используемого диапазона листа

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

Чтобы проверить, есть ли на листе лишние пустые столбцы и строки нужно нажать сочетание клавиш «Ctrl+End» . Вы попадете в последнюю ячейку, которую использует программа. Если она явно за пределами ваших данных, то лишние строки и столбцы стоит удалить. Для этого в столбце А встаем в ячейку ниже последней нужной нам строки и нажимаем «Ctrl+Shift+End» .

Выделятся все лишние строки. Удаляем их. То же самое повторяем для столбцов. Если их много – файл может зависнуть. В таком случае проще использовать небольшой макрос. Нажмите Alt+F11 или кнопку Visual Basic на вкладке Разработчик (как ее активировать — показывали здесь ), вставьте новый модуль через меню Insert — Module и скопируйте туда код макроса:

For Each Sht In ActiveWorkbook.Worksheets

Чтобы запустить его — на той же вкладке (1) нажмите кнопку «Макросы» (2), выберите в списке «УдалениеЛишнихЯчеек» (3) и нажмите кнопку «Выполнить» (4).

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

2. Пересохраняем файл в другом формате

Если кто-то еще пользуется файлами в старом формате XLS, но уже сидит на более новом ПО (Excel 2007 и новее), то есть смысл пересохранить файл в один из новых форматов: XLSX, XLSM, XLSB. Они более современные, лучше оптимизированы, весят меньше и работают быстрее. Самый компактный из них – XSLB. При сохранении в этом формате размер файла существенно уменьшится (даже если пересохранить в него «новый» XLSX).

3. Удаляем лишние объекты из книги

Часто при копировании в файл данных из сторонних программ (например, 1С) вместе с ними копируются лишние объекты (фигуры, картинки и прочее), которые не всегда можно сразу заметить на листе. Чтобы проверить, есть ли в файле лишние объекты, нужно найти на ленте команду «Найти и выделить» (1) и выбрать «Область выделения» (2). Откроется список объектов листа (3).

Удалить все объекты можно выделив их и нажав клавишу Delete . Чтобы выделить все объекты снова используем команду «Найти и выделить» (1), выбираем пункт «Выделить группу ячеек» (2) и в открывшемся окне выбираем «Объекты» (3).

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

For each shp in ActiveSheet.Shapes

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

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

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

5. Заменяем формулы на значения

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

6. Удаляем лишнее форматирование

Красивые документы нравятся всем, но чем более пёстрый лист у Вас получился, тем медленнее будет работать файл. А условное форматирование сказывается на быстродействии еще больше, так как основано на формулах и постоянно пересчитывается. Рекомендуем удалять все лишние форматы, оставляя только то, что действительно нужно (как очистить форматы — смотри здесь ). Минимализм сейчас в моде.

Чтобы удалить лишние правила условного форматирования выбираем на вкладке «Главная» инструмент «Условное форматирование», кнопка «Управление правилами». В открывшемся диспетчере выбираем весь лист (1), выделяем лишнее правило (2) и удаляем его (3). Повторяем, пока не удалим всё лишнее.

И помните — никогда не используйте формат целиком для всего столбца или строки!

7. Удаляем лишние имена

Именованные диапазоны используют далеко не все, но обнаружить их в своем файле может каждый (например, они могли попасть туда при импорте или копировании данных). Весь список можно увидеть в диспетчере имен («Формулы» — «Диспетчер имен»). Там же можно и удалить все ненужные имена.

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

For Each Nm In ActiveWorkbook.Names

If Nm.Visible = 0 Then

Заключение

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

Ваши вопросы по статье можете задавать через нашего бота обратной связи в Telegram :

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

Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в 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. Сохраните файл (обязательно, иначе изменения не вступят в силу!)
Читать еще:  Условие в условии excel

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

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

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

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

  • XLSX — по сути является зазипованным XML. Размер файлов в таком формате по сравнению с Excel 2003 меньше, в среднем, в 5-7 раз.
  • XLSM — то же самое, но с поддержкой макросов.
  • XLSB — двоичный формат, т.е. по сути — что-то вроде скомпилированного XML. Обычно в 1.5-2 раза меньше, чем XLSX. Единственный минус: нет совместимости с другими приложениями кроме Excel, но зато размер — минимален.

Вывод: всегда и везде, где можно, переходите от старого формата 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) .

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

Проблема 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) .

Ссылка на основную публикацию
Adblock
detector