Excel-在IF和函数上输入太多参数
Excel在我的公式中抛出错误: 您为此函数输入的参数太多 IFANDJ2=盎司,K25,VLOOKUPD2,'一等盎司'$A$2:$B$17,2,0,如果J2=磅,K25,索引“磅和区域优先级”$A$2:$K$73,匹配2,'lbs和区域优先'$A$2:$A$73,0,MATCHH2,'lbs and zones priority'$A$2:$K$2,0Excel-在IF和函数上输入太多参数,excel,excel-formula,worksheet-function,Excel,Excel Formula,Worksheet Function,Excel在我的公式中抛出错误: 您为此函数输入的参数太多 IFANDJ2=盎司,K25,VLOOKUPD2,'一等盎司'$A$2:$B$17,2,0,如果J2=磅,K25,索引“磅和区域优先级”$A$2:$K$73,匹配2,'lbs和区域优先'$A$2:$A$73,0,MATCHH2,'lbs and zones priority'$A$2:$K$2,0 我知道这是一个非常难看的公式。根据您的代码,看起来您只需要为每个部分正确使用括号即可 正常,如果块如下所示: IF ( CONDITION,
我知道这是一个非常难看的公式。根据您的代码,看起来您只需要为每个部分正确使用括号即可 正常,如果块如下所示:
IF ( CONDITION,
<TRUE STATEMENT>,
<FALSE STATEMENT>
)
IF ( AND(J2="Ounces",K2<=5),
(VLOOKUP(D2,'Parcel Select oz Lightweight'!$A$2:$B$17,2,0)),
(IF(AND(J2="Ounces",K2>5),
(VLOOKUP(D2,'First Class oz'!$A$2:$B$17,2,0)),
(IF(AND(J2="Pounds",K2<=5),
(INDEX('lb and zones select'!$A$2:$K$73,MATCH(D2,'lb and zones select'!$A$2:$A$73,0),MATCH(H2,('lb and zones select'!$A$2:$K$2)))),
(IF(AND(J2="Pounds",K2>5),
(INDEX('lbs and zones priority'!$A$2:$K$73,MATCH(D2,'lbs and zones priority'!$A$2:$A$73,0),MATCH(H2,'lbs and zones priority'!$A$2:$K$2,0))),
(<Put a false part here, it was missing your code>)
))
))
))
)
对于嵌套语句或if,使用括号。
将所有嵌套的true和false语句部分放在括号中:
IF ( CONDITION,
(<TRUE STATEMENT>),
(<FALSE STATEMENT>)
)
通过这种方式,您的代码可以如下所示:
IF ( CONDITION,
<TRUE STATEMENT>,
<FALSE STATEMENT>
)
IF ( AND(J2="Ounces",K2<=5),
(VLOOKUP(D2,'Parcel Select oz Lightweight'!$A$2:$B$17,2,0)),
(IF(AND(J2="Ounces",K2>5),
(VLOOKUP(D2,'First Class oz'!$A$2:$B$17,2,0)),
(IF(AND(J2="Pounds",K2<=5),
(INDEX('lb and zones select'!$A$2:$K$73,MATCH(D2,'lb and zones select'!$A$2:$A$73,0),MATCH(H2,('lb and zones select'!$A$2:$K$2)))),
(IF(AND(J2="Pounds",K2>5),
(INDEX('lbs and zones priority'!$A$2:$K$73,MATCH(D2,'lbs and zones priority'!$A$2:$A$73,0),MATCH(H2,'lbs and zones priority'!$A$2:$K$2,0))),
(<Put a false part here, it was missing your code>)
))
))
))
)
请检查上述代码和您的代码的差异,以详细了解您错过括号开始或结束的地方。如果您用缩进分隔代码,您将看到您的第一个If有4个参数Condition、True语句、False语句、过多语句,而您的第二个和第四个If只有2个参数: =如果 ANDJ2=盎司,K25,//条件 VLOOKUPD2,“头等舱奥兹”$A$2:$B$17,2,0//True ,//没有错吗? 如果……太多了! ANDJ2=磅,K25,//条件 索引“lbs和区域优先级”$A$2:$K$73,//正确 匹配2,“lbs和区域优先”$A$2:$73,0澳元, 匹配2,“lbs和区域优先”$A$2:$K$2,0 //没有假的吗? 看起来您放错了括号,需要将其移到末尾
跳过False语句只意味着公式在这种情况下返回False只需将其分解为最小的部分,然后开始添加更多的内容即可。在组装之前,让每个单独的部件自己工作。这很费时,但并不难,你不应该因为不想让别人这么做而期望别人这么做。除此之外,这是一堂关于故障排除的基础课,这是一门非常基础的编程课。现在我仔细看,它有一些问题,在不知道您实际要做什么的情况下,其他任何人都不可能进行故障排除。扔掉它,重新开始,让每个人在把它们放在一起之前都能工作。另外,我要指出的是,你正在使用更多的函数,如果和作为你的标题状态。