IF 语句给出“FALSE”而不是数值

IF 语句给出“FALSE”而不是数值

单元格中“Loose Stacked”选项没有返回数值,而是返回“FALSE”,而所有其他选项“Barrel Stacked”和“Laced”都返回正确值,除了“Loose Stacked”。我尝试在公式中的值周围添加“”,但得到的仍然是 FALSE,而不是值。

如果语句:

=IF(AND(B10="Loose Stacked",D9<=10),10,IF(AND(B10="Loose Stacked",D9<=15),12,IF(AND(B10="Loose Stacked",D9>15),14,IF(AND(B10="Barrel Stacked",D9<=10),12,IF(AND(B10="Barrel Stacked",D9<=15),14,IF(AND(B10="Barrel Stacked",D9>15),16,IF(AND(B10="Laced",D9<10),14,IF(AND(B10="Laced",D9<=15),16,IF(AND(B10="Laced",D9>15),18)))))))))

答案1

您的公式看起来不错,可能是因为参数太多超出了 Excel 的限制。不同版本的 Excel 可能有不同的限制,我没有研究限制是什么 - 但当您达到限制时,它可能会使您的公式不可读且不易维护或调试。

对于您的问题,您可以使用以下方法获得类似的VLOOKUP()结果MATCH()解决方案示例

这里我在 处添加了一个查找表F5:I7。对于任何大于 0 的值(即单元格 F5),将返回第 5 行;对于从 10 开始的值(即单元格 F6),将返回第 6 行,等等。这是通过=VLOOKUP(...)解决方案的一部分完成的。

我们需要告诉VLOOKUP返回哪一列(即 G/H/I 列)。它是 的第 3 个参数VLOOKUP,我用它MATCH(B10,$F$4:$I$4,0)来确定返回哪一列。该MATCH()函数在单元格范围内搜索指定的项目,然后返回该项目在范围内的相对位置。

例如,当从 中搜索“Loose Stacked”时F4:I4,由于它是第二项,因此2从 返回。变为,因此返回或值 12。MATCH(B10,$F$4:$I$4,0)VLOOKUP(10,F5:I7,MATCH(...))VLOOKUP(10,F5:I7,2)G6

VLOOKUP与嵌套相比,使用嵌套的好处IF是公式的可读性和可维护性更好。如果将来需要更改任何内容,只需更改表格即可。

相关内容