用INDEX(MATCH)返回大于X的值
请帮忙一下:
在Excel中,我有这个表格:
我有这个公式来查找“每主机核心”和“每主机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如何,这都是有效的。