Как сохранить изменения, сделанные на другом листе на основе условной формулы - PullRequest
0 голосов
/ 15 марта 2020

У меня есть 2 листа, лист A, где изменения вносятся с использованием раскрывающихся списков, и лист B (матрица или библиотека), который обновляется на основе условного форматирования.

Лист A

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

Image of Sheet A

Лист B

Это матрица обучения, в которой обучение каждого персонала с листа А записывается на листе Б с отметками. Каждая ячейка на листе B имеет условный код.

Пример: (=IF(OR(AND(SheetA!I7=CodeSheet!$AG$7,SheetA!H7="Y"),AND(SheetA!L7=CodeSheet!$AG$7,SheetA!K7="Y")),'Drop-Down'!$J$5,""))

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

Image of Sheet B

Проблема:

После завершения обучения персонала другой персонал будет выбран для обучения той же операции, используя функцию выпадающих. Но когда я делаю это, флажок для предыдущих сотрудников (которые прошли обучение) в матричном листе B. исчезает. Как я могу сделать изменения в Matrix Sheet B постоянными?

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

1 Ответ

0 голосов
/ 16 марта 2020

Это решение не от VBA. Вот шаги, которые я предпринял:

  • Обязательно отключите Итеративная функция [Файл / Опция / Формулы: снимите флажок Включить итеративный]
  • заполните формулу во всех необходимых ячейках.
  • теперь, значения формулы отображают = 0, используйте условное форматирование для Скрыть ноль
  • установите флажок «Включить итеративно» и установите с помощью максимум итераций = 1 для каждой следующей формулы
  • С каждым соответствующим значением в E4 каждая ячейка I4, J4, K4 будет работать только один раз

Это анимация, которая описывает, как она работает

E4=IF(AND(E4=0,$A$4="E"),$A$1,E4)
F4=IF(AND(F4=0,$A$4="F"),$A$1,F4)
G4=IF(AND(G4=0,$A$4="G"),$A$1,G4)

enter image description here

Ваша формула будет выглядеть примерно так:

E4=IF(AND(E4=0,OR(AND(SheetA!I7=CodeSheet!$AG$7,SheetA!H7="Y"),AND(SheetA!L7=CodeSheet!$AG$7,SheetA!K7="Y")),'Drop-Down'!$J$5,E4)
...