让0消失术

2021-12-21 16:51:28 浏览数 (1)

标签:Excel技巧

经常有人问的一个问题是“如何不显示零?”,下面介绍几种实现方法,每种方法都有各自的优缺点,感兴趣的用户可以选择最适合自己情况的方法。

示例数据如下图1所示。

图1

其中,单元格E1中的公式是:

代码语言:javascript复制
=COUNTIFS(A:A,D2,B:B,E1)

向右向下复制到相关区域。

在列A和列B中,列出了员工姓名及其工作日。在D1:J7中,有一个表将A:B列组织到一块网格中。然后在D10:J16是相同的表,但没有显示零。现在,第二个表只有值,没有公式,但是更容易阅读,而且更容易地发现一些模式,比如Stacy只在周二工作,周二和周三似乎人手不足,而Isabella似乎总是和Phineas在同一天工作。

那么,如何将上方的表转换为下方的表呢?

方法1:单击“文件——选项”,在“Excel选项”对话框中选取左侧的“高级”选项卡,在右侧的“此工作表的显示选项”中取消“在具有零值的单元格中显示零”勾选。

图2

这种方法唯一的缺点是它是一个全工作表的设置。如果希望在同一工作表中看到其他具有零值的区域,这也会隐藏它们。

方法2:可以应用自定义格式。在上面的工作表中,选择单元格区域E2:J7,单击右键,选择“设置单元格格式”中的“数字”选项卡,单击“自定义”,然后在“类型”框中输入:

G/通用格式;"-"G/通用格式;;@

使用此方法,可以将格式限制为所需的区域。唯一的缺点是,如果已经对这些单元格应用了特定的格式,必须调整自定义格式以处理现有格式。也可以使用条件格式。选择单元格区域E2:J7,单击“开始”选项卡“条件格式——新建规则”,输入公式:

代码语言:javascript复制
=E2=0

然后,单击“格式”按钮,选择“数字”选项卡,单击“自定义”,在右侧类型框输入:

;;;

这只应用;;;设置具有零值单元格的格式,该区域内其他单元格的格式将保持不变。

方法3:有时不想更改工作表选项设置或使用自定义格式。在这种情况下,需要修改公式。可以将上述公式更改为:

代码语言:javascript复制
=IF(COUNTIFS(A:A,D2,B:B,E1)=0,"",COUNTIFS(A:A,D2,B:B,E1))

使用IF,检查原公式结果是否为零。如果为零,则显示“”;如果不是,则重复原来的公式。这有两个小缺点:首先,公式的长度是原来的两倍,因为必须输入原始公式两次;第二,如果数字为0,则结果为“”,这不是数字。这可能会抛开引用该单元格的其他公式,例如COUNT。

方法4:这是方法3的变体,不需要使用原始公式两次。如果你安装的Excel版本具有IFERROR函数(Excel 2010或更新版本),则可以按如下方式更改公式:

代码语言:javascript复制
=IFERROR(1/(1/COUNTIFS(A:A,D2,B:B,E1)),"")

乍一看,令人困惑。其工作原理是找到公式结果的倒数。对于所有非零值,将得到另一个数字。如果是零,会得到一个DIV/0!错误。然后,再取一次倒数。对于非零值,将获得原始值。如果已经得到了#DIV/0!错误,它将仍然是一个错误。然后,IFERROR函数检测到它并显示“”而不是错误代码。

这样做的缺点是,如果你以前没见过它,就会有点困惑。它还有与方法3相同的问题,即结果是文本值,而不是数字。

注意,这些方法适用于正好为零的值。如果有一个非常非常小的数字,可能需要使用ROUND来隐藏它,这同样取决于实际情况。

注:以上内容学习整理自mrexcel.com。

0 人点赞