代码之家  ›  专栏  ›  技术社区  ›  DashCode17

在excel 2017中嵌套6个IF语句并获取#名称?错误

  •  0
  • DashCode17  · 技术社区  · 6 年前

    我试图在excel电子表格中嵌套6个IF语句,但我得到了错误#名称?我知道这很可能是语法错误。 但是我找不到语法错误。我在网上看到,你最多可以嵌套7条IF语句,这不适用于Excel 2017吗?

    以下是我的职责:

    =IF(AND(F2=KWILA, B14=0.14), B38, IF(AND(F2=KWILA, B14=0.9), C38, IF(AND(F2=VITEX, B14=0.9), C39, IF(AND(F2=PINE, B14=0.14), B40, IF(AND(F2=PINE, B14=0.9), C40, IF(AND(F2=MACRO, B14=0.14), B41, H2))))))
    

    谁能帮帮我吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   ashleedawg    6 年前

    在公式中组合函数时,从简单开始,使用单个函数。在添加第二个函数(或五个以上)使其变得更复杂之前,让它工作并生成所需的结果。


    因为你的问题没有包括你正在处理的数据的例子,我不能确定这个问题,但我怀疑你是在试图比较文本(字符串),比如 KWILA 到细胞(比如 A2 ).

    如果是这样,问题是文本(字符串)需要包含在 " 引号 " .


    几乎每次我超过两次 IF 当然,通常有更有效的方法来完成同样的事情。

    在这个cas中,我在记事本中拆分了公式,看看目标是什么:

    =IF(
        AND(F2=KWILA, B14=0.14), B38
        AND(F2=KWILA, B14=0.9),  C38, 
        AND(F2=VITEX, B14=0.9),  C39, 
        AND(F2=PINE, B14=0.14),  B40, 
        AND(F2=PINE, B14=0.9),   C40, 
        AND(F2=MACRO, B14=0.14), B41, 
     ...if none of the above:     H2
    

    我鼓励你仔细检查以上标准——因为乍一看,这看起来像是一个“破模式”。例如,有两个38、一个39、两个40和一个41。

    假设它是正确的,我会尽我所能寻找任何东西 ,我发现只有两种选择 B14 .所以我重新组合:

    =IF(B14=0.14,
       IF( F2=KWILA,     B38
           F2=PINE,      B40, 
           F2=MACRO,     B41,
    
     IF(B14=0.9,
       IF( F2=KWILA,     C38, 
           F2=VITEX,     C39, 
           F2=PINE,      C40, 
    
    ...if none of the above: H2
    

    我还注意到F2只有4个选项,所以我考虑使用CHOOSE而不是IF,但我不确定B14与其余数据之间的关系(因为它没有发布),所以我们现在将坚持这种简化。

    在“重新组合”的过程中,我有:

    =IF(B14=0.14,
       IF( F2=KWILA,  B38, if( F2=PINE,   B40, if( F2=MACRO,  B41, h2 ))),
    
     IF(B14=0.9,
       IF( F2=KWILA,  C38, if( F2=VITEX,  C39, if( F2=PINE,  C40, h2 ))) 
    
     h2 )
    

    基本上是两组IF语句。注意,我使用了 H2 “三次” 其他的 “我对此不满意,我几乎可以保证有更好的方法,但同样,在没有看到你的数据的情况下……”。。。。。

    回到公式中,我们得到了一个更易于管理的:

    =IF(B14=0.14,IF(F2="KWILA",B38,IF(F2="PINE",B40,IF(F2="MACRO",B41,H2))),
          IF(B14=0.9,IF(F2="KWILA",C38,IF(F2="VITEX",C39,IF(F2="PINE",C40,H2))),H2))
    

    我不能保证这会起作用,因为我无法测试它,因为。。。问题中没有数据。如果在添加引号后方法仍然有效,则无需切换到该选项。

    还有其他方法可以简化(并且以后更容易理解或更改),我现在不想讨论。就我个人而言,我会把这些值放在另一张工作表的表格中,并使用 INXDEX / MATCH 为了得到我需要的价值观。

      -