IF 语句:如果条件为假,如何将单元格留空(“”不起作用)
Posted
技术标签:
【中文标题】IF 语句:如果条件为假,如何将单元格留空(“”不起作用)【英文标题】:IF statement: how to leave cell blank if condition is false ("" does not work) 【发布时间】:2013-09-17 01:28:30 【问题描述】:我想写一个 IF 语句,如果条件为 FALSE,则单元格留空。 注意,如果在C1中输入以下公式(条件为假)例如:
=IF(A1=1,B1,"")
如果 C1 被测试为空白或不使用 =ISBLANK(C1)
,这将返回 FALSE
,即使 C1 似乎是空白。这意味着如果条件不满足,=IF(A1=1,B1,"")
公式在技术上不会将单元格留空。
关于实现这一目标的方法有什么想法吗?谢谢,
【问题讨论】:
那是因为它不是空白的。它有一个公式。试试这个 =C1="" 或者如果你想变得非常疯狂 =IF(OR(C1="",ISBLANK(C1)),TRUE,FALSE) @Stepan1010 没必要让那个发疯,因为OR(C1="",ISBLANK(C1))
是等价的。
如果满足条件,这是一种获得真正空白的方法:***.com/a/39351425/1903793
@Museful,它们并不是严格等价的。 C1=""
将适用于这两种情况,但如果 C1
包含来自 IF 公式的 ""
,ISBLANK(C1)
将返回 false。您的回复听起来好像您可以在任何情况下使用其中任何一种。
【参考方案1】:
不幸的是,没有公式可以产生真正的空白单元格,""
是可以提供的最佳公式。
我不喜欢 ISBLANK,因为它不会将只有 ""
的单元格视为空白。相反,我更喜欢 COUNTBLANK,它将""
视为空白,所以基本上=COUNTBLANK(C1)>0
意味着C1 为空白或有""
。
如果您需要删除列中的空白单元格,我建议您过滤列中的空白,然后选择生成的单元格并按 Del。之后您可以删除过滤器。
【讨论】:
=COUNTBLANK(C1)>0
真的很有效! ISBLANK()
不适合我。谢谢!
任何数字 > 0 在 IF
语句的上下文中计算为 TRUE
,因此您可以替换 IF(COUNTBLANK(C1), .... )
而无需 >0
,只是为了让事情更清洁。
这是一种获得真正空白作为公式结果的方法:***.com/a/39351425/1903793【参考方案2】:
试试这个
=IF(ISBLANK(C1),TRUE,(TRIM(C1)=""))
对于真正空白或只包含空白的单元格,这将返回 true。
查看post 了解其他一些选项。
编辑
要反映 cmets 和您最终所做的事情:不要评估为 "",而是输入另一个值,例如 'deleteme',然后搜索 'deleteme' 而不是空白。
=IF(ISBLANK(C1),TRUE,(TRIM(C1)="deleteme"))
【讨论】:
好吧,对我来说,问题不在于“空白测试”的结果,而是以下内容:我将if statement
应用于整行,然后我想使用Go To -> Special -> Blanks
删除行中的空白单元格,即条件为假的单元格。但是,Go to
没有检测到我的行中的任何空白单元格,特别是由于这个问题,即我的 IF 语句不会每次都返回空白单元格。因此,我需要更改我的 IF 语句,以便它适当地返回空白单元格。
如果你还是要删除它们,你能否返回一个不同的值(即'deleteme'),然后在你的其他例程中搜索该值。
感谢您的提示!这正是我所做的!我试过=IF(A1,B1,NA()),我用Go To -> Special -> Formula -> Errors
成功删除了不满足条件的单元格!再次感谢您的提示!【参考方案3】:
我想补充一点,还有另一种可能性——使用函数na()
。
例如=if(a2 = 5,"good",na());
这将用#N/A 填充单元格,如果您绘制该列的图表,则不会绘制数据。我知道这不是“空白”,但如果您的数据中有空白字符串并且""
是一个有效选项,这是另一种可能性。
此外,count(a:a)
不会计算通过此操作设置为 n/a 的单元格。
【讨论】:
【参考方案4】:如果您想使用一个现象级(其中包含一个公式)的空白单元格来进行算术/数学运算,您所要做的就是使用这个公式:
=N(C1)
假设 C1 是一个“空白”单元格
【讨论】:
【参考方案5】:你可以试试这个。
=IF(A1=1,B1,TRIM(" "))
如果你把这个公式放在单元格C1中,那么你可以在另一个单元格中测试这个单元格是否为空白
=ISBLANK(C1)
您应该看到 TRUE。我在 Microsoft Excel 2013 上试过。 希望这会有所帮助。
【讨论】:
【参考方案6】:我发现这种解决方法似乎可以解决问题:
修改你原来的公式:
=IF(A1=1,B1,"filler")
然后选择列,搜索并将“填充”替换为空。您想要空白/空的单元格实际上是空的,如果您使用“ISBLANK”进行测试,它将返回 TRUE。不是最优雅的,但它很快并且有效。
【讨论】:
这行不通,查找和替换将替换公式中的 filler 留下与以前相同的问题。【参考方案7】:如果 IF 语句返回 false,最简单的解决方案是使用条件格式将结果单元格的字体更改为任何颜色背景。是的,从技术上讲,该单元格不是空白的,但您将无法看到它的内容。
【讨论】:
可以使用 if 语句来空白单元格。虽然您的解决方案是可行的,但它并不是最好的方法。【参考方案8】:这应该有效(修改上面,解决方法,而不是公式)
修改你原来的公式: =IF(A1=1,B1,"填充物")
在电子表格上添加过滤器,在 B 列中仅选择“填充”,突出显示所有带有“填充”的单元格,点击删除,删除过滤器
【讨论】:
我不知何故觉得这不是 OP 想要的。看来他想要一个公式。你说这不是公式,但仍然。【参考方案9】:你可以这样做来显示空白:
=IF(AND((E2-D2)>0)=TRUE,E2-D2," ")
在if
中,第一个逗号之前是条件,如果true
是结果和返回值,如果条件是false
,最后一个值是空白
【讨论】:
【参考方案10】:C1中的公式
=IF(A1=1,B1,"")
要么给出“”的答案(不被视为空白),要么给出 B1 的内容。
如果您希望 D1 中的公式在 C1 为 "" 时显示 TRUE,如果 C1 有其他内容则显示 FALSE,则使用公式
=IF(C2="",TRUE,FALSE)
而不是ISBLANK
【讨论】:
【参考方案11】:这就是我的工作
=IF(OR(ISBLANK(AH38),AH38=""),"",IF(AI38=0,0,AH38/AI38))
使用 OR 条件 OR(ISBLANK(cell), cell="")
【讨论】:
【参考方案12】:我认为您需要做的就是设置 NOT TRUE 条件的值以使其显示任何错误,然后使用 IFNA()
过滤错误。
你的公式应该是这样的=ifna(IF(A1=1,B1,NA()))
这是一个从 if 条件返回空白的工作表: https://docs.google.com/spreadsheets/d/15kWd7oPWQmGgYD_PLz9YpIldwnKWoXPHtHQAT3ulqVc/edit?usp=sharing
不...仅适用于 Googlesheets...不适用于 Excel。
【讨论】:
【参考方案13】:验证 A 列中的数据是否为空白
第 1 步:第 1 步:B1=isblank(A1)
第 2 步:拖动整个列的公式,例如 B1:B100;这将根据 A 列中的数据从 B1 到 B100 返回 Ture 或 False
第 3 步:CTRL+A(全选)、CTRL+C(全部复制)、CRTL+V(全部粘贴为值)
第四步:Ctrl+F;查找替换功能 Find "False", Replace "leave this blank field" ;查找和替换所有
你来了,伙计!
【讨论】:
【参考方案14】:不要使用“”,而是使用 0。然后使用条件格式将 0 着色为背景颜色,使其显示为空白。
由于空白单元格和 0 在大多数情况下具有相同的行为,这可能会解决问题。
【讨论】:
我认为这不是一个令人满意的答案,因为现在原始电子表格数据中会出现 0。导出、复制/粘贴或任何其他处理数据的任务对于所有这些 0 都是不正确的。 这是个坏主意,因为 0 无法按数字过滤。其他方式,0 可以是通常和正确的值。那么如何识别好 0 和“空白” 0 呢?我建议你删除这个答案:)【参考方案15】:这应该可以工作:=IF(A1=1, B1)
如果条件不满足,则说明单元格值的第三个参数是可选的。
【讨论】:
当条件评估为假且第三个参数不存在时,Excel 返回第一个参数 (FALSE) 的值。不幸的是,这似乎不起作用。 我确定我已经测试过了 - 但它不会复制。所以你是对的,这个答案是完全错误的。如果我删除它以节省人们的时间是最好的吗?以上是关于IF 语句:如果条件为假,如何将单元格留空(“”不起作用)的主要内容,如果未能解决你的问题,请参考以下文章