Соответствие и условное форматирование из матрицы - PullRequest
0 голосов
/ 12 марта 2020

Взгляните на эту матричную схему, которая у меня есть:

enter image description here

Это похоже на "базу", которая заполнена -1- и - _ - и где -1- означает несовместимость с некоторыми из этих параметров.

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

=MATCH(A10;$T$14:$T$121;0) 
=MATCH(A10;$S$14:$BL$14;0)

Так для горизонтального и вертикального соответствия (первое совпадение - вертикальное, а второе - второе). по горизонтали), а затем:

=OR(INDEX($S$14:$BO$119;B12;$B$13)="nk";INDEX($S$14:$BO$119;B12;$C$13)="nk";INDEX($S$14:$BO$119;B12;$D$13)="nk";INDEX($S$14:$BO$119;B12;$E$13)="nk";INDEX($S$14:$BO$119;B12;$F$13)="nk";INDEX($S$14:$BO$119;B12;$G$13)="nk";INDEX($S$14:$BO$119;B12;$H$13)="nk";INDEX($S$14:$BO$119;B12;$I$13)="nk")

.. Для утверждения true / false, когда что-то совместимо с чем-либо, поэтому я могу использовать его в условном форматировании.

Есть ли другой способ сделать это? Чтобы я мог адекватно и на 100% исправить совпадения при выборе некоторых опций в раскрывающихся списках?

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

=OR(INDEX(_0359_matrix[#All];E16;$B$14)="1";INDEX(_0359_matrix[#All];E16;$C$14)="1";INDEX(_0359_matrix[#All];E16;$D$14)="1";INDEX(_0359_matrix[#All];E16;$D$14)="1";INDEX(_0359_matrix[#All];E16;$E$14)="1";INDEX(_0359_matrix[#All];E16;$F$14)="1";INDEX(_0359_matrix[#All];E16;$G$14)="1";INDEX(_0359_matrix[#All];E16;$H$14)="1";INDEX(_0359_matrix[#All];E16;$I$14)="1";INDEX(_0359_matrix[#All];E16;$J$14)="1";INDEX(_0359_matrix[#All];E16;$K$14)="1";INDEX(_0359_matrix[#All];E16;$L$14)="1";INDEX(_0359_matrix[#All];E16;$M$14)="1";INDEX(_0359_matrix[#All];E16;$N$14)="1";INDEX(_0359_matrix[#All];E16;$O$14)="1";INDEX(_0359_matrix[#All];E16;$P$14)="1";INDEX(_0359_matrix[#All];E16;$Q$14)="1";INDEX(_0359_matrix[#All];E16;$B$17)="1")

.. предложенная формула не работает, как должно быть. Есть больше комбинаций, которые следует делать вместе. Немного грязно и трудно объяснить. enter image description here

Итак, 3-я попытка. Это всего лишь малая часть всей картины. Вниз в выпадающей области (поля yellowi sh) у вас есть разные группы (модель, датчики и т. Д. c), и каждый раз, когда я меняю некоторые из них, я должен получать положение там, где 2 (значение 2) в B14 и B15 настолько горизонтальные и вертикальные позиции, которые взяты из основной области матрицы. Это логическое значение false / true должно быть дано в любое время, когда есть определенное совпадение -> true для (1) и false, когда (_) и paralel меняют цвет на красный, когда я получил (1) или true. Дело в том, что, как вы видите, в одно и то же время может быть больше совпадений, скажем, например, некоторые части не совместимы с более чем 1-2 частями, и они должны одновременно красного цвета! Вот почему я сделал это = или (индекс) в функции B16, которая фактически берет все из матричной схемы, комбинируя позиции (B14 и B15) и давая мне правильный ответ.
Я не знаю, понятно ли это сейчас. Надеюсь, вы получили точку.

enter image description here

1 Ответ

1 голос
/ 12 марта 2020

Вам это помогает? Формула на рисунке:

=OFFSET(A1,MATCH(I9,A:A,0)-1,MATCH(I8,1:1,0)-1)
           ---------------   ---------------
                  |                 |
                  V                 V
=OFFSET(A1,       5       -1,       3       -1)

, что означает смещение от А1 вниз на 4 строки и вправо на 2 столбца, в результате чего вы попадаете в C5.

enter image description here

Соответствует строке заголовка и столбцу заголовка, чтобы получить его номер, а затем использует Offset для перемещения из A1 этого числа строк и столбцов, чтобы получить значение в сетке.

Of Конечно, как указал MG92, INDEX будет предпочтительнее, поскольку он не является волатильным:

=INDEX(A1:E6,MATCH(I9,A:A,0),MATCH(I8,1:1,0))
...