2016-04-29 99 views
0

我想在Excel中使用「查找和替換」來從列中刪除所有零,該列包含列A - 列C的值。因此A2-C2,A3- C3等,但因爲它的公式,它只是不會工作,即使我已經嘗試過'匹配大小寫/匹配整個內容'以及選項中的其他組合。這是一個簡單的問題,但很難找到答案,因爲所有問題似乎都是針對找到公式的一部分,並用其他方法取而代之。查找並替換包含Excel 2016公式的單元格中的值

+0

爲什麼你想刪除導致零公式?如果數據發生變化會怎樣;你應該替換公式嗎?爲什麼不簡單地通過自定義數字格式或「ActiveWindow.DisplayZeros = False」顯示零值?一個像Worksheet_Change這樣的事件驅動的宏怎麼樣,完全不需要公式呢?如果公式只是返回零長度的字符串(例如'「」')而不是零呢? – Jeeped

回答

1

如果您不想看到「0」或「#VALUE!」在這些列中,我會重寫公式,以便將這些值排除在輸出之外(意味着任何總和或平均值函數將排除這些單元格)。嘗試使用「iferror」或「if」公式來排除下面的示例。使用if語句

  • 不含0:=IF(H8*G8 = 0,"",H8*G8)
  • 排除#VALUE!使用IFERROR:=IF(H8*G8 = 0,"",H8*G8)
  • 不包含0和#VALUE使用組合IFERROR/if語句:=IFERROR(IF(G20*H20 = 0," ",G20*H20),"")

如果你想排除均爲0和#VALUE!你可以結合公式: enter image description here

enter image description here

0

假設你不想改寫公式的整個範圍內,你通過丹VBA做到(打Alt鍵 + F11)。剛糊代碼在那裏。現在選擇要空出的0's#Errors和運行代碼的範圍:

Sub RemZeroErr() 
    Dim rng As Range 
    For Each rng In Intersect(Selection, Selection.Parent.UsedRange).Cells 
    If IsError(rng) Then 
     rng.Value = "" 
    ElseIf rng.Value = 0 Then 
     rng.Value = "" 
    End If 
    Next 
End Sub 
相關問題