IF语句:如果条件为假,如何使单元格保持空白(“”无效)

153

如果条件为假,我想编写一个IF语句,在这种情况下单元格将保持空白。 请注意,如果例如在C1(条件为false的情况下)输入以下公式:

 =IF(A1=1,B1,"")

如果使用=ISBLANK(C1)测试C1是否为空,即使C1看起来是空的,也会返回FALSE。这意味着,如果条件未满足,则=IF(A1=1,B1,"")公式在技术上不会使单元格为空。

有什么想法可以实现这一点吗?谢谢。


2
那是因为它不是空的。它里面有一个公式。试试这个=C1=""或者如果你想变得更疯狂一些=IF(OR(C1="",ISBLANK(C1)),TRUE,FALSE)。 - Stepan1010
4
不需要变得那么疯狂,因为 OR(C1="",ISBLANK(C1)) 是等价的。 - Museful
1
这里有一种方法可以在满足条件时获得真正的空白:https://dev59.com/QXNA5IYBdhLWcg3wBpHs#39351425 - Przemyslaw Remin
@Museful,它们并不完全等价。C1="" 对于两种情况都适用,但是如果 C1 包含来自 IF 公式的 "",则 ISBLANK(C1) 将返回 false。你的回答让人感觉好像在任何情况下都可以使用其中任意一个。 - pbarney
16个回答

0

您可以像这样展示空白:

=IF(AND((E2-D2)>0)=TRUE,E2-D2," ")

if语句中第一个逗号之前是条件,如果条件为true则返回结果和返回值,如果条件为false则返回空值。


0

这是我所做的

=IF(OR(ISBLANK(AH38),AH38=""),"",IF(AI38=0,0,AH38/AI38))

使用 OR 条件 OR(ISBLANK(cell), cell="")


0
我找到了一个解决方案,返回N/A并使用IFNA()来过滤单元格输出。 在您的示例中,它将是这样的:
=IFNA(IF(A1=1,B1,NA()))

-2

验证A列中的数据是否为空

步骤1:B1=isblank(A1)

步骤2:将公式拖动到整个列,例如B1:B100;这将从B1到B100返回True或False,具体取决于A列中的数据

步骤3:CTRL+A(选择全部),CTRL+C(复制全部),CRTL+V(粘贴为值)

步骤4:Ctrl+F;查找和替换功能,查找“False”,替换为“留空此字段”;查找并替换全部

完成了,伙计!


-3

不要使用"",而是使用0。然后使用条件格式将0着色为背景颜色,使其看起来为空白。

由于在大多数情况下空单元格和0具有相同的行为,因此这可能会解决问题。


2
我认为这不是一个令人满意的答案,因为原始电子表格数据中现在会有0。导出、复制/粘贴或任何其他处理数据的任务都将无法正确处理所有这些0。 - Jeff Brateman
这是一个不好的想法,因为0在数字过滤方面存在问题。另一方面,0可以是常规和正确的值。那么如何区分好的0和“空白”0?我建议您删除此答案 :) - Znik

-4
这应该可以工作:=IF(A1=1, B1)
第三个参数,即条件不满足时单元格的值是可选的。

2
当条件求值为false且第三个参数不存在时,Excel返回第一个参数(FALSE)的值。不幸的是,这似乎不起作用。 - Kartal Tabak
2
我确信我已经测试过了,但它并没有复制。所以你是对的,这个答案完全是错误的。最好我删除它以节省大家的时间吗? - Heather Stark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接