在Excel中屏蔽返回值

我有一个电子表格,使用以下CSE公式来填充工作表,其中主数据表名称为“字段更新概述”中列L> 0的内容。 我在目标工作表中将公式复制下来,以确保每个实例都发生这种情况,并使用ISERROR来屏蔽#NUM! 结果。

以下是目标工作表A列中使用的CSE公式,它在列B中复制,将返回的列更改为2,依此类推。

 {=IF(ISERROR(INDEX('Field renewal overview'!$A$3: 'Field renewal overview'!$T$155,SMALL(IF('Field renewal overview'!$L$3: 'Field renewal overview'!$L$155>0,ROW('Field renewal overview'!$L$3: 'Field renewal overview'!$L$155)),ROW(1:1))-1,1)),"",INDEX('Field renewal overview'!$A$3: 'Field renewal overview'!$T$155,SMALL(IF('Field renewal overview'!$L$3: 'Field renewal overview'!$L$155>0,ROW('Field renewal overview'!$L$3: 'Field renewal overview'!$L$155)),ROW(1:1))-1,1))} 

我相信有一个更有效的方法来实现我所做的事情,但是我不熟练VBA来编写脚本,并且“字段更新概述”中的数据可以改变我需要dynamic更新目标工作表的含义。 我发现了一些简单的VBA脚本,我可以很容易地修改它们以将行复制到目标工作表中,但是我不知道如何将其更改为dynamic修改“字段更新概览”等。

CSE公式几乎正是我想要做的事情,但是在返回的单元格中没有数据存在(这确实发生),它填充0。

我想find一个方法,将0留在空白单元格中。 (我曾经想过使用条件格式将0的文本颜色更改为白色,但是我将运行条件格式来替代行颜色)。

您可以使用此格式string的自定义格式:

 0;-0;;@ 

以自定义格式格式化string的语法是

 format for positive;format for negative;format for zero;@ to show text 

这意味着,如果您只指定正值和负值的格式,没有零格式并允许使用@符号显示文本,则不显示零。 省略@符号,文字也将被隐藏。 如果你不想显示任何数字,只是文本,使用string;;;@ 。 如果要用格式化来隐藏所有内容,请使用;;;

格式0;-0;;@已应用于单元格A4到A8,它们从单张1中拉出单元格A4到A8。单元格Sheet1!A8为空,因此公式将返回零。

在这里输入图像说明

另一个选项是用Excel选项压缩零。 文件“>”选项“>”高级“>”显示此工作表的选项“部分>取消选中”在零值单元格中显示一个零“,但这将应用于整个工作表,也许你想在其他一些单元格中显示零。