将 VLOOKUP 应用于多张工作表并忽略空白

将 VLOOKUP 应用于多张工作表并忽略空白

我想在多张工作表上执行 VLOOKUP(我可以为其定义严格的优先级顺序),但当答案为空时我想忽略它。我找到了这个答案:

将 VLOOKUP 公式应用于多张工作表

这个答案的问题在于,我绝对确定我的所有条目都会匹配第一个工作表,但其中很多条目会匹配空白单元格。在这种情况下,我希望公式在第二个工作表、第三个工作表等中进行搜索,直到没有剩余的工作表。我拥有的工作表数量合理(不会超过 10 个),所以我不介意需要在公式中明确写出所有工作表的解决方案。

非常感谢。

答案1

Excel 无法很好地处理 3D 查找(跨工作表),据我所知,唯一可以做到这一点的方法是检查每个单元格,看看它是否为空白,如果不是,则转到下一个单元格。下面是使用 3 个工作表的示例。

=if(isbank(vlookup(f1,sheet1!A2:B10,2,false)),if(isbank(vlookup(f1,sheet2!A2:B10,2,false)),if(isbank(vlookup(f1,sheet3!A2:B10,2,false)),"no_non_blank",vlookup(f1,sheet3!A2:B10,2,false)),vlookup(f1,sheet2!A2:B10,2,false)),vlookup(f1,sheet1!A2:B10,2,false))

最好每张表都设置一列,然后进行所有查找,然后从第一个非空白列中选择值。这样可读性会更强。

答案2

我会为此使用 Power Query 插件。您可以将每个目标工作表中的数据作为单独的查询导入,并过滤掉空白行。然后,您可以从基础工作表开始构建另一个查询,然后使用合并命令依次添加目标工作表:

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

您可以将最终结果传送至 Excel 表。

与复杂的嵌套 vlookup 表达式相比,Power Query 更易于使用。每一步您都可以立即看到结果数据。

相关内容