Excel嵌套错误

时间:2013-05-04 13:38:21

标签: excel if-statement nested

我正在使用Excel 2013,我必须创建一个If语句,它基本上根据某个标记号选择学生的成绩(显然,需要嵌套)这是我创建的If语句:

=IF(E2<=20,"N",
IF(OR(E2>=21,E2<=25),4,
    IF(OR(E2>=26,E2<=32),"5C",
        IF(OR(E2>=33,E2<=38),"5B", 
            IF(OR(E2>=39, E2<=44), "5A", 
                IF(OR(E2>=45, E2<=53), "6C", 
                    IF(OR(E2>=54, E2<=61), "6B", 
                        IF(OR(E2>=62, E2<=71), "6A", 
                            IF(OR(E2>=72, E2<=87), "7C", 
                                IF(OR(E2>=88, E2<=103), "7B", 
                                    IF(OR(E2>=104, E2<=120), "7A")))))))))))

我收到的错误是:

  

无法输入指定的公式,因为它使用的嵌套级别高于当前文件格式允许的嵌套级别

我的问题是,如何缩短此声明以允许Excel使用它?

5 个答案:

答案 0 :(得分:6)

将逻辑放在电子表格单元格中。一栏为最低分,一栏为等级 - :

       A     B 
1      0     N
2      21    4
3      26    5C
4      33    5B
5      39    5A
6      45    6C
7      54    6B
8      72    7C
9      88    7B
10    104    7A

然后执行vlookup以获得实际分数的分数。 vlookup将在A列中找到小于查找值38的最高值。

在示例vlookup中,38是得分,A1:B10是查找表2是包含结果(等级)的第2列(在本例中为B列)。

=VLOOKUP(38, A1:B3, 2, TRUE)

答案 1 :(得分:1)

您还可以使用以下公式。

=LOOKUP(E2;{0;21;26;33;39;45;54;62;72;88;104;121};{"N";4;"5C";"5B";"5A";"6C";"6B";"6A";"7C";"7B";"7C";"No match"})

答案 2 :(得分:0)

有几种不同的解决方案。 AND使用OR而不是第一个想到的协议{/ 1}}。

=IF(E2<=20,"N",
IF(AND(E2>=21,E2<=25),4,
    IF(AND(E2>=26,E2<=32),"5C", ...

答案 3 :(得分:0)

在我看来,最好的方法是编写UDF。然后,您可以使用VBA和CASE语句。 在VBA中尝试使用此代码创建名为GRADE()的UDF - 只需将其键入VBE中的MODULE:

'use strict';

require('./simple_test.js');
require('./story_test.js');

然后像使用任何其他函数一样使用函数GRADE(),但输入参数的地址 - 就像这个GRADE(B7)一样使用它

答案 4 :(得分:-1)

[HttpPost]
public ActionResult ConvertCurrentPageToPdf(FormCollection collection)
{
    object model = null;
    ViewDataDictionary viewData = new ViewDataDictionary(model);

    // The string writer where to render the HTML code of the view
    StringWriter stringWriter = new StringWriter();

    // Render the Index view in a HTML string
    ViewEngineResult viewResult = ViewEngines.Engines.FindView(ControllerContext, "Index", null);
    ViewContext viewContext = new ViewContext(
            ControllerContext,
            viewResult.View,
            viewData,
            new TempDataDictionary(),
            stringWriter
            );
    viewResult.View.Render(viewContext, stringWriter);

    // Get the view HTML string
    string htmlToConvert = stringWriter.ToString();

    // Get the base URL
    String currentPageUrl = this.ControllerContext.HttpContext.Request.Url.AbsoluteUri;
    String baseUrl = currentPageUrl.Substring(0, currentPageUrl.Length - "Convert_Current_Page/ConvertCurrentPageToPdf".Length);

    // Create a HTML to PDF converter object with default settings
    HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

    // Convert the HTML string to a PDF document in a memory buffer
    byte[] outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlToConvert, baseUrl);

    // Send the PDF file to browser
    FileResult fileResult = new FileContentResult(outPdfBuffer, "application/pdf");
    fileResult.FileDownloadName = "Convert_Current_Page.pdf";

    return fileResult;
}

我发现4个单元格中的最终状态为正,负,推荐,待定或空白