繁体   English   中英

如何在异常情况下使用 VLOOKUP?

[英]How to use VLOOKUP with exceptions?

为了分配负责某个国家/地区的办公室,我使用 VLOOKUP function。这样,中国办公室负责中国,德国办公室负责德国等。

在此处输入图像描述

有些情况下,根据许可证,应分配给其他局,而不是遵循 VLOOKUP function。

例如:

  • License6 虽然在中国,应该分配给德国办公室
  • License10 虽然在中国,应该分配给印度办公室

有许多例外。 如何将这些异常构建到 VLOOKUP function 中?

您可以在单元格D2中使用以下内容:

=IF(A2:A100="","",IFERROR(XLOOKUP(B2:B100,TB_Exceptions[License],
TB_Exceptions[Office]), IFERROR(XLOOKUP(C2:C100,
TB_CountryOffice[Country],TB_CountryOffice[Office]), 
"CASE NOT FOUND")))

或者使用LET function 方便维护公式:

=LET(nameRng, A2:A100, licRng,B2:B100, countryRng, C2:C100,
 IF(nameRng="","",IFERROR(XLOOKUP(licRng,TB_Exceptions[License],
 TB_Exceptions[Office]),IFERROR(XLOOKUP(countryRng,
 TB_CountryOffice[Country],TB_CountryOffice[Office]), 
 "CASE NOT FOUND")))
)

示例 excel 文件

解释

我们正在使用嵌套的XLOOKUP ,首先从最受限制的搜索开始,即例外情况,如果出现#N/A则它会查找常规国家/地区查找表。 如果未定义某些查找值,我们将CASE NOT FOUND视为最后的手段。

我们正在使用Excel 表在查找表中具有动态范围。 对于初始数据集,我们不使用它,因为对于Excel 表,不支持溢出数组公式,即返回#SPILL! 错误。

我们定义的数据输入范围大于实际输入数据集,以防我们想要包含额外的数据。 我们添加初始条件: IF(A2:A100="","",..)来处理输入表的空行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM