多个IF语句Excel 2007

我有一个vector,它有不同的值。 在它旁边的向量中,我想使用multiple = IF(FIND(IF(FIND(),IF(FIND(),…..语句)。

以下是我的数据示例,以及我希望旁边的单元格出现的示例:

COMPLAINT | DESCRIPTION <-- How I would like it to come out CHF | CHF COPD (Nos) | COPD Chest, Pain, Acute | CHEST PAIN CP | CHEST PAIN ... | ... 

我为此写了如下,这是行不通的:

 =IF(FIND("CHF",E3,1),"CHF",IF(FIND("COPD",E3,1),"CHF",0)) 

我需要扩大以上接受至less5个不同的论点。 我尝试在这里使用这个post,但我没有按照正确的方式。

编辑

我期望这个函数能够像这样工作:

 IF FIND "CHF" THEN "CHF" ELSE IF FIND "COPD" THEN "COPD" ELSE IF FIND "CP" THEN "CHEST PAIN" ... 

谢谢,

我认为如果你有某种“词典”来查找价值,那就更好了。

例如,有一个表与以下某处:

 CHF CHF COPD COPD CP CHEST PAIN Chest Pain CHEST PAIN 

假设那些在G2:H5范围内,并且CHFA2单元格开始。

第一步是尝试将CHFCOPDCPChest Pain匹配到单元格A2 。 您可以对此使用SEARCHFIND是等效的但区分大小写)。

 =SEARCH($G$2:$G$5,A2) 

如果有匹配,这会给你错误和数字。 要处理您的第三个示例,您可以先使用SUBSTITUTE删除逗号:

 =SEARCH($G$2:$G$5,SUBSTITUTE(A2,",","")) 

对于CHF ,你会得到

  1,#VALUE!,#VALUE!,#VALUE! 

使用IFERROR()可以使结果更漂亮一些。 您可以从中获得索引1 ,使用MATCH从查找表的第二个表中获取CHF:

 =MATCH(1,SEARCH($G$2:$G$5,SUBSTITUTE(A2,",","")),0) 

并使用INDEX从查找表中取回单元格的值…

 =INDEX($H$2:$H$5,MATCH(1,SEARCH($G$2:$G$5,SUBSTITUTE(A2,",","")),0)) 

您还可以更改查找表的大小以适应查找的任意数量的值。 唯一的缺点是它会牺牲性能,但是如果Excel有更多的值需要检查,那就很自然了。

现在,由于SEARCH (取多个值而不是单个值),这个公式是一个数组公式。 因此,不必按Enter键 ,而必须按住Ctrl + Shift键 ,然后按Enter才能正常工作。