IF语句以特定顺序返回特定值

时间:2013-08-20 16:06:28

标签: excel if-statement excel-formula pivot-table vlookup

我正在尝试运行IF语句以按特定顺序返回特定值。我有三列: - Partner_Number_ColEmail_ColContact_Col。一个合作伙伴编号可以容纳(匹配)几个不同的联系人/电子邮件。 Contact_Col中有几种不同的联系方式:

  1. Finance_Contact
  2. Main_Contact
  3. Blank_Contact(Email_Col下的特定电子邮件地址对应于每个选项)
  4. 我希望查找合作伙伴编号(来自Partner_Number_Col),然后按以下顺序返回与(Email_Col)对应的电子邮件(来自Contact_Col): / p>

    1. Finance_Contact(如果这不存在那么......
    2. Main_Contact(如果没有那么......
    3. Blank_Contact
    4. IE中。如果Finance_Contact下的Contact_Col可用,那么我希望首先返回Main_Contact,然后空白...

      编辑以在评论中插入来自链接的图片:

      SO18339915 question example

2 个答案:

答案 0 :(得分:1)

如果排序不方便,我建议使用数据透视表:

SO18339915 example

仅仅(在PT中选择了合适的Partner_Number):

=IF(A1=B3,B6)

(使用= IF来设计符合规定的要求!)

这将显示同一Partner_Number和Contact组合的多个电子地址(如果存在)。

修订,将图像与修订后的数据样本合并:

SO18339915 second example

如果源数据已经存在于PT缓存中,则无需创建新的PT(确实最好不要 - 如果需要,只需复制),但这可能会使“填补空白”变得复杂,因为这是每行的要求有一个Partner Number。在单元格中,通过选择列,Home>可快速填充间隙。编辑 - 查找&选择,转到特殊...,选择空白(仅限)和=向上 Ctrl + 输入

答案 1 :(得分:0)

如果您可以对数据进行排序,只需按Contact_Col排序,以便所有Finance_Contact都排在最前面,Main_Contact得到正好,而空白的则排在最后(如果如果选项空白,您可以在Contact_Col旁边找到一列,其中Finance_Contact为1,Blank_Contact为2,Blank_Contact为3,并按此列排序;升序)

然后只需对VLOOKUP执行此操作:

=VLOOKUP("P03566453", A:B, 2, 0)

由于我们对数据进行了排序,因此Finance_Contact位于顶部,如果没有,则下一个为Main_ContactBlank_Contact为相同。

如果在列表中找不到合作伙伴编号,则会显示#N/A

例如,如果您在单元格E5中键入了合作伙伴编号,则可以轻松执行以下操作:

=VLOOKUP(E5, A:B, 2, 0)