EXCEL 2010:使用INDEX和IF(可能是嵌套的)

时间:2014-03-17 23:39:24

标签: excel excel-formula excel-2010

程序 Excel 2010
经验基本

你好, 我想使用INDEXIF在单元格中定义结果。我已设法使用VLOOKUP处理信息,但我将我的VL转换为INDEX/MATCH

我尝试了很多写这个的方法。我总是可以称之为第一个结果,但从来没有打过第四个结果,而不是第二个结果。它只是一直出错。

=IF(INDEX(PrefContact,MATCH(A6,ManID,0))="MSN: ",INDEX(cMSN,MATCH(A6,ManID,0)),(INDEX(PrefContact,MATCH(A6,ManID,0))="Skype:",INDEX(cskype,MATCH(A6,ManID,0))))

这会导致错误"您输入的公式包含错误"。
结果应该是:如果PrefContact = MSN,那么Skype名称。如果PrefContact = SKYPE,那么Skype地址。如果既没有Skype也没有MSN pref,那么""。

工作VLOOKUP:

'=IF(VLOOKUP($A$6,Contractors,18)="Skype:",VLOOKUP($A$6,Contractors,18) & " " & VLOOKUP($A$6,Contractors,20),IF(VLOOKUP($A$6,Contractors,18)="MSN: ",VLOOKUP($A$6,Contractors,18) & " " & VLOOKUP($A$6,Contractors,20),""))  

我已经使用&连接2个单元格(MSN:地址)(Skype:地址)而不是2列,我只需要1.

我想使用INDEX / MATCH函数执行相同操作但是我无法解决第一个问题并且在IF中使用它

我知道,如果它合二为一,为什么要打扰另一个呢?好吧,关于INDEX/MATCH vs VLOOKUP的辩论很多,我希望我的书能够更顺畅地运行,这将是一个很大的发票/销售历史。

提前致谢。

1 个答案:

答案 0 :(得分:1)

根据评论的后续行动,此公式有效:

=IF(INDEX(PrefContact,MATCH(A6,ManID,0))="MSN: ",
      INDEX(cMSN,MATCH(A6,ManID,0)),
         IF(INDEX(PrefContact,MATCH(A6,ManID,0))="Skype:"‌​,
            INDEX(cskype,MATCH(A6,ManID,0)),""))