请帮助解决以下问题:
在Excel中,我有这个表:
我有这个公式来查找“每个主机的核心数”和“每个主机的GHz数”的组合,它满足“每个主机所需的核心数”和“每个主机所需的GHz数”的值
=(INDEX(CPUData;MATCH(1;(CoresHost>C66)*(ghzHost>C36/C8);0);1))
其中CPUData是没有标题的表,CoresHost和ghzHost是包含上表中值的列的已定义名称。
该公式正在运行,但问题是,不是返回大于所需值的值,而是返回较小的值。
例如,如果符合要求或完全超出要求的处理器是E52630,它将返回E52643。
我尝试过使用-1和0,但我试过的任何组合都会给我一个错误或一个完全错误的值。
如何让它返回完全符合或超出要求的处理器?
答案 0 :(得分:1)
假设您使用的是Excel表格(即{%load date_tags %}
)。如果是,请使用ListObject
的“BuiltIn Names”,而不是使用Defined Names
。
请尝试使用此公式:
ListObject
或者此变体将索引限制为=(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)
= 144; C66
= 144& C36
= 5
无论表格开头的空白记录如何,这都有效。