除非另一个值较低,否则映射标准的MAX

时间:2017-03-16 11:17:58

标签: excel excel-formula excel-2010

我过去曾问过this个问题。我现在需要做的是在实体最后一栏中列出Dan Dan's Bakery。原始实体通过映射表,MAX限制在Limit final列中。这是公式{=MAX(IF(ISNUMBER(MATCH($G$2:$G$110,IF('Mapping Table'!$B$4:$B$204=B25,'Mapping Table'!$A$4:$A$204),0)),$D$2:$D$110))}。在上面的公式中,Match的查找值是Parent Connection(G)列,映射表将具有特定名称的任何实体映射到父级,D列将是Limit 1,因为有一个隐藏列。希望足够清楚。

我现在想写一个类似的公式,以便在Entity final列中显示具有最高限制和 WORST 风险评级的任何实体。意思是,在下面的例子中,Dan的Groceries将是我想要在Entity final列中生成的实体,因为它的信用限额为30,评级越高(评级越低越好)。有什么想法吗?

编辑 (3月21日):我需要一个公式,它会考虑将注册上述公式的映射以及将评级纳入帐户。

enter image description here

我改变了公式, =INDEX($A$1:$A$7,MATCH(MIN((1-IF($B$1:$B$7=B1,$D$1:$D$7)/MIN(IF($B$1:$B$7=B1,$D$1:$D$7)))+IF($B$1:$B$7=B1,$C$1:$C$7)/MAX(IF($B$1:$B$7=B1,$C$1:$C$7))),(1-$D$1:$D$7/MIN(IF($B$1:$B$7=B1,$D$1:$D$7)))+IF($B$1:$B$7=B1,$C$1:$C$7)/MAX(IF($B$1:$B$7=B1,$C$1:$C$7)),0))

但是,我遇到了错误。例如,如果我将“其他”的“限制”列更改为“30”,则结果为Dan's Bakery,或者当我更改Dan's Shakes limit to 40 (assuming it will be the correct最终实体it seems to be taking the MIN rating as the ultimate decider with Dan's Fuel`时仍然是结果。

1 个答案:

答案 0 :(得分:0)

因此,如果您的LimitRating价值相同,则可以将其缩放为01之间的值。在此之后,简单的添加会将其中一个实体评为“赢家”。

以下是可以执行所需操作的示例数据和数组公式(使用Ctrl + Shift + Enter应用数组公式:

数据:

A               B   C
Dan's Shakes    25  3
Dan's Groceries 30  2   
Dan's Floral    10  2   
Dan's Bakery    30  1   
Dan's Fuel      20  4   

公式:

=INDEX(A1:A5,MATCH(MAX((1-C1:C5/MAX(C1:C5))+B1:B5/MAX(B1:B5)),(1-C1:C5/MAX(C1:C5))+B1:B5/MAX(B1:B5),0))

结果:

A               B   C   D
Dan's Shakes    25  3   Dan's Bakery
Dan's Groceries 30  2   
Dan's Floral    10  2   
Dan's Bakery    30  1   
Dan's Fuel      20  4   

修改

当您介绍父母时,您的数据将如下所示:

A               B           C   D    
Dan's Shakes    Dan Corp    25  3
Dan's Groceries Dan Corp    30  2
Dan's Floral    Dan Corp    10  2
Dan's Bakery    Dan Corp    30  1
Dan's Fuel      Dan Corp    20  4
Something Else  Bob Corp    30  2
Other           Bob Corp    50  1

你的数组公式:

=INDEX($A$1:$A$7,MATCH(MAX((1-IF($B$1:$B$7=B1,$D$1:$D$7)/MAX(IF($B$1:$B$7=B1,$D$1:$D$7)))+IF($B$1:$B$7=B1,$C$1:$C$7)/MAX(IF($B$1:$B$7=B1,$C$1:$C$7))),(1-$D$1:$D$7/MAX(IF($B$1:$B$7=B1,$D$1:$D$7)))+IF($B$1:$B$7=B1,$C$1:$C$7)/MAX(IF($B$1:$B$7=B1,$C$1:$C$7)),0))

结果:

A               B           C   D   E
Dan's Shakes    Dan Corp    25  3   Dan's Bakery
Dan's Groceries Dan Corp    30  2   Dan's Bakery
Dan's Floral    Dan Corp    10  2   Dan's Bakery
Dan's Bakery    Dan Corp    30  1   Dan's Bakery
Dan's Fuel      Dan Corp    20  4   Dan's Bakery
Something Else  Bob Corp    30  2   Other
Other           Bob Corp    50  1   Other