2017-09-04 38 views
0

我有一個電子表格,我使用以下CSE公式來填充工作表,其中包含主數據表名稱「字段更新概覽」中列L> 0的內容的所有行。我將公式向下複製到目標工作表中,以確保發生這種情況,並使用ISERROR來掩蓋#NUM!結果。在Excel中屏蔽返回值

以下是目標工作表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精通編寫一個腳本更高效/有效的方法,並在田間更新概述「可以改變的意思,我的數據需要動態更新目標工作表。我發現了一些簡單的VBA腳本,我可以很容易地修改它們以將行復制到目標工作表,但是我不知道如何將其更改爲動態修改「字段更新概覽」等。

CSE公式幾乎正是我想要它做的,但是沒有數據存在於返回的單元格中(它確實發生),它填充了0.

我想找到一種方式,將0留在空白單元格中。 (我曾想過使用條件格式將0的文本顏色更改爲白色,但是我將運行條件格式來替代行顏色)。

回答

1

您可以使用自定義格式與此格式字符串:

0;-0;;@ 

的語法在自定義格式格式化字符串是

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

這意味着,如果你只指定了積極的格式和負值,沒有零格式並允許用@符號顯示文本,則不會顯示零。省略@符號,文字也將被隱藏。如果您不想顯示任何數字,只需顯示文本,請使用字符串;;;@。如果要通過格式隱藏所有內容,請使用​​。

格式0;-0;;@已應用於單元格A4到A8,它們從單張1中拉出單元格A4到A8。單元格Sheet1!A8爲空,因此公式返回零。

enter image description here

另一種選擇是抑制與Excel選項零。文件>選項>高級>部分「顯示此工作表的選項」>取消選中「在零值單元格中顯示零」,但這將應用於整個工作表,也許您想要在其他單元格中顯示零。

+0

謝謝@teylyn - 完美的作品。非常感謝。 –