【问题标题】:Nesting AND NOT ISBLANK with MULTIPLE IFs使用多个 IF 嵌套 AND NOT ISBLANK
【发布时间】:2016-04-26 07:25:23
【问题描述】:

我在 StackOverflow 上找不到与该示例足够接近的示例,所以这里是:

我想返回一条消息“类型?”如果单元格 X 为空白且单元格 Y 有任何文本。但我正在尝试将其嵌入到现有的一组 IF 中。

现有的:

=IF($G241="Evo";M241*L241;IF($G241="Free";M241*L241;IF($G241="GN";M241*L241))))

把这个放到上面:

=IF(AND(NOT(ISBLANK($J234));ISBLANK(G234));"Type?";"OK")

我试过了,但它返回 FALSE,可能是由于我正在使用 AND,我需要它,因为我正在创建基于两个单元格两个单元格的返回。

=IF($G240="Evo";M240*L240;IF(AND(NOT(ISBLANK($J240));ISBLANK(G240);"Type?";"OK");IF($G240="Free";M240*L240;IF($G240="GN";M240*L240))))

得到错误:

AND 需要布尔值。但是“类型?”是文本,不能强制转换为布尔值。

【问题讨论】:

  • 当你说任何文字时,你指的是字母吗,或者如果数字 10 在单元格 Y 中,这是否也被视为文字?是 J 列还是 G 列中的单元格 X?

标签: if-statement excel-formula


【解决方案1】:
IF(and(isblank(cell x),iferror(isstring(cell y),false)),"Type?","OK")

我想这应该对你有用。您将需要用适当的引用替换单元格 x 和单元格 y。 iferror 语句用于捕捉评估空白单元格 y 时发生的情况。

这个公式的问题

=IF($G240="Evo";M240*L240;IF(AND(NOT(ISBLANK($J240));ISBLANK(G240);"Type?";"OK");IF($G240="Free";M240*L240;IF($G240="GN";M240*L240))))

您是否正在尝试检查 G240 是否有不同的值,而它却不能。让我们简化您的公式。我们会将您的空单元格检查替换为FORMULA 1

=If($G240="EVO", Do True Condition, Do Formula 1, IF(G$240=Free, Do Free True Condition, Do Free False Condition)

问题是因为当 G240 = "EVO" 时您已经做了一些事情(公式 1),您无法在事后通过嵌入公式的方式再次检查 G240。一个击球手的想法是当 G240="EVO" 为假时如何进行第二次检查。记住 if 语句的一般格式是:

IF(CONDITION,True Result, False Result)

if 语句中只有三件事。您尝试输入 3。

尝试重新排列:

    =If($G240="EVO", Do True Condition, IF(SOME CHECK to determine DO FOMULA 1 or CHECK for G240 = FREE, Do Formula 1, IF(G$240=Free, Do Free True Condition, Do Free False Condition)))

基本上分解您要在 G240 中检查的内容,并使用您的 IF 语句按顺序执行。现在,根据您所写的内容,我无法确定您要如何确定是要运行公式 1 还是要检查 G240="free" 是否有两种不同的结果,如果 G240="Free"/

【讨论】:

  • 我强烈建议不要使用 ISBLANK()。空白单元格和包含“”或空格的单元格都显示相同。但是,“”或空格不是空白单元格。而不是使用 isblank,我通常会使用if(A1="", TRUE,FALSE) 甚至IF(TRIM(A1)="", TRUE, FALSE) 之类的检查,并用我在这些情况下会执行的操作替换真/假部分。
【解决方案2】:

好的,我想我找到了问题所在。 IF(AND(NOT(ISBLANK 独立工作,因为公式中没有其他 IF。我确实想测试两个不同的单元格的文本(字母),以便在一个单元格为空白而另一个不为空白时显示警告. 但是,一旦您将 (AND 插入到多个 IF 的字符串中,它就不起作用了。 只需删除 (AND 就是我需要做的所有事情。实现对多个空白单元格的测试的另一种方法是简单地添加多个 IF(ISBLANKs. EG: =IF(ISBLANK(A1)+IF(ISBLANK(A2)>2;条件为真;条件为假)

ForwardEd 非常感谢您的帮助! 问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多