Ошибка при условном форматировании в excel

Ад Условного Форматирования

Порядок необходим глупцам,
гений же властвует над хаосом.
(Альберт Эйнштейн)

Исходные данные

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

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

Исходная таблица

Для наглядности к таблице добавлены три правила условного форматирования:

Правила условного форматирования

Первое правило делает синие гистограммы на столбце с суммами сделок. Создается через Главная — Условное форматирование — Гистограммы (Home — Conditional formatting — Data bars).

Второе — подсвечивает желтым ячейки с именами менеджеров, которые не выполнили план, т.е. сумма их сделки меньше, чем зелёная ячейка H2.

Третье — делает нижнюю границу всей строки красной, если день меняется на следующий, т.е. дата в текущей строке не равна дате в следующей.

Второе и третье правила создаются через Главная — Условное форматирование — Создать правило — Использовать формулу для определения форматируемых ячеек (Home — Conditional formatting — Create rule — Use formula to determine which cells to format) с вводом соответствующей формулы (2) и настройкой формата ячеек (3):

Создание правила условного форматирования с формулой

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

Путь к катастрофе

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

После удаления строки из середины таблицы

Красная линия между 2 и 3-м марта почему-то исчезла, а наше правило условного форматирования для разделения дат развалилось на два, причем одно из них с ошибкой #ССЫЛКА (т.е. не работает), а другое применяется к двум несмежным диапазонам A2:E8 и A10:E29 (не ко всей таблице!).

Шикарно, правда?!

Теперь представим, что Кирилл Краснов повторил свою сделку в Тольятти с магазином «Лента» (строка 25) и вам нужно внести эти данные в таблицу.

Как вы поступите?

Скорее всего, как любой нормальный человек, вы скопируете 25-ю строчку и вставите её в конец таблицы, верно?

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

Ага, и получите в наследство вот такой бардак в правилах условного форматирования:

Продублированные правила для добавленной строки

Excel зачем-то продублировал те же правила для добавленной строки вместо того, чтобы просто растянуть диапазон в поле Применяется к (Applied to).

Ну, и на десерт давайте попробуем ещё что-нибудь безобидное — например, вставить пустую строку в середину таблицы, между 4 и 5-й строчками:

Вставляем пустую строку

В списке правил условного форматирования это приведёт к появлению еще одного дубликата и раздроблению диапазона уже существующего 5-го правила на кучу фрагментов:

Еще больше проблем с условным форматированием

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

  • появлению бесчисленных дубликатов одних и тех же правил
  • фрагментации диапазонов применения этих правил
  • появлению неработающих правил с ошибками #ССЫЛКА!

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

На англоязычных Excel-форумах в интернете такую картину называют иногда «адом» или «кошмаром условного форматирования» («Conditional Formatting Nightmare» или «Conditional Formatting Hell»).

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

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

Как же всё исправить?

Способ 1. Вручную

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

Для этого делаем следующее:

  1. Выделяем в нашей таблице все строки кроме первой.
  2. Удаляем все правила условного форматирования с выделенных ячеек через Главная — Условное форматирование — Удалить правила — Удалить правила из выделенных ячеек (Home — Conditional formatting — Clear rules — Clear rules from selected cells).
  3. Выделяем первую строку, жмём кнопку-кисточку Формат по образцу на Главной (Home — Format Painter) и выделяем все остальные строки, копируя на них формат с первой.

Способ 2. Макросом

Если есть ощущение, что подобную процедуру вам придётся проделывать ещё не раз, то имеет смысл автоматизировать весь процесс с помощью макроса. Для этого:

  1. Жмём сочетание клавиш Alt+F11 или на вкладке Разработчик кнопку Visual Basic (Developer — Visual Basic).
  2. В открывшемся окне редактора макросов добавляем в нашу книгу новый модуль через меню Insert — Module.
  3. Вставляем в созданный пустой модуль наш макрос:
Sub Fix_СF_Hell()

    'создаем ссылки на диапазоны
    Set rngAll = Selection
    Set rngRow1 = Selection.Rows(1)
    Set rngRow2 = Selection.Rows(2)
    Set rngRowLast = Selection.Rows(rngAll.Rows.Count)

    'удаляем все правила форматирования со всех строк кроме первой
    Range(rngRow2, rngRowLast).FormatConditions.Delete
    
    'копируем форматы с первой строки на все остальные
    rngRow1.Copy
    Range(rngRow1, rngRowLast).PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
    
End Sub

Теперь можно будет просто выделить все строки в таблице (кроме шапки) и запустить макрос через Разрабочик — Макросы (Developer — Macros) или сочетанием клавиш Alt+F8.

И всё будет хорошо :)

P.S.

И не забудьте сохранить файл в формате с поддержкой макросов (xlsm).

Если нужно применять этот макрос в других файлах, то имеет смысл поместить его в Личную Книгу Макросов (Personal Macro Workbook).

Немного улучшенная версия этого макроса уже встроена в последнюю версию моей надстройки PLEX ;)

Исправление УФ-ада в надстройке PLEX

Ссылки по теме

  • Как работает условное форматирование в Excel
  • Подсветка наборов строк с помощью условного форматирования
  • Разделительная линия между наборами строк

Берем для рассмотрения число 29. В указанной таблице идут ссылки на разные ячейки.
Закономерность в том, что:
— если ячейка S10 ссылается на V4, а там у нас 29 в расчете получается, то форматирование срабатывает, 29 становится синим;
— если ячейка S10 ссылается на U2, и там 29 в расчете тоже получается, то форматирование НЕ срабатывает, 29 НЕ становится синим.
Формат ячеек одинаковый.
Что я делаю не так?
https://docs.google.com/spreadsheets/d/1lQiFjVl4dR…


  • Вопрос задан

    более двух лет назад

  • 659 просмотров

@khurram703 it is always good to learn rather than copy-paste

here you go,

1) Copy column D and ‘Paste as Value’ to column J

2) in column J, select from from first number in column (which is 437) till down

3) Once selected, you will see a small green symbol on left side of the number, click on that

4) Click ‘Convert to Number’ (refer screenshot below)

5) Copy Column J and ‘Paste as Value’ to Column D

6) Delete column J

bhushan_z_0-1589280435339.png

Условное форматирование неправильно закрашивает ячейки

Van

Дата: Суббота, 03.12.2022, 08:17 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Доброго дня всем! В приложенной таблице с помощью условного форматирования ячейки в нечетных столбцах, значение которых превышает заданное в ячейке А15 должны закрашиваться в коричневый. Но почему-то ячейки закрашиваются при значении равном А15, некоторые ячейки закрашиваются даже при значении меньше чем заданное. Принцип закрашивания мне не понятен. Подскажите в чем проблема и как с ней бороться.
Да, я ко всем условиям форматирования добавил «-1/1440», иначе они вообще не работают.

К сообщению приложен файл:

__—.xlsm
(53.1 Kb)

 

Ответить

Nic70y

Дата: Суббота, 03.12.2022, 08:36 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

у вас есть ячейки с 8, которые участвуют в расчетах,
а 8 — это 8 дней, а не часов, т.е 192 часа

увидел и не проверил %)


ЮMoney 41001841029809

Сообщение отредактировал Nic70yСуббота, 03.12.2022, 09:06

 

Ответить

Pelena

Дата: Суббота, 03.12.2022, 09:03 |
Сообщение № 3

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

1/1440 — это 1 секунда. Вы её отнимаете от вашего времени, поэтому сравнение некорректно. Правильнее округлить до секунды

Код

ОКРУГЛТ(D8;1/1440)>$A$15

В файле сделала вариант с УФ на весь диапазон, а не на каждую ячейку отдельно

К сообщению приложен файл:

0288786.xlsm
(46.3 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Van

Дата: Суббота, 03.12.2022, 17:41 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Pelena, спасибо большое! )
так ведь при одинаковых формулах работали ячейки в разнобой почему-то, а если секунду не отнимать, то вообще не работало (
То, как Вы это реализовали работает отлично, но как??!! Что мне почитать, где покопаться чтобы понять как устроены ваши формулы?

Сообщение отредактировал VanСуббота, 03.12.2022, 17:42

 

Ответить

Pelena

Дата: Суббота, 03.12.2022, 18:07 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

при одинаковых формулах работали ячейки в разнобой почему-то

это всё пресловутая погрешность вычислений Excel.
Ведь что такое время в Excel? Это дробное число, отражающее часть суток, соответствующее этому времени. На скрине показала время 0:39 в числовом формате. Обратите внимание, что при вычислении по формуле иногда в последних цифрах получается расхождение, поэтому для сравнения в данном случае надо использовать округление.

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

как устроены ваши формулы?

здесь всё просто: часть (D$7=»») выбирает только те столбцы, где в строке 7 пусто, а часть ($C8=$C7) выбирает строки, в которых значение в столбце С равно предыдущему, таким образом реализуем УФ через строку.

К сообщению приложен файл:

1707400.jpg
(19.7 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Van

Дата: Суббота, 03.12.2022, 18:42 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Pelena, спасибо, Вы мне очень помогли

 

Ответить

Pharaon-MSK

Дата: Среда, 11.01.2023, 12:58 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте! Подскажите не особо грамотному. Имеем дату выдачи документов, срок годности которых год с момента выдачи. Как правильно прописать правило, чтобы за 30 дней до окончания срока ячейка становилась красной, незаполненная ячейка датой выдачей — желтым. Но с привязкой с функцией СЕГОДНЯ. Помогите плз. Например: выдан документ 01.01.2021 года, срок действия по умолчанию 1 год, так вот чтобы например 1 декабря 2021, когда я открыл Эксель, ячейка бы светилась красным, а пустые не заполненные желтым цветом. Спасибо.

К сообщению приложен файл:

6206379.xlsx
(10.5 Kb)

Сообщение отредактировал Pharaon-MSKСреда, 11.01.2023, 13:00

 

Ответить

китин

Дата: Среда, 11.01.2023, 13:27 |
Сообщение № 8

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Pharaon-MSK, Прочитайте Правила форума и создайте свою тему


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Содержание

  1. Проблемы с совместимостью условного форматирования
  2. В этой статье
  3. Проблемы, которые приводят к существенной потере функциональности
  4. Проблемы, которые приводят к небольшой потере точности
  5. Ад Условного Форматирования
  6. Исходные данные
  7. Путь к катастрофе
  8. Способ 1. Вручную
  9. Способ 2. Макросом

Проблемы с совместимостью условного форматирования

Средство проверки совместимости обнаружило одну или несколько проблем совместимости, связанных с условным форматированием.

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

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

В этой статье

Проблемы, которые приводят к существенной потере функциональности

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

Что это означает. Начиная с Excel 2007 г., правила условного форматирования могут ссылаться на значения на других таблицах. Эти правила не поддерживаются в более ранних версиях и будут потеряны при Excel 97–2003.

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

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

Что это означает. Новые условные форматы были Excel 2007, включая наборы значков. Формат Excel 97–2003 не поддерживает правила условного форматирования, в которые используются наборы значков. Если сохранить файл в этом формате, условное форматирование для ячеев, о которые идет речь, будет отменено в сохраненном файле.

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

Число условных форматов в некоторых ячейках превышает поддерживаемое выбранным форматом файла. В более ранних версиях Excel будут отображаться только первые три условия.

Что это означает. В Excel 2007 г. и более поздних гг. условное форматирование может содержать до 64 условий, но в Excel 97–2003 будут видеться только три первых условия.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

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

Что это означает. В Excel 97–2003 перекрытие диапазонов условного форматирования не поддерживается, и условное форматирование не отображается должным образом.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

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

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

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

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

Что это означает. В Excel 97–2003 условное форматирование без остановки при выполнении условия не является параметром. Условное форматирование больше не применяется после первого истинного условия.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

Одна или несколько ячеек в этой книге содержат условное форматирование для несвязанного диапазона (например, первые/последние N, первые/последние N%, выше/ниже среднего или выше/ниже стандартного отклонения). Такое условное форматирование не поддерживается более ранними версиями Excel.

Что это означает. В Excel 97–2003 в несмежных ячейках условное форматирование не отображается.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

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

Что это означает. Результаты условного форматирования, которые вы видите в отчетах Excel 97–2003, будут не одинаковыми, как в отчетах Excel 2007 и более поздних отчетов.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2007 г. или более поздней, если они не были изменены в Excel 97–2003.

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

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

Что это означает. В Excel 97–2003 условное форматирование, ссылаясь на значения на других таблицах, не отображается.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

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

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

Что это означает. В Excel 97–2007 г. условное форматирование, в которое используются формулы для текста с правилами, не отображается на этом сайте.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

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

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

Что это означает. В Excel 97–2007 г. условное форматирование, в котором используются правила на основе диапазонов, не может правильно отображаться на экране, если правила на основе диапазона содержат ошибки в формулах.

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

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

Что это означает. В Excel 97–2007 условное форматирование с определенным набором значков не поддерживается, а набор значков не отображается на экране.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

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

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

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

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

Что необходимо сделать. В средстве проверки совместимости нажмите Найти, чтобы найти ячейки с условным форматированием, содержащим отрицательные гистограммы из-за того, что в диалоговом окне Создание правила форматирования для формата отрицательного значения установлено значение Автоматически (вкладка Главная, группа Стили, Условное форматирование, Создать правило) или в диалоговом окне Настройка отрицательных значений и оси для параметра Параметры оси установлено значение Автоматически или Середина ячейки (вкладка Главная, группа Стили, Условное форматирование, Создать правило, стиль формата Гистограмма, кнопка Отрицательные значения и ось), а затем внесите нужные изменения.

Одна или несколько ячеек книги содержат условное форматирование, использующее ссылки на более чем 8192 несмежных диапазона ячеек. Такие условные форматы не будут сохранены.

Что это означает. В Excel 97–2007 г. условное форматирование, ссылаясь на более чем 8192 неотрывных области ячеек, не отображается на этом сайте.

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

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

Проблемы, которые приводят к небольшой потере точности

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

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

Однако все правила условного форматирования остаются доступными в книге и применяются при повторном ее повторном Excel 2010 г. или более поздней, если они не были изменены в Excel 97–2007.

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

Источник

Ад Условного Форматирования

Порядок необходим глупцам,
гений же властвует над хаосом.
(Альберт Эйнштейн)

Исходные данные

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

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

Для наглядности к таблице добавлены три правила условного форматирования:

Первое правило делает синие гистограммы на столбце с суммами сделок. Создается через Главная — Условное форматирование — Гистограммы (Home — Conditional formatting — Data bars) .

Второе — подсвечивает желтым ячейки с именами менеджеров, которые не выполнили план, т.е. сумма их сделки меньше, чем зелёная ячейка H2.

Третье — делает нижнюю границу всей строки красной, если день меняется на следующий, т.е. дата в текущей строке не равна дате в следующей.

Второе и третье правила создаются через Главная — Условное форматирование — Создать правило — Использовать формулу для определения форматируемых ячеек (Home — Conditional formatting — Create rule — Use formula to determine which cells to format) с вводом соответствующей формулы (2) и настройкой формата ячеек (3):

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

Путь к катастрофе

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

Красная линия между 2 и 3-м марта почему-то исчезла, а наше правило условного форматирования для разделения дат развалилось на два, причем одно из них с ошибкой #ССЫЛКА (т.е. не работает), а другое применяется к двум несмежным диапазонам A2:E8 и A10:E29 (не ко всей таблице!).

Теперь представим, что Кирилл Краснов повторил свою сделку в Тольятти с магазином «Лента» (строка 25) и вам нужно внести эти данные в таблицу.

Как вы поступите?

Скорее всего, как любой нормальный человек, вы скопируете 25-ю строчку и вставите её в конец таблицы, верно?

Ага, и получите в наследство вот такой бардак в правилах условного форматирования:

Excel зачем-то продублировал те же правила для добавленной строки вместо того, чтобы просто растянуть диапазон в поле Применяется к (Applied to) .

Ну, и на десерт давайте попробуем ещё что-нибудь безобидное — например, вставить пустую строку в середину таблицы, между 4 и 5-й строчками:

В списке правил условного форматирования это приведёт к появлению еще одного дубликата и раздроблению диапазона уже существующего 5-го правила на кучу фрагментов:

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

  • появлению бесчисленных дубликатов одних и тех же правил
  • фрагментации диапазонов применения этих правил
  • появлению неработающих правил с ошибками #ССЫЛКА!

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

На англоязычных Excel-форумах в интернете такую картину называют иногда «адом» или «кошмаром условного форматирования» («Conditional Formatting Nightmare» или «Conditional Formatting Hell»).

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

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

Как же всё исправить?

Способ 1. Вручную

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

Для этого делаем следующее:

  1. Выделяем в нашей таблице все строки кроме первой.
  2. Удаляем все правила условного форматирования с выделенных ячеек через Главная — Условное форматирование — Удалить правила — Удалить правила из выделенных ячеек (Home — Conditional formatting — Clear rules — Clear rules from selected cells) .
  3. Выделяем первую строку, жмём кнопку-кисточку Формат по образцу на Главной (Home — Format Painter) и выделяем все остальные строки, копируя на них формат с первой.

Способ 2. Макросом

Если есть ощущение, что подобную процедуру вам придётся проделывать ещё не раз, то имеет смысл автоматизировать весь процесс с помощью макроса. Для этого:

  1. Жмём сочетание клавиш Alt + F11 или на вкладке Разработчик кнопку Visual Basic (Developer — Visual Basic) .
  2. В открывшемся окне редактора макросов добавляем в нашу книгу новый модуль через меню Insert — Module.
  3. Вставляем в созданный пустой модуль наш макрос:

Теперь можно будет просто выделить все строки в таблице (кроме шапки) и запустить макрос через Разрабочик — Макросы (Developer — Macros) или сочетанием клавиш Alt + F8 .

И всё будет хорошо 🙂

И не забудьте сохранить файл в формате с поддержкой макросов (xlsm).

Если нужно применять этот макрос в других файлах, то имеет смысл поместить его в Личную Книгу Макросов (Personal Macro Workbook).

Немного улучшенная версия этого макроса уже встроена в последнюю версию моей надстройки PLEX 😉

Источник

Понравилась статья? Поделить с друзьями:
  • Ошибка при сохранении файла word нет
  • Ошибка при сохранении файла word 2003
  • Ошибка при сохранении документов word
  • Ошибка при сохранении документа word
  • Ошибка при сохранении word 2010