首页 > 解决方案 > 矩阵的匹配和条件格式

问题描述

看看我拥有的这个矩阵方案:

在此处输入图像描述

这就像用 -1- 和 - _ - 填充的“base”,其中 -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")

..当某物与某物兼容时,对于真/假语句,所以我可以在条件格式中使用它。

有没有其他方法可以做到这一点?这样当我在下拉菜单中选择一些选项时,我可以充分和 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")

..建议的公式不能正常工作。还有更多的组合应该一起做。有点混乱,很难解释。 在此处输入图像描述

所以第三次尝试。它只是整个画面的一小部分。在下拉区域(黄色字段)中,您有不同的组(模型、传感器等),每次我更改其中一些时,我应该在 B14 和 B15 中的 2´s(值为 2)的位置,如此水平和垂直位置取自主矩阵区域。这个假/真布尔值应该在有特定匹配时给出 -> true 为 ( 1 ) 和 false 当 ( _ ) 并且当我得到 ( 1 ) 或 true 时并行将颜色更改为红色。事情是你可以看到在同一时间可以有更多的匹配可以说,例如,一些零件与超过 1-2 个零件不兼容,它们必须同时变红!这就是我在 B16 函数中创建 this = or(index) 的原因,它实际上是从矩阵方案中获取所有内容,
不知道现在能不能理解。希望你明白了。

在此处输入图像描述

标签: excelvbaexcel-formulaexcel-2016

解决方案


这对你有帮助吗?图中的公式是

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

这意味着从 A1 偏移 4 行和右 2 列,这使您最终进入 C5。

在此处输入图像描述

它匹配标题行和标题列以获取其编号,然后使用Offset从 A1 移动这些行数和列数以获取网格中的值。

当然,正如 MG92 指出的那样,INDEX由于它不是易失性的,所以更可取:

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

推荐阅读