函数中嵌套的IF不起作用
嗨,我试图在C2中input一个函数,以便为列B中给出的分钟数分配一个数值。这个标准可以在上面的图片中看到(从G1开始)。
我曾尝试使用从类似的情况复制的公式,但不工作:
= IF(B2 <= $ A $ 2,5,IF(B2 <= $ A $ 3,4,IF(B2 <= $ A $ 4,3,IF(B2 <= $ A $ 5,2,1))))
任何帮助将不胜感激,谢谢
上面的@Jeeped的build议将简化所需的公式。 如果必须保留上面列出的“A”和“B”单元格,则必须从“x min”格式中提取数字,并将“x”转换为数字,以便进行比较(我假设数字后面有一个“”,也可以search“min”)。
=VALUE(LEFT(A2,SEARCH(" ",A2)-1))
使用以上,如果A2 =“60分钟”,公式将产生一个“60”。
现在单元格的内容可以看作是数字,可以进行比较。 C2的公式:
=IF(VALUE(LEFT(B2,SEARCH(" ",B2)-1))<=VALUE(LEFT($A$2,SEARCH(" ",$A$2)-1)),5, IF(VALUE(LEFT(B2,SEARCH(" ",B2)-1))<=VALUE(LEFT($A$3,SEARCH(" ",$A$3)-1)),4, IF(VALUE(LEFT(B2,SEARCH(" ",B2)-1))<=VALUE(LEFT($A$4,SEARCH(" ",$A$4)-1)),3, IF(VALUE(LEFT(B2,SEARCH(" ",B2)-1))<=VALUE(LEFT($A$5,SEARCH(" ",$A$5)-1)),2,1))))
这是丑陋的,但原来的问题。
尝试这个公式(在这种情况下为C2):
=SUM((B2<=$A$2:$A$5)*1)+1
使用它作为数组公式很重要。 所以在你的单元格中input或插入这个公式之后,不要只用Return来提交,而要按Ctrl + Shift + Return。 如果你做的是正确的,你的公式将会被公式栏中的大括号所包围:
{=SUM((B2<=$A$2:$A$5)*1)+1}