具有精确数字的 IFS 公式

具有精确数字的 IFS 公式

我正在尝试创建一个“IFS”公式,其中如果单元格的数字有 2 位数字,则为 x,如果是 3 位数字,则为 y,等等。这些数字来自另一个带有 VLOOKUP 的表。因此,如果 VLOOKUP 找到 2 位数字,则结果为“x”,如果找到 3 位数字,则结果为“y”,依此类推。

我试过:

=IFS(VLOOKUP(B17,Table2,11,FALSE)=TEXT(VLOOKUP(B17,Table2,11,FALSE),"00"),"x", VLOOKUP(B17,Table2,11,FALSE)=TEXT(VLOOKUP(B17,Table2,11,FALSE),"000"), "y")

并且:

=IFS(VLOOKUP(B17,Table2,11,FALSE)=LEN(2),"x", VLOOKUP(B17,Table2,11,FALSE)=LEN(3), "y")

...没有结果。我搜索了,似乎没有办法解决这个问题。我可能遗漏了一些东西,但我被卡住了。非常感谢您的帮助。谢谢。

答案1

要解决此问题,请执行以下操作:

在此处输入图片描述

:警告: 为了解决这个问题,我使用了 IF 而不是 IFS,您可以替换它。

  • 单元格 P3 中的公式:

    =IFERROR(IF(LEN(VLOOKUP(O3,$R$3:$S$6,2,FALSE))=2,"X",IF(LEN(VLOOKUP(O3,$R$3:$S$6,2,FALSE))=3,"Y","")),"No Data")
    

根据需要调整公式中的单元格引用。

答案2

您可以使用XLOOKUP来简化这一过程。

=XLOOKUP(LEN($A$1:$A$9),{2,3},{"x","y"},"Neither 2 nor 3 digit number")

在此处输入图片描述

这种方法的好处:

  1. 在列表顶部输入一次公式(查找值可以采用数组)
  2. 您可以直接在公式中输入查找和返回数组 - 无需查找表
  3. 您可以为没有匹配的数字提供默认值

答案3

如果您的 VLOOKUP 始终返回一个整数值(而不是 #NA),那么您可以使用 LEN 包装您的 VLOOKUP,而不是使用 IFS,然后将其包装在 CHOOSE 中:

=CHOOSE(LEN(VLOOKUP(B17,Table2,11,FALSE)),"one digit","x","y")

另一个选项是向表 2 添加一个辅助列,该辅助列是执行 LEN 转换的公式。然后您的 VLOOKUP 将只返回辅助列值(无需 CHOOSE)。

相关内容