【问题标题】:Best way to show blank cell if value if zero如果值为零,则显示空白单元格的最佳方法
【发布时间】:2018-03-27 20:05:17
【问题描述】:
=COUNTIFS(Orders!$T:$T,$B4)

是给出 0 或 +ve 结果的代码

我在 1500 个单元格中使用它,这使得工作表充满了 0

我想使用以下公式删除零点

if(COUNTIFS(Orders!$T:$T,$B3,Orders!$F:$F,""&P$1&"*")=0,
"",
COUNTIFS(Orders!$T:$T,$B3,Orders!$F:$F,""&P$1&"*"))

这会将每个公式计算两次并增加计算时间。

我们如何在 1 个公式中做到这一点,如果值为 0 - 保持为空 - 否则显示答案

【问题讨论】:

  • 如果单元格等于 0,则留空,但计算量最少
  • 添加条件格式?

标签: if-statement google-sheets google-sheets-formula countif


【解决方案1】:

我建议这个细胞功能:

=IFERROR(1/(1/COUNTIFS(Orders!$T:$T,$B4)))

编辑: 我不确定要添加什么作为解释。基本上,如果结果为0,则用空白单元格替换复杂计算的结果,您可以将复杂函数包装在

IFERROR(1/(1/  ComplexFunction()   ))

它通过两次取结果的倒数 (1/X) 来工作,因此在所有情况下都返回原始结果,但会生成 DIV0 错误的 0 除外。然后,IFERROR 会捕获此错误以生成空白单元格。

这种方法的优点是它不需要计算复杂函数两次,因此可以显着提高速度/可读性,并且不会像自定义数字格式那样欺骗输出,如果这样做很重要单元格用于其他功能。

【讨论】:

  • 不反对我,但我建议通过添加一些解释来改进您的纯代码答案。这也有助于消除人们对 StackOverflow 是免费的代码编写服务的误解。
【解决方案2】:

您只需要为您的单元格范围设置数字格式。

进入菜单Format-->Number-->More Formats-->Custom Number Format...

在顶部的输入区域,输入以下内容:#;-#;""

格式字符串的“格式”是

(正值格式) ; (负值格式); (零值格式)

您可以应用颜色或逗号或其他任何内容。详情见this link

【讨论】:

  • 是否没有基于方程的公式...类似于 iferror 对错误值的作用 - 这里我们需要它用于“0”值
【解决方案3】:

而不是你的=COUNTIFS(Orders!$T:$T,$B4) 使用:

=REGEXREPLACE(""&COUNTIFS(Orders!$T:$T,$B4), "^0$", )

此外,为了加快速度,您应该避免“每行公式”并使用 ArrayFormulas

【讨论】:

  • REGEXREPLACE 返回一个字符串。如果 OP 想要将单元格内容保持为数字,则必须使用 VALUE(),而 VALUE("") 将返回 0。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 2017-08-28
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多