值之间的值
拥有这个:
Class Min Max Alfa 0 16.5 Beta 16.5 18.5 Charlie 18.5 25 Delta 25 30
和这个:
Value X 35.52600894 26.27816853 29.53159178 29.84528548 26.77130341 25.07792506 19.2850645 42.77156244 29.11485934 29.5010482 19.30982162
我想要一个单元格有一个像IF语句的东西(它有更多的值,不是这么小,它有8个类)。 这么长时间的IF声明可能不起作用(IF限制为7),这是一个丑陋的做法。 我正在考虑使用hlookup
,但我不确定这是最好的select。 我也可以交换表内的列,所以我可以有一个列“Min | Max | Class”X值。
基本上: =IF(X>=0 && X<16.5, Alpha, IF(X>=16.5 && X<18.5, Beta, IF(...
我认为你的意思是VLOOKUP,而且会更好。
这样做一个范围工作表
Min Class 0 Alfa 16.5 Beta 18.5 Charlie 25 Delta 30.5 Unidentified
在您的详细信息表中使用公式“= VLOOKUP(A2,范围!A:B,2,TRUE)”[真是重要的]
你得到
Value X Class 35.52600894 Unidentified 26.27816853 Delta 29.53159178 Delta 29.84528548 Delta 26.77130341 Delta 25.07792506 Delta 19.2850645 Charlie 42.77156244 Unidentified 29.11485934 Delta 29.5010482 Delta 19.30982162 Charlie
使用名为MaxVal
的Max范围和名为Class
的Class范围,请尝试:
=IF(A2>30,"",INDEX(Class,MATCH(A2,MaxVal)))
(调整引用以适应)。
= MATCH()这里使用match_type
参数为1
:“MATCH函数将find小于或等于值的最大值。 您应该确保按升序对您的数组进行sorting。
如果省略match_type参数,则MATCH函数假定match_type为1.“
任何大于30
X值都会返回一个空白( ""
),但是可以插入文本以符合(例如"Unidentified"
而不是""
)。
如果一行被直接插入在Class
下的Alpha
和Max
下的0
下,则可以通过删除错误陷阱来简化公式。 也以类似的方式去除条件。
没有必要指定每个范围的两个边界。
由于这里给出的原因,selectINDEX / MATCH而不是说VLOOKUP。
PS对于希腊*阿尔法*赌注α通常是阿尔法。
编辑重新澄清
25
的最简单的解决scheme是Delta
而不是Charlie
可能是从每个最大值中扣除一小部分,例如25
变为= 25-1/1E100
。