用INDEX(MATCH)返回大于X的值

请帮忙一下:

在Excel中,我有这个表格:

处理器按GHz

我有这个公式来查找“每主机核心”和“每主机GHz”的组合,它满足“每个主机所需的核心数量”和“每台主机所需的GHz”

=(INDEX(CPUData;MATCH(1;(CoresHost>C66)*(ghzHost>C36/C8);0);1)) 

其中CPUData是没有标题的表,CoresHost和ghzHost是包含上表中值的列的定义名称。

该公式正在工作,但问题是,不是返回大于所需的值,而是返回较小的值。

例如,如果符合要求的处理器或者正好超过要求的处理器是E52630,则会返回E52643。

我已经尝试使用-1和0,但是我尝试过的那些组合给了我一个错误或者一个完全错误的值。

我怎样才能得到它正确地符合或超过要求的处理器呢?

假设您正在使用Excel表(即ListObject )。 如果是这样,而不是使用Defined Names ,使用ListObject“BuiltIn名称”

试试这个公式:

 =(INDEX(CPUData,MATCH(1, (CPUData[Cores per Host]>C66)*(CPUData[GHz per host]>(C36/C8)),0),1)) 

或者这种将索引限制在Processor列而不是引用整个表的变体:

 =(INDEX(CPUData[Processor], MATCH(1,(CPUData[Cores per Host]>C66)*(CPUData[GHz per host]>(C36/C8)),0),1)) 

它返回E52630E (2,2GHz, 10Cores) ,其值如下: C66 = 144; C36 = 144& C8 = 5

无论表格开头的空白logging如何,这都是有效的。