带有 IF 语句的单元格地址

Cell-Address with an IF Statement

提问人:AesusV 提问时间:12/6/2021 最后编辑:AesusV 更新时间:12/6/2021 访问量:386

问:

我一直在使用 =Cell(“address”,...对我为创建数据库而制作的错误检查公式,它一直运行良好,直到我尝试使用一些 if 语句扩展我的索引匹配公式。

我已经将问题缩小到我相信它按预期工作的地方,只要 if 语句中的第一个语句为真,但如果计算超过该值(即使原始公式很好并返回一个值),它将返回 #VALUE!。

编辑:需要明确的是,上面使用的公式在不使用所涉及的CELL-ADDRESS函数时会毫无问题地返回值。当在 IF-Statement 外部拆分时,该公式也会返回值。

I2=Valid

=CELL("address",IF($I$2="Valid",INDEX($I$2:$J$6,MATCH($U$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0)),IF($I$2="Invalid",INDEX($I$2:$J$6,MATCH($W$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0)),"Error")))

$I$2 在单元格中返回

I2=Invalid

=IF($I$2="Valid",INDEX($I$2:$J$6,MATCH($U$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0)),IF($I$2="Invalid",INDEX($I$2:$J$6,MATCH($W$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0)),"Error"))

#VALUE!返回

任何人都可以为此提供解决方案或解释为什么会发生这种情况以及如何避免它?

任何帮助将不胜感激。

谢谢!

excel if 语句 index-match

评论

0赞 kojow7 12/6/2021
我没有时间看你的代码,但我会说几件事:1)“#VALUE”意味着你的代码有错误。2)如果我们跟踪if语句,我会认为错误与:“INDEX($I$2:$J$6,MATCH($W$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0))”
0赞 kojow7 12/6/2021
3)在没有IF语句的情况下单独尝试上述代码,看看是否仍然出现错误,如果出现错误,则需要通过缩小导致问题的原因来修复它。
0赞 AesusV 12/6/2021
正如我上面所说,无论有没有 IF 语句,代码都可以正常工作。该代码在没有 CELL-ADDRESS 函数的情况下运行良好,并在我尝试测试的单元格中返回一个值。问题来自(我不知道为什么)CELL-ADDRESS 中的 IF 语句。IF-Statement 1 True,没问题,返回值 IF-Statement 1 False,没问题,返回值 CELL-ADDRESS IF-STATEMENT 1 true,没问题,返回值 CELL-ADDRESS IF-Statement 1 false,#VALUE!
0赞 Jos Woolley 12/6/2021
您确定在收到错误时包含“无效”吗?例如,它可能看起来包含“Invalid”,但包含一个额外的空格字符。检查公式。我怀疑你没有得到这个错误,因为既不包含“有效”也不包含“无效”,所以你的第二个语句的子句,即“错误”,是传递给函数的值,它显然会返回I2#VALUE!=I2="Invalid"I2value_if_falseCELL#VALUE!
0赞 p._phidot_ 12/7/2021
有效吗?=IF($I$2="Valid",CELL("address",INDEX($I$2:$J$6,MATCH($U$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0))),IF($I$2="Invalid",CELL("address",INDEX($I$2:$J$6,MATCH($W$1,$H$2:$H$6,0),MATCH($V$1,$I$1:$J$1,0))),"Error"))

答: 暂无答案