ChatGPT解决这个技术问题 Extra ChatGPT

IF 语句:如果条件为假,如何将单元格留空(“”不起作用)

我想写一个 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 无需让 that 疯狂,因为 OR(C1="",ISBLANK(C1)) 是等价的。
如果满足条件,这是一种获得真正空白的方法:stackoverflow.com/a/39351425/1903793
@Museful,它们不是严格等价的。 C1="" 将适用于这两种情况,但如果 C1 包含来自 IF 公式的 "",则 ISBLANK(C1) 将返回 false。您的回答听起来好像您可以在任何情况下使用其中任何一种。

t
tigeravatar

不幸的是,没有公式方法可以产生真正的空白单元格,"" 是可以提供的最佳公式。

我不喜欢 ISBLANK,因为它不会看到只有 "" 为空白的单元格。相反,我更喜欢 COUNTBLANK,它将 "" 视为空白,因此基本上 =COUNTBLANK(C1)>0 意味着 C1 为空白或具有 ""

如果您需要删除列中的空白单元格,我建议您过滤列中的空白,然后选择生成的单元格并按 Del。之后您可以删除过滤器。


=COUNTBLANK(C1)>0 确实有效! ISBLANK() 对我不起作用。谢谢!
任何数字 > 0 在 IF 语句的上下文中计算为 TRUE,因此您可以直接替换 IF(COUNTBLANK(C1), .... ) 而不需要 >0,只是为了使事情更清晰。
以下是一种获得真正空白作为公式结果的方法:stackoverflow.com/a/39351425/1903793
C
Community

试试这个

=IF(ISBLANK(C1),TRUE,(TRIM(C1)=""))

对于真正空白或仅包含空白的单元格,这将返回 true。

有关其他一些选项,请参阅此 post

编辑

要反映评论和您最终所做的事情:不要评估为“”,而是输入另一个值,例如“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,成功删除了不满足条件的单元格!再次感谢您的提示!
u
user3791372

我想补充一点,还有另一种可能性 - 使用函数 na()

例如=if(a2 = 5,"good",na());

这将用#N/A 填充单元格,如果您绘制该列,则不会绘制数据。我知道它本身不是“空白”,但如果您的数据中有空白字符串并且 "" 是一个有效选项,这是另一种可能性。

此外,count(a:a) 不会计算已通过此操作设置为 n/a 的单元格。


N
Nick

如果您想使用一个现象(其中有一个公式)空白单元格来进行算术/数学运算,您所要做的就是使用这个公式:

=N(C1)

假设 C1 是一个“空白”单元格


Y
Yugo Gautomo

你可以试试这个。

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

如果将此公式放在单元格 C1 中,则可以测试此单元格在其他单元格中是否为空白

=ISBLANK(C1)

你应该看到 TRUE。我已经尝试过 Microsoft Excel 2013。希望这会有所帮助。


m
mdml

我发现这种解决方法似乎可以解决问题:

修改你原来的公式:

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

然后选择列,搜索并将“填充”替换为空。您想要空白/空的单元格实际上是空的,如果您使用“ISBLANK”进行测试,它将返回 TRUE。不是最优雅的,但它很快并且有效。


这不起作用,查找和替换将替换公式中的填充物,留下与以前相同的问题。
b
b creative

最简单的解决方案是,如果 IF 语句返回 false,则使用条件格式将结果单元格的字体更改为任何颜色背景。是的,从技术上讲,单元格不是空白的,但您将无法看到它的内容。


可以使用 if 语句来空白单元格。虽然您的解决方案是可行的,但它不是最好的方法。
g
guest XL

这应该有效(上面的修改,解决方法,而不是公式)

修改你原来的公式: =IF(A1=1,B1,"filler")

将过滤器放在电子表格上,在 B 列中仅选择“填充”,突出显示所有带有“填充”的单元格,点击删除,删除过滤器


我不知何故觉得这不是OP想要的。看来他想要一个公式。你说这不是一个公式,但仍然。
J
J-Alex

您可以执行以下操作来显示空白:

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

在第一个逗号之前的 if 内是条件,如果是 true,则结果和返回值,如果条件是 false,则最后一个值作为空白


C
ChrisM

C1中的公式

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

要么给出“”的答案(不被视为空白),要么给出 B1 的内容。

如果您希望 D1 中的公式在 C1 为 "" 时显示 TRUE,如果 C1 有其他内容则显示 FALSE,则使用公式

=IF(C2="",TRUE,FALSE)

而不是 ISBLANK


T
Talha

这是我所做的

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

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


S
Stephen Chisholm

我认为您需要做的就是设置 NOT TRUE 条件的值以使其显示任何错误,然后使用 IFNA() 过滤错误。

这是您的公式应如下所示=ifna(IF(A1=1,B1,NA()))

这是一个从 if 条件返回空白的工作表:https://docs.google.com/spreadsheets/d/15kWd7oPWQmGgYD_PLz9YpIldwnKWoXPHtHQAT3ulqVc/edit?usp=sharing

不...仅适用于 Googlesheets...不适用于 Excel。


R
Raj Bunnu

为空白验证 A 列中的数据

第一步:第一步: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" ;查找并替换所有

你去,伙计!


N
Nein

不要使用“”,而是使用 0。然后使用条件格式将 0 着色为背景颜色,使其显示为空白。

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


我认为这不是一个令人满意的答案,因为现在原始电子表格数据中会出现 0。导出、复制/粘贴或任何其他处理数据的任务对于所有这些 0 都是不正确的。
这是个坏主意,因为 0 无法按数字过滤。其他方式,0 可以是通常和正确的值。那么如何识别好 0 和“空白” 0 呢?我建议你删除这个答案:)
H
Heather Stark

这应该可以工作: =IF(A1=1, B1)

如果条件不满足,则说明单元格值的第三个参数是可选的。


当条件评估为假且第三个参数不存在时,Excel 返回第一个参数 (FALSE) 的值。不幸的是,这似乎不起作用。
确定我已经对其进行了测试 - 但它不会复制。所以你是对的,这个答案是完全错误的。如果我删除它以节省人们的时间是最好的吗?

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅