Условное форматирование: Формула верна – формула XLOOKUP применяется только к одной ячейке, вместо того чтобы автоматически обновляться.

Вопрос или проблема

Я ломаю голову над этим. Я не знаю, возможно ли то, что я пытаюсь сделать в Excel (версии 2021), без VAB.

С одной стороны, у меня есть таблица, называемая “темарио”: вставьте описание изображения здесь

С другой стороны, у меня есть календа́рь, не в формате таблицы. Каждый “3A-16” – это код предмета, ячейка является функцией FILTER.

вставьте описание изображения здесь

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

Я хочу отформатировать эти ячейки на основе следующей формулы:

=ISNUMBER(SEARCH(XLOOKUP([calendar_cell];temario![range calendar_cell];[range cells used for formatting]);[aux for conditional formatting]))

Например,

=ISNUMBER(SEARCH(XLOOKUP(I7;temario!$D$2:$D$178;temario!$G$2:$G$178);$AF$4))

Столбец G содержит текст, совпадающий с любым из значений в колонке AF. Я пробовал эту формулу без условного форматирования, и она работает идеально.

В чем же тогда проблема?

Когда я применяю условное форматирование, оно работает только в ячейке, которую я установил в первую очередь, например, в ячейке “I7”. Если я перетаскиваю его в ячейку J7, оно продолжает ссылаться на I7 в моей формуле.

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

Заранее спасибо.

Ответ или решение

Условия форматирования в Excel: Динамическое применение формулы XLOOKUP

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

Почему это происходит?

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

Решение проблемы: Правильные относительные ссылки

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

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

    =ISNUMBER(SEARCH(XLOOKUP(A1; temario!$D$2:$D$178; temario!$G$2:$G$178); $AF$4))

    Здесь A1 будет относиться к ячейке, в которую вы применяете условное форматирование.

  2. Настройка условного форматирования:

    • Выберите диапазон ячеек (например, I7:J10), к которому вы хотите применить условное форматирование.
    • Перейдите в раздел "Условное форматирование" → "Создать правило" → "Использовать формулу для определения формата".
    • Введите вашу изменённую формулу как описано выше.
  3. Проверка и сохранение:
    После настройки вы увидите, что форматирование применено ко всем ячейкам диапазона динамически в зависимости от значений, найденных в каждой из них.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...