我想知道我是否可以得到一些有关以下公式的帮助。尝试添加到原始 IF 语句中,但当我们的团队添加它时,我们遇到了参数过多的错误。
非常感谢任何指导,谢谢!
原来的:
=IFERROR(IF(Testing_Summary!G62="Correct",IF(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>65,"Requires Significant Improvement",IF(AND(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>37,OR(B19="Good",B19="Requires Improvement")),"Requires Improvement",IF(AND(B14="No",OR(B19="Good",B19="Requires Improvement")),"Requires Improvement",B19))),""),"")
我们想要做的:
=IFERROR(IF(Testing_Summary!G62="Correct",IF(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>69,"Requires Significant Improvement",IF(AND(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>51,OR(B18="Good",B18="Satisfactory")),"Satisfactory", IF(AND(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>37,OR(B18="Good",B18="Satisfactory",B18=”Requires Improvement”)),"Requires Improvement",IF(AND(B13="No",OR(B18="Good",B18="Satisfactory", B18=Requires Improvement”)),"Requires Improvement",B18))),""),"",””))
答案1
所需公式的末尾有三组,""
字符串。您必须删除其中的第一组和第二组字符串,保留每组字符串后的右括号。然后添加另一个右括号,并删除最后一个右括号,这样末尾就只有一个了。您的公式将如下所示:
=IFERROR(IF(Testing_Summary!G62="Correct",IF(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>69,"Requires Significant Improvement",IF(AND(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>51,OR(B18="Good",B18="Satisfactory")),"Satisfactory", IF(AND(ROUNDUP((Testing_Summary!F61/Testing_Summary!F62*100),0)>37,OR(B18="Good",B18="Satisfactory",B18=”Requires Improvement”)),"Requires Improvement",IF(AND(B13="No",OR(B18="Good",B18="Satisfactory", B18=Requires Improvement”)),"Requires Improvement",B18))))),””)
因此,您之前以 结束的位置B18))),""),"",””))
,现在将以 结束B18))))),””)
。
您可能想“改进”当前公式,其中“改进”的意思是删除不必要的东西,您不需要ROUNDUP
在几个IF
测试中做这项工作。请注意,如果使用ROUNDUP
有助于人们理解公式,那么我建议的将不会是一种改进,除非公式在您的电子表格中以某种方式使用了数万次。理解总是比计算速度更重要!
因此,目前的逻辑是“将一个值除以另一个值,将其乘以 100 以获得小数点左侧所需的数字,然后将其四舍五入以获得一个整数,该整数可以“给予怀疑的好处”,可以这么说,将其与一个百分比的整数表示值进行比较。”但是,如果您只是进行除法,得到一个值,例如 0.693665,然后将它与比较值的两位数十进制版本进行比较,则会得到相同的结果。(比较两位数的小数,使它们处于相同的比例,就像乘以 100 可以将其与整数版本进行比较,并与实现四舍五入相同结果的值进行比较。)
在上述情况下,Excel 当前会将“0.693665”乘以 100 得到“69.3665”,将其四舍五入到“个位”,然后截断得到“70”,最后将其与“69”进行比较,发现它大于它,并将 赋值为 TRUE IF
。如果不执行上述操作,Excel 会执行除法得到“0.693665”,将其与“69”进行比较,发现它大于它,并将 赋值为 TRUE IF
。结果相同,但每次少进行一次乘法,每次少计算一个函数。
在此过程中,您可以清除相当多的“混乱”,这实际上可能有助于人们一年后理解该公式,并有助于未来的改进。
第二件事,如果想要这样做,Excel 将允许您%
在值后直接使用符号,使其变为输入值的百分之一。因此,输入后69%
Excel 会将其视为“0.69”……但有一个非常好的功能,即使用易于理解的两位整数,这样就不会有人错过小数点。由于您想要比当前值少 0.01 的值来实现此ROUNDUP
效果,因此您可以输入“69%”、“51%”和“37%”,但 Excel 会将它们视为两位小数。这对您和 Excel 都有好处。
如果您愿意这样做,可以按照以下步骤进行:
=IFERROR(IF(Testing_Summary!G62="Correct",IF(Testing_Summary!F61/Testing_Summary!F62>69%,"RequiresSignificantImprovement",IF(AND(Testing_Summary!F61/Testing_Summary!F62>51%,OR(B18="Good",B18="Satisfactory")),"Satisfactory",IF(AND(Testing_Summary!F61/Testing_Summary!F62>37%,OR(B18="Good",B18="Satisfactory",B18=”RequiresImprovement”)),"RequiresImprovement",IF(AND(B13="No",OR(B18="Good",B18="Satisfactory",B18=RequiresImprovement”)),"RequiresImprovement",B18))))),"")