标签: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。