【问题标题】:Leave a cell blank if condition is false如果条件为假,请将单元格留空
【发布时间】:2015-07-30 14:59:18
【问题描述】:

其他问题已经涉及到这一点,并提供了对于非常大的数据集不可行的解决方案。我在 9 列中有如下公式:

=IF(A1=A2, B2, "zz") 

然后我自动填充大约 350 万个单元格 + 复制 -> 粘贴值。然后我找到并用“空单元格”替换“zz”。但是,查找和替换大约一百万个“zz”字符串是一个非常缓慢的过程。我宁愿一开始就不在那里写任何东西。所以我的问题是,如何编写以下公式:

=IF(A1=A2, B2, 'leave cell alone and write nothing there at all')

如果为 FALSE(或 TRUE),Excel 似乎无法不接触单元格。

【问题讨论】:

  • 为什么不只是if(a1=a2,b2,'')?
  • 如果您真的对空字符串和空单元格感到困惑,那么我建议您编写一个宏,当您的条件不满足时,它会跳过写入单元格。如果关闭屏幕刷新,处理 350 万个单元格时可能会快很多。
  • =IF(A1=A2, B2, "") 就是你要找的东西
  • 您能退后一步解释一下为什么=IF(A1=A2, B2, "") 中的空字符串不适用于您的情况吗?
  • 给你!如果满足条件,则得到一个真正的空白:stackoverflow.com/a/39351425/1903793

标签: excel if-statement find replaceall


【解决方案1】:

单元格包含公式的事实已经意味着它不是真正的空。常见的做法是使用空字符串,比如

=IF(A1=A2, B2,"")

在很多情况下都会出现问题,如果出现问题,在大多数情况下可以应用不同的技术。

【讨论】:

    【解决方案2】:

    令 NULL 为其中包含“”的单元格的名称,而 BLANK 为真正空白的单元格的名称。

    NULL 不是真正的空白; ISBLANK(NULL) 将返回 FALSE。但请注意,“=”将空白单元格和空单元格视为相同。所以对于任何单元格 C1:

    (C1="")
    (C1=BLANK)
    (C1=NULL)
    

    如果 C1 是真正的空白或者如果它包含“”,将全部返回 TRUE。 (我发现这比使用其他地方建议的 COUNTBLANK(C1)>0 更简单。)

    【讨论】:

      【解决方案3】:

      试试这个

      =IF(A1=A2,B2,TRIM(""))
      

      【讨论】:

      • 这不起作用 - excel 仍然将其视为存在的东西
      猜你喜欢
      • 2013-09-17
      • 2018-03-13
      • 1970-01-01
      • 2018-05-14
      • 2021-10-30
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多