Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как затемнить ячейки на основе значения другого столбца или выбора из выпадающего списка в Excel?

Author Sun Last modified

В практических задачах Excel часто возникают ситуации, когда необходимо сделать данные визуально выделяющимися или менее заметными в зависимости от значения связанной ячейки. Общее требование заключается в том, чтобы автоматически «затемнять» (приглушать или визуально деактивировать) определенные ячейки, когда другой столбец содержит конкретное значение или когда выбор сделан из выпадающего списка.
Такое динамическое форматирование упрощает интерпретацию больших наборов данных, помогает рабочему процессу там, где требуется ограничить ввод, или поясняет, какие элементы в данный момент не являются действенными. Например, столбец статуса проекта может вызывать затемнение описания задачи, если статус указан как «Завершено».
В этой статье представлено несколько эффективных способов затемнения ячеек на основе значений другого столбца или выбора из выпадающего списка в Excel, охватывающих как стандартное условное форматирование, так и более сложные подходы с использованием VBA для комплексных требований. Вы также найдете предложения по устранению неполадок и практические советы по использованию.
grey out cells based on another column

Затемнение ячеек на основе другого столбца или выбора из выпадающего списка

VBA: Автоматизация затемнения ячеек на основе другого столбца или выпадающего списка


arrow blue right bubble Затемнение ячеек на основе другого столбца или выбора из выпадающего списка

Предположим, у вас есть два столбца: столбец A содержит ваши основные данные (например, задачи или описания), а столбец B содержит флаги или индикаторы состояния (например, "ДА"/"НЕТ" или выбор из выпадающего списка). Возможно, вы захотите визуально затемнить элементы в столбце A на основе значений в столбце B. Например, когда ячейка в столбце B показывает "ДА", соответствующая ячейка в столбце A будет выглядеть затемненной, помечая её как неактивную или выполненную. Если в столбце B указано что-то отличное от "ДА", столбец A сохранит свой обычный вид.

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

1. Выберите ячейки в столбце A, которые вы хотите автоматически затемнить на основе другого столбца. Например, выберите A2:A100 (выбирайте только ячейки, которые соответствуют диапазону, используемому в столбце B). Затем перейдите к Главная > Условное форматирование > Новое правило.
click Home > Conditional Formatting > New Rule

2. В диалоговом окне Новое правило форматирования щелкните Использовать формулу для определения форматируемых ячеек. Введите эту формулу =B2="ДА" в поле Форматировать значения, для которых эта формула верна, которая проверяет, является ли значение в соответствующей ячейке столбца B "ДА":

3. Затем нажмите кнопку Формат В диалоговом окне Формат ячеек выберите серый цвет на вкладке Заливка Это будет цвет фона, используемый для затемнения.
specify options in the New Formatting Rule dialog

4. После установки цвета нажмите ОК чтобы закрыть окно Формат ячеек, а затем нажмите ОК ещё раз, чтобы применить новое правило форматирования.
the cells have been greyed out based on another column values

С этого момента, когда столбец B отображает "ДА", соответствующая ячейка в столбце A будет выглядеть затемненной. Если в столбце B изменить значение на другое (например, "НЕТ" или пустое), внешний вид столбца A вернётся к нормальному. Этот метод мгновенный и не требует ручного обновления после настройки.

Советы: Чтобы применить это с выпадающим списком в столбце B, процесс аналогичен. Этот подход особенно полезен, когда контрольный столбец использует стандартизированные варианты выбора, такие как статус проекта ("В процессе", "Завершено"), флажки ("Готово", "Ожидание") или списки проверки с определёнными допустимыми значениями.

Чтобы создать выпадающий список в столбце B (контрольном столбце):

  1. Выберите ячейки в столбце B, где вы хотите иметь выпадающее меню.
  2. Щелкните Данные > Проверка данных.
  3. В диалоговом окне Проверка данных выберите Список из Разрешить раскрывающегося меню. В поле Источник введите или выберите диапазон ячеек, содержащих допустимые значения (например, ДА,НЕТ).
    create a drop down list in the Data Validation dialog

Теперь у вас есть выпадающий список в каждой ячейке столбца B, позволяющий пользователям выбирать из предопределённых вариантов:
the drop down list has been created

Повторите настройку Условное форматирование как указано выше, используя формулу, соответствующую элементу, который должен запускать затемнение (например, =B2="ДА"). После применения условного форматирования, целевые ячейки в столбце A будут автоматически затемняться при выборе "ДА" в выпадающем списке столбца B.
repeat the steps to get the result

Дополнительные советы и предостережения:
- Убедитесь, что ваш диапазон условного форматирования в столбце A соответствует области данных и согласован со ссылками на столбец B. Если они рассинхронизированы, форматирование может не применяться должным образом.
- При копировании или заполнении данных в столбцах проверьте, что ссылки (например, B2) обновляются соответствующим образом.
- Для достижения лучших результатов очистите старое форматирование из ваших диапазонов перед применением новых правил.
- Чтобы удалить эффект затемнения, измените значение триггера правила в столбце B или удалите правило условного форматирования.
- Если ваш лист совместно используется, убедитесь, что пользователи знают, какие значения запускают формат.

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

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

arrow blue right bubble VBA: Автоматизация затемнения ячеек на основе другого столбца или выпадающего списка

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

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

1. Щелкните Инструменты разработчика > Visual Basic для открытия редактора VBA (Alt+F11 — это сочетание клавиш). В окне VBA нажмите Вставка > Модуль. В новый модуль скопируйте и вставьте следующий код:

Sub GreyOutCellsBasedOnAnotherColumn()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim checkCol As String
    Dim dataCol As String
    Dim i As Long
    Dim triggerValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    '----- Set parameters here -----
    Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
    checkCol = "B" ' Column to check (e.g., B)
    dataCol = "A" ' Column to grey out (e.g., A)
    triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.

    '----- Find last row in the check column -----
    lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Assumes header in row 1
        If ws.Cells(i, checkCol).Value = triggerValue Then
            ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
        Else
            ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
        End If
    Next i
End Sub

2. Чтобы запустить макрос, нажмите F5, когда активно окно кода. Макрос проходит по каждой строке вашего рабочего листа — начиная со строки 2 (поэтому ваша первая строка может оставаться заголовком) — и проверяет столбец B на наличие триггерного значения (по умолчанию, "ДА"). Если он его находит, он заливает соответствующую ячейку в столбце A серым цветом. Если триггерное значение отсутствует, любая предыдущая серая заливка удаляется (сброс ячейки до исходного вида).

Вы можете настроить следующие параметры в коде:

  • checkCol: Столбец для проверки (например, "B")
  • dataCol: Столбец для затемнения (например, "A")
  • triggerValue: Значение для сравнения для серой заливки (например, "ДА", "Завершено", любое значение в вашем списке)

Предостережения и советы:

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

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

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек