Excel formula 在指定行中搜索特定文本

Excel formula 在指定行中搜索特定文本,excel-formula,excel-2010,Excel Formula,Excel 2010,如果在WorkBook2的ColB中找到WorkBook1中的文本“A”,请从WorkBook2中找到文本“A”的行中搜索一系列列,以查找文本“B” 基本上,我有两个电子表格,由一个公共标识符(完成工作的人)链接。在WorkBook2中,人们可以获得无数不同任务的认证,他们的认证代码存储在AN:HP列中。WorkBook1包含已完成的作业、完成作业的人员以及作业的类型。我想搜索WorkBook2,看看完成工作的人是否获得了该类型工作的认证。困难在于每个人最多可以持有20种不同的认证代码 我目前可

如果在WorkBook2的ColB中找到WorkBook1中的文本“A”,请从WorkBook2中找到文本“A”的行中搜索一系列列,以查找文本“B”

基本上,我有两个电子表格,由一个公共标识符(完成工作的人)链接。在WorkBook2中,人们可以获得无数不同任务的认证,他们的认证代码存储在AN:HP列中。WorkBook1包含已完成的作业、完成作业的人员以及作业的类型。我想搜索WorkBook2,看看完成工作的人是否获得了该类型工作的认证。困难在于每个人最多可以持有20种不同的认证代码


我目前可以在WorkBook2中找到从WorkBook1的H列中列出人员(文本“A”)的行
=MATCH(H2,[WorkBook2]Sheet1'!$B:$B,0)
现在我需要使用该行号作为数组在WorkBook2中搜索[WorkBook1]Sheet1'中找到的证书类型(文本“B”)!T2

您已经成功地获得了正确的第一部分,即使用
MATCH()
返回列出此人的行。您可以使用
OFFSET()
函数基于该行号创建动态范围

OFFSET()
获取一个范围,然后将其偏移若干行或列

偏移量(参考、行、列、[高度]、[宽度])

因此,您可以创建对要使用的行的引用

OFFSET([Workbook2]Sheet1!$AN$1:$HP$1,匹配(H2,[Workbook2]Sheet1’!$B:$B,0)-1,0)

这是通过将起始范围设置为AN1:HP1,然后根据
匹配返回的行号下移
小于1来实现的。如果我们不减去一,我们将超过一行

然后可以使用匹配项查找证书

=匹配(T2,偏移量([Workbook2]Sheet1!$AN$1:$HP$1,匹配(H2,[Workbook2]Sheet1’!$B:$B,0)-1,0),0)