嵌套 IF 公式未正确评估

Nested IF formula not evaluating correctly

我在单元格中有以下公式

=iferror(if('Plant Master List'!$I9="Don't","Don't",
            if(search(",1S,",'Plant Master List'!$I9)>0,"SS",
            if(search(",1G,",'Plant Master List'!$I9)>0,"GG",
            if(search(",1T,",'Plant Master List'!$I9)>0,"TT",
            "Nooooo!")))))

如果 'Plant Master List' 中的单元格包含 Don't,1S,,则公式有效,但如果 ,1G,,1T, 在单元格中,则公式无效' t return 任何东西。

我期待 Don'tSSGGTT,但我只看到 Don'tSS

我错过了什么?

这个公式好像有两个问题

  1. 最外层的 ifError() 函数有两个参数。缺少第二个参数。
  2. 如果未找到匹配项,search() 函数将给出 #VALUE 错误。但是公式构造假设如果没有找到匹配项,结果将为零。

试试这样:

=IFERROR(IF('Plant Master List'!$I9="Don't", "Don't",
         IF(REGEXMATCH('Plant Master List'!$I9, ",1S,"), "SS",
         IF(REGEXMATCH('Plant Master List'!$I9, ",1G,"), "GG",
         IF(REGEXMATCH('Plant Master List'!$I9, ",1T,") ,"TT", "Nooooo!")))))