在 Excel 2010 中引用空白单元格时显示空白

Dav*_*ave 32 microsoft-excel microsoft-excel-2010

我有一个 Excel 2010 工作簿,其中包含许多单独的工作表。其中一张工作表上的单元格链接到同一工作簿中其他两个工作表上的单个单元格。我使用的是直接单元格引用,它实质上表示在一张纸上的特定单元格中输入的任何值也会填充其他两张纸上的单元格。我使用带有单元格引用的 (=) 函数来完成此操作。

我遇到的问题是,即使主单元格留空,从该主单元格填充的单元格也会显示 0,而不是自己保持空白。

如果它们链接到的主单元格为空白,我希望从属单元格保持空白。

wbe*_*d52 57

您需要强制 Excel 将单元格的内容视为文本值而不是数字,它会自动处理空白值。

=A2 & ""
Run Code Online (Sandbox Code Playgroud)

这将强制 Excel 使该单元格引用文本值,从而防止将空白转换为零。

  • 哇!我不敢相信它竟然如此简单! (4认同)

Sco*_*ott 19

以下是三个答案:

1)让other.cell.reference代表您当前在=(例如,  Sheet17!$H$42)之后的参考公式,将该链接参考替换为

=IF(other.cell.reference <>"",other.cell.reference, "")

2)将链接单元格的“数字”格式设置为“自定义”:General;–General;

3)在“Excel选项”,“高级”页面,“显示此工作表的选项”部分,清除“在具有零值的单元格中显示零”复选框。警告:这将导致工作表中的所有零消失。


ray*_*nnz 5

如果您的参考数据只是数字类型(非文本)或为空,并且您可能有 0,那么这是我的首选方法,只需输入一次公式。诚然,这是一种稍微间接的方式,但我认为这是最好的,因为:

  • 您不需要额外的单元格来放入公式,然后引用第二个单元格
  • 您不需要输入公式两次
  • 此方法区分零值和空单元格
  • 不需要VBA
  • 不需要命名范围

缺点:如果您需要返回文本数据,则这将不起作用。对于文本数据,我的首选方法是使用上面其他答案中提到的数字格式。

=IFERROR((A1 & "") * 1,"")
Run Code Online (Sandbox Code Playgroud)

本例中的 A1 可以替换为任何单元格,包括另一个工作表、工作簿或 INDIRECT()。

关于其工作原理的注释:
IFERROR() - 第二个参数设置为空字符串,因此如果发生错误,我们会得到一个空字符串。因此,我们需要确保源单元格是否为空,是否会触发错误。

数值方法:将源值字符串化,然后乘以1。文字空字符串 * 1 = #VALUE,带有数值的字符串自动转换为数值,不会发生错误。


小智 5

还有另一个技巧:将源空单元格设置为 Formula =""。请参阅此处的详细说明。


Bra*_*ton 1

如果链接的单元格是非数字的,您可以将 IF 语句与 ISTEXT 结合使用:

=IF(ISTEXT(Sheet1!A2), Sheet1!A2, "")
Run Code Online (Sandbox Code Playgroud)