如何从excel 2010中的列中仅删除0(零)值

时间:2013-06-18 11:38:25

标签: excel-formula excel-2010

我想删除整数列中值为0的值。

生成的单元格应为空白。

我该如何为此编写公式?有什么建议?

TELEPHONE NUMBERS
----------
49 5235102027   <-- Cell has 0 value but shouldn't removed!
35 2578945655
0               <-- Remove this   
90 5322720638
48 5396329155

15 个答案:

答案 0 :(得分:14)

控制 + H ,然后选择Options并检查Match entire cell contentsMatch case。在Find what字段中输入0,并将Replace with字段留空。然后全部替换。 这将删除所有独立的零。

答案 1 :(得分:6)

我选择了要删除0个值的列,然后单击了DATA&gt;过滤。在列的标题中,会出现一个过滤器图标。我点击该图标并仅选择了0个值,然后单击“确定”。仅选择0个值。最后清除内容或使用DELETE按钮。解决了问题!

答案 2 :(得分:3)

对我来说最简单的方法是使用if语句创建一个额外的列,以便用作过去剪贴板的副本。

= IF(期望的细胞= 0,“”,期望的细胞)

这应该返回一个更正的列,然后您可以复制并粘贴回原始列AS TEXT - 如果您只是复制粘贴,则发生循环引用,并且所有数据都从两列“擦除”。如果你没有仔细阅读,请不要担心,Ctrl + Z是你最好的朋友......

答案 3 :(得分:1)

这不是一个好的答案,但它应该引导你找到合适的答案。我没有写完VBA,所以我不记得确切的语法,但是这里有一些'psudeo代码' - 我知道你可以在VBA宏中轻松实现它

for all worksheet.rows
    if cell.value == 0
        then cell.value = " "
    endif
endfor

基本上,让VBA贯穿每一行。如果该行中的单元格是整数且等于零,则只需将其替换为“”。它不会是空白但它似乎是。我认为还有一个名为cell.value is empty的属性可能会清除单元格内容。在VBA中使用库,我相信你可以使用它。

或者,如果这是一次性作业,您可以使用特殊过滤器。只需从功能区中选择过滤器并替换全部0 带有空格的行。

我希望这有助于您入门。

答案 4 :(得分:0)

您不应该使用空格“”而不是“0”,因为excel将空格作为值来处理。

所以,答案是选择(Ctrl + F)。然后,单击选项并将查找放入“0”。 接下来,单击(匹配整个单元格内容。最后,替换或替换所有内容。

这个解决方案也可以提供更多。您可以在值之前或之后使用(*)删除所需的任何部分。

感谢。

答案 5 :(得分:0)

(Ctrl + F)解决方案非常接近 - 只是过程中的最后一步没有明确表达。虽然作者对空格=&#34; 0&#34;是正确的,但它不会对这种方法产生任何影响。您搜索的数据(无论您要删除的内容)都可以是任何内容。

搜索要删除的数据(在&#34;查找&#34;字段中)。在&#34;替换&#34;字段,留空。然后替换或全部替换。具有这些特定数据的单元格将被清空。

感谢您让我走上正轨。

答案 6 :(得分:0)

Command + F解决方案存在问题。如果单击全部替换,它将替换所有0。这意味着如果您不检查每个零,则重要单元格中包含的零也将被删除。例如,如果您的电话号码具有(420)区号,则它们将全部更改为(40)。

答案 7 :(得分:0)

我选择了要删除0个值的列,然后单击了DATA&gt;过滤。在列的标题中会出现一个过滤器图标。我点击该图标并仅选择了0个值,然后单击“确定”。仅选择0个值。最后清除内容或使用DELETE按钮。

然后从已删除的0值中删除空白行。我点击DATA&gt; FILTER我点击了该过滤器图标,未选中的空白将剩余数据复制并粘贴到新工作表中。

答案 8 :(得分:0)

其他一些答案非常适合从现有数据中删除零,但如果您的工作表经常更改并希望防止零出现,我发现使用条件格式最简单让它们看不见。只需选择要应用它的单元格范围&gt;条件格式&gt;新规则。

将规则类型更改为&#34;仅格式化包含&#34;的单元格。 <细胞值>等于&gt; 0

&#34;格式&#34;将文本颜色更改为白色或任何背景,并且所有包含正好为零的单元格将消失。

显然,这也适用于你想要消失的任何其他价值。

答案 9 :(得分:0)

将您的数据考虑到A列并立即编写代码

Sub deletezeros()
    Dim c As Range
    Dim searchrange As Range
    Dim i As Long

    Set searchrange = ActiveSheet.Range("A1", ActiveSheet.Range("A65536").End(xlUp))

    For i = searchrange.Cells.Count To 1 Step -1
        Set c = searchrange.Cells(i)
        If c.Value = "0" Then c.EntireRow.delete
    Next i
End Sub

答案 10 :(得分:0)

(Ctrl + H) - &gt; “查找和替换”窗口打开 - &gt;找到&#34; 0&#34; ,替换为&#34; &#34;(留空) - &gt;点击选项勾选匹配整个单元格内容 - &gt;点击&#34;全部替换&#34;按钮。

答案 11 :(得分:0)

最简单的方法如下: 单击办公室按钮(左上角) 点击&#34; Excel选项&#34; 点击&#34;高级&#34; 向下滚动到此工作表的&#34;显示选项&#34; 取消框#34;在零值的单元格中显示零&#34; 点击&#34;好的&#34;

这就是它的全部内容。

:)

答案 12 :(得分:0)

这是自动隐藏零值的正确答案,单元格显示空白为零值仅跟随:

  1. 单击办公室按钮(左上角)
  2. 点击&#34; Excel选项&#34;
  3. 点击&#34;高级&#34;
  4. 向下滚动至&#34;显示此工作表的选项&#34;
  5. 取消选中框&#34;在零值&#34;
  6. 的单元格中显示零
  7. 点击&#34;好的&#34;

答案 13 :(得分:0)

在Excel 2010中使用空白替换所有0并将大小写匹配为空白时,我发现它会将单元格绘制为空白,但是数据只是粉刷。因此,您使用counta,并且该单元格仍被视为要计数的单元格。除非仅用于显示目的,否则请勿在2010年使用该方法。

答案 14 :(得分:0)

弄清楚如何在只有 1 个单元格引用的公式中执行此操作:

=IFERROR(1/[cell]^-1,"")