有这个:
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
,但我不确定这是否是最好的选择。
我也可以交换表中的列,所以我可以使用" Min | MAX |类"
X值在一列中。
基本上:=IF(X>=0 && X<16.5, Alpha, IF(X>=16.5 && X<18.5, Beta, IF(...
答案 0 :(得分:2)
我认为你的意思是VLOOKUP,并且会有更好的方式。
制作像这样的范围表
Min Class
0 Alfa
16.5 Beta
18.5 Charlie
25 Delta
30.5 Unidentified
在您的详细信息表中使用公式“= VLOOKUP(A2,Ranges!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
答案 1 :(得分:1)
如果您的最大范围名为MaxVal
且您的班级范围名为Class
,请尝试:
=IF(A2>30,"",INDEX(Class,MATCH(A2,MaxVal)))
(调整引用以适应)。
=MATCH()这里使用match_type
的{{1}}参数:“MATCH函数将找到小于或等于value的最大值。您应该确保按升序对数组进行排序。
如果省略match_type参数,则MATCH函数假定match_type为1.“
任何大于1
的X值都会返回空白(30
),但可插入文字以适合(例如""
而不是"Unidentified"
)。
如果在""
下Alpha
和Class
下0
下的Max
标签下方直接插入行,则可以通过删除错误陷阱来简化公式。同样通过以类似的方式删除条件。
没有必要指定每个范围的两个边界。
选择了INDEX / MATCH,而不是根据here给出的VLOOKUP。
PS对于希腊语* alpha *betα通常是Alpha。
编辑重新澄清
25
Delta
而不是Charlie
的最简单修复可能是从每个最大值中扣除少量数据,例如将25
更改为= 25-1/1E100
}。