IF函数用于特定的文本string

我试图写一个公式,需要一个字,并在Excel中通过一个IF函数处理它,值是公式中的列表。 我现在的问题是,我有大,X大和1X大文本。 X-Large和1X-Large是唯一的string,需要IF函数才能区分两者。

这是我到目前为止。

=if(or(isnumber(search("Small",af2)),ISNUMBER(SEARCH("Medium",AF2)),ISNUMBER(SEARCH("Large",AF2)),,ISNUMBER(SEARCH("X-Large",AF2))),"Small",or(isnumber(search("1X-Large",af2)),isnumber(search("2X-Large",af2)),isnumber(search("3X-Large",af2)),isnumber(search("4X-Large",af2))),"1X-Large") 

我不明白为什么它显示一个错误,只有当它工作时显示小。

所有的帮助表示赞赏

你现在的公式不应该工作,应该给你一个关于有太多争论的错误。 你的function的细分:

 =if( or(isnumber(search("Small",af2)),ISNUMBER(SEARCH("Medium",AF2)),ISNUMBER(SEARCH("Large",AF2)),,ISNUMBER(SEARCH("X-Large",AF2))), "Small", or(isnumber(search("1X-Large",af2)),isnumber(search("2X-Large",af2)),isnumber(search("3X-Large",af2)),isnumber(search("4X-Large",af2))), "1X-Large" ) 

IF不能使用4个参数。 你最多需要3个。也许你的意思是:

 =if( or(isnumber(search("Small",af2)),ISNUMBER(SEARCH("Medium",AF2)),ISNUMBER(SEARCH("Large",AF2)),,ISNUMBER(SEARCH("X-Large",AF2))), "Small", IF( or(isnumber(search("1X-Large",af2)),isnumber(search("2X-Large",af2)),isnumber(search("3X-Large",af2)),isnumber(search("4X-Large",af2))), "1X-Large" ) ) 

但是这并不能解决你关于X-Large部分的问题。 为了迎合这一点,您可以检查X-Large系列是否先存在,然后是否存在。

 =IF( OR(ISNUMBER(SEARCH("1X-Large",AF2)),ISNUMBER(SEARCH("2X-Large",AF2)),ISNUMBER(SEARCH("3X-Large",AF2)),ISNUMBER(SEARCH("4X-Large",AF2))), "1X-Large", IF( OR(ISNUMBER(SEARCH("Small",AF2)),ISNUMBER(SEARCH("Medium",AF2)),ISNUMBER(SEARCH("Large",AF2)),ISNUMBER(SEARCH("X-Large",AF2))), "Small" ) ) 

虽然你可以缩短这个:

 =IF( OR(ISNUMBER(SEARCH({"1X-Large","2X-Large","3X-Large","4X-Large"},AF2))), "1X-Large", IF( OR(ISNUMBER(SEARCH({"Small","Medium","Large","X-Large"},AF2))), "Small" ) ) 

在一行中…

 =IF(OR(ISNUMBER(SEARCH({"1X-Large","2X-Large","3X-Large","4X-Large"},AF2))),"1X-Large",IF(OR(ISNUMBER(SEARCH({"Small","Medium","Large","X-Large"},AF2))),"Small"))