Поскольку уже существует условное форматирование, я могу придумать как минимум три различных способа решения этой проблемы:
- Напишите UDF для определения цвета условного формата ячейки, а затем создайте формулу с шестнадцатью вложенными
IF(AND(),…)
операторами или чем-то эквивалентным.- Этот метод не имеет никаких реальных преимуществ
- Недостатки в том, что использование условного форматирования является медленным, UDF не является простым и требует переоценки формул условного форматирования вручную, и что необходимая формула является длинной, со встроенными «правилами», что затрудняет их просмотр / изменение.
- Craft девять (некоторые очень) длинные строк, определенные имени и написать формулу, которая требует только 4 вложенных
IF(…)
сек- Преимущество этого метода в том, что не требуется ни условного форматирования, ни каких-либо дополнительных ячеек
- Недостатком является то, что «правила» скрыты в определенных именах и их очень трудно понять / изменить
- Используйте три таблицы для определения отображений и используйте формулу, которая требует только трех вложенных
VLOOKUP(…)
функций- Плюсы в том, что он не требует условного форматирования, а правила компактны и их очень легко увидеть / изменить.
- Единственным недостатком является то, что требуется три таблицы
Я покажу, как реализовать третий метод.
Это тестовая таблица, показывающая образец данных из предоставленных снимков экрана, а также три обязательные таблицы с некоторыми заполненными данными (некоторые из которых составлены):
Первая таблица содержит простое отображение MRPcn
значений в соответствующие категории.
Вторая таблица содержит сопоставления X-Plant
значений со своими соответствующими категориями. Если значение, такое как одно из гипотетических Z
s, не принадлежит ни к одной из четырех категорий, значение категории должно быть установлено на что-то уникальное. (Я использовал само X-Plant
значение.)
В третьей таблице сопоставляется «перекрестное произведение» двух категорий в предыдущих двух таблицах с соответствующими MS
значениями. Это где «правила» определены. Совокупным продуктом является просто конкатенация каждого из уникальных значений Category
столбца таблицы 1 с каждым из уникальных значений Category
столбца таблицы 1.
Обратите внимание, что перекрестные продукты не должны быть в каком-то определенном порядке. Также обратите внимание, что для каждой некатегоризируемой записи в таблице 2 необходимо создать четыре записи в таблице 3.
Наконец, как видно на скриншоте, поместите следующую формулу в G2
:
=VLOOKUP(VLOOKUP(D2,$I:$J,2,FALSE)&VLOOKUP(F2,$L:$M,2,FALSE),$O:$P,2,FALSE)