Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有三个以上条件的IFS_Javascript_Jquery_Arrays_Excel_Performance - Fatal编程技术网

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()。更容易查看和编辑。