如果函数结果不是预期值

如果函数结果不是预期值

我对此很陌生,想知道为什么我的代码不起作用:

=IF(LEFT(A16, 5)="B", "yes", "no")

A16 写为 PD41B1——应该返回是,但它只返回否。

当我的代码引用(A16, 1)=“P”时它会起作用,但对于超过 A16>1 的任何值,代码都不起作用。

如果您能帮助我将非常感谢。

答案1

当我的代码引用(A16, 1)=“P”时它会起作用,但对于超过 A16>1 的任何值,代码都不起作用。

您未正确使用该功能。 函数返回指定的字符数(从左到右)。如果指定的数字是 5,则函数将返回 5 个字符。

这意味着你的代码将返回PD41B这确实不等于。这与您所见证的行为相符,因为从左到右返回 1 个字符确实等于

=IF(LEFT(A16, 5)="B", "yes", "no")

因此,代码的正确条件如下:

=IF(LEFT(A16, 5)="PD41B", "yes", "no")

答案2

我想建议两种可能的方法,帮助找到第5个字符,并用IF进行测试。

在此处输入图片描述

笔记:

  • LEFT(A16, 5),提取左边5个字符,而不是第5个字符B。

  • 单元格 F131 中的公式:

    =IF(MID(E133&" ",5,1)="B", "Yes", "No")

  • 单元格 G131 中的公式:

    =IF(LEFT(RIGHT(E133,LEN(E133)-5+1),1)="B","Yes","No")
    

根据需要调整单元格引用和公式中字符的位置。

相关内容