多个IF语句Excel 2007
我有一个向量,它有不同的值。在它旁边的向量中,我想使用多个=IF(FIND)(IF(FIND()),IF(FIND(),…)语句 以下是我的数据示例,以及我希望旁边的单元格如何显示:多个IF语句Excel 2007,excel,if-statement,Excel,If Statement,我有一个向量,它有不同的值。在它旁边的向量中,我想使用多个=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
COMPLAINT | DESCRIPTION <-- How I would like it to come out
CHF | CHF
COPD (Nos) | COPD
Chest, Pain, Acute | CHEST PAIN
CP | CHEST PAIN
... | ...
我需要扩展以上内容,以接受至少5种不同的论点。我尝试过使用这篇文章,但我没有正确地理解它
编辑
我希望函数的工作方式如下:
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
内,CHF
从单元格A2
开始
第一步是尝试将CHF
、COPD
、CP
和胸痛
匹配到单元格A2
。您可以使用SEARCH
进行搜索(FIND
等效但区分大小写)
这将为您提供错误和数字,以防出现匹配。要处理第三种示例情况,您可以首先使用替换项删除逗号
:
=SEARCH($G$2:$G$5,SUBSTITUTE(A2,",",""))
对于CHF
,您将获得
1,#VALUE!,#VALUE!,#VALUE!
使用IFERROR()
可以使结果更美观。您可以从中获取索引1
,使用匹配从查找表的第二个表中获取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有更多的值要检查,这是很自然的
现在,由于
搜索
(它接受多个值而不是单个值),此公式是一个数组公式。因此,您必须按住Ctrl+Shift键,然后按Enter键才能正常工作。以何种方式它不起作用吗?结果与你的预期有什么不同?我需要在我的问题中补充我的预期我道歉,我需要的是如果发现“CHF”那么“CHF”,但是如果发现“COPD”那么“COPD”,但是如果“CP”喜欢那么“胸痛”,…,等等。非常感谢你的这个。我现在出去了,但明天早上会试试这个,如果它有效的话,我会接受它作为答案。@MCP_渗透者好的,我没问题。实际上我忘了提到它是一个数组公式,所以我在最后添加了那个位。^;
=MATCH(1,SEARCH($G$2:$G$5,SUBSTITUTE(A2,",","")),0)
=INDEX($H$2:$H$5,MATCH(1,SEARCH($G$2:$G$5,SUBSTITUTE(A2,",","")),0))