Javascript 具有三个以上条件的IFS
这个公式在我看来是正确的,但对我来说不起作用Javascript 具有三个以上条件的IFS,javascript,jquery,arrays,excel,performance,Javascript,Jquery,Arrays,Excel,Performance,这个公式在我看来是正确的,但对我来说不起作用 =IFS(M2=0,“PAR0”,M2>0,“PAR1”,M2>7,“PAR7”,M2>14,“PAR14”,M2>30,“PAR30”,M2>60,“PAR60”,M2>90,“PAR90”) 我希望它返回PAR(s),但它只给我0和1,这可能是它的问题所在问题是,如果值为0,那么它会在找到的第一个匹配项PAR0处停止,如果值大于0,那么它会在第二个条件下停止并输出PAR1。IFS条件下的顺序非常重要。 您需要颠倒逻辑条件,从最高点开始,然后到最低
=IFS(M2=0,“PAR0”,M2>0,“PAR1”,M2>7,“PAR7”,M2>14,“PAR14”,M2>30,“PAR30”,M2>60,“PAR60”,M2>90,“PAR90”)
我希望它返回PAR(s),但它只给我0和1,这可能是它的问题所在问题是,如果值为0,那么它会在找到的第一个匹配项PAR0处停止,如果值大于0,那么它会在第二个条件下停止并输出PAR1。IFS条件下的顺序非常重要。 您需要颠倒逻辑条件,从最高点开始,然后到最低点……如下所示。下面是H2,但您可能希望将其更改为M2
=IFS(H2>90,"PAR90",H2>60,"PAR60",H2>30,"PAR30",H2>14,"PAR14",H2>7,"PAR7",H2>0,"PAR1",H2=0,"PAR0")
数据和输出示例如下图所示。
所以使用vlookup:
数据表易于控制
Vlookup从数据表的第2列获取结果
C2是B2中的函数,其他示例将其向下拖动
以下为文本:
VLOOKUP(A2,D$3:E$9,2,1)
这是索引/匹配的作业
="PAR"&INDEX({0,1,7,14,30,60,90},MATCH(M2,{0,1,7,14,30,60,90},1))
第一个数组0到90是索引。Match函数返回M2相对于其自身数组的求值。公式返回索引中的第n个值,其中n是匹配函数的结果。您可以单独测试后者
评估基于=>。因此,如果M2正好包含7,则返回PAR7。6返回PAR1。如果您需要PAR7仅对7以上的数字生效,请按如下所示更改MATCH函数的数组
MATCH(M2,{0,1,8,15,31,61,91},1)
请提供更多上下文。还请格式化代码以使其更具可读性。制作数据表并使用vlookup()。更容易查看和编辑。