我在Excel中使用了这个公式。
=IFERROR(VLOOKUP(A:A,'JOD ID - DONE'!B:C,2,FALSE),IFERROR(VLOOKUP('JOD ID - CURRENT'!A:A,'JOD ID - DONE'!E:F,2,FALSE),IFERROR(VLOOKUP('JOD ID - CURRENT'!A:A,'JOD ID - DONE'!H:I,2,FALSE),VLOOKUP('JOD ID - CURRENT'!A:A,'JOD ID - DONE'!K:L,2,FALSE))))
我想要一个返回值与sheet1中sheet2匹配的返回值是Job ID的状态,该Job ID在sheet2中包含状态“完成”,“重做”和“待处理”。 Sheet2包含4个表格状态。上面的公式如何成为数组公式?
由于实际数据,我在sheet1中有2000个作业ID,需要从sheet2的20-30个表进行比较。 这有可能吗?
下面是示例工作表
答案 0 :(得分:1)
我对一些虚拟数据进行了一些测试,以生成#NA错误。对我来说,当没有在任何表格中都没有找到该号码时,我遇到了这个错误。我通过将您的公式包装在另一个IFERROR中来解决这种情况,以提供一种未找到的情况。将以下公式放在B1中,并根据需要向下复制。
=IFERROR(IFERROR(VLOOKUP(A2,'JOD ID - DONE'!B:C,2,FALSE),IFERROR(VLOOKUP(A2,'JOD ID - DONE'!E:F,2,FALSE),IFERROR(VLOOKUP(A2,'JOD ID - DONE'!H:I,2,FALSE),VLOOKUP(A2,'JOD ID - DONE'!K:L,2,FALSE)))),"NOT FOUND")
查询结果
参考数据
当遇到错误时,尤其是嵌套和长公式,请尝试将您的公式缩减为非常少量的数据,以确保在扩展之前使用少量数据。在这种情况下,我将只使用第一个表或仅使用第二个表的单个嵌套进行查找。在这种情况下,我会根据需要扩展嵌套,或者根据情况增加数据大小。
更新多张表
假设在包含查找表的整个工作表中作业ID是唯一的,则可以执行以下操作,但是限制聚合函数中的数据范围以大致关闭最大行数和所有表使用的列。关键是要避免对空白单元格进行过多的计算
=IFERROR(INDEX('JOD ID - DONE'!$1:$1048576,AGGREGATE(14,6,ROW('JOD ID - DONE'!$B$2:$L$4)/('JOD ID - DONE'!$B$2:$L$4=A2),1),AGGREGATE(14,6,COLUMN('JOD ID - DONE'!$B$2:$L$4)/('JOD ID - DONE'!$B$2:$L$4=A2),1)+1),"NOT FOUND")
在您的情况下,您将需要编辑$ B2:$ L $ 4以匹配您的数据。
如果您的工作ID并非对于所有表都是唯一的,则此方法可能无法提供您期望的结果。