查找作业代码,如果单元格有文本,则返回列标题

时间:2015-04-13 14:25:14

标签: excel excel-formula

我正在寻找一些有关如何一起使用vlookup和iferror公式的帮助。

我是保险业的许可专家。我的工作要求我经常访问我们的客户每周通过电子邮件发送给我们的十几个电子表格。我正在开发工具,使我们能够按需合并该信息,以便能够运行报告。我使用VLookup函数从使用唯一标识符的各种电子表格中提取数据没有任何问题。但是,我确实需要一些帮助,但需要一些棘手的公式。

我已经整理了一个电子表格,允许我输入代表的ID,它会返回各种信息,例如他们的姓名,许可证号码,工作代码等。现在我需要提出一个公式获取作业代码字段中返回的值,并搜索另一个电子表格,以根据其作业代码返回完成所需的培训。此电子表格大约有2000行,其格式为跨越顶行的培训名称,列“A”中列出的作业代码和每列中与业务代码需要进行的培训相匹配的单词“是”。

看起来像这样:https://i.imgur.com/71COmfF.png

我需要在报告电子表格中使用公式来使用VLookup查找作业代码,然后在单元格中包含文本时返回列标题。

数据将加载到此电子表格中:https://i.imgur.com/2CyFURt.png

这是我用来获取工作代码的Vlookup公式:

  

=VLOOKUP(B3,'.\[Weekly_HR_Report_040615.xlsx]HR'!$A:$Q,10,FALSE)

如果在与其作业代码匹配的行的单元格中有“是”,如何将相同类型的公式与IfError公式配对以返回列标题?

我知道我可以使用VBA将其作为数组进行处理,但我更愿意在每个单元格中放置一个公式,以便在将来转移到另一个角色时我可以将此电子表格传递给另一所大学加入它们不会太过挣扎。

感谢您提供的任何帮助!我真的很感激!

2 个答案:

答案 0 :(得分:0)

我会使用INDEX和MATCH交叉引用并检索适用的标题:

=IF(INDEX('JobCode_Training.xlsx'!$A$1:$H$6,MATCH($H$5,'JobCode_Training.xlsx'!$A:$A,0),2)="Yes",INDEX('JobCode_Training.xlsx'!$A$1:$H$6,1,2),"")

=IF(INDEX('JobCode_Training.xlsx'!$A$1:$H$6,MATCH($H$5,'JobCode_Training.xlsx'!$A:$A,0),3)="Yes",INDEX('JobCode_Training.xlsx'!$A$1:$H$6,1,3),"")

=IF(INDEX('JobCode_Training.xlsx'!$A$1:$H$6,MATCH($H$5,'JobCode_Training.xlsx'!$A:$A,0),4)="Yes",INDEX('JobCode_Training.xlsx'!$A$1:$H$6,1,4),"")

我不确定您的参考表是保存的,因此您需要将'JobCode_Training.xlsx'!替换为正确的路径。

由于您有多个可以应用于每个作业代码的培训,您可能需要为结果提供多个​​单元格,或者您可以将它们连接成一个。

答案 1 :(得分:0)

以下来自excelvlookuphelp.com的文章回答了我的问题,我相信......

问题

您可能期望并非所有搜索值都会从搜索表中返回一些内容。当你没有找到你的vlookup值时,你不希望返回#N / A的公式结果看起来不同(空白或显示未找到值的指示符或者如果你想要的话则为零用结果做数学。)

解决方案

您可以使用iferror功能。

它像这样工作

= iferror(YourVlookupFormula,WhatToSayInsteadOf#N / A)

这是一个例子

= iferror(vlookup(D3,A:C,3,false),“找不到值”)

或者,如果您想要它只是空白,而不是没有找到值,只需要两组引号,就像这样

= iferror(vlookup(D3,A:C,3,false),“”)

来源:excelvlookuphelp