我想从单元格值为 0 的整个列中删除值。
结果单元格应为空白。
我怎样才能为此写一个公式?有什么建议么?
TELEPHONE NUMBERS
----------
49 5235102027 <-- Cell has 0 value but shouldn't removed!
35 2578945655
0 <-- Remove this
90 5322720638
48 5396329155
我想从单元格值为 0 的整个列中删除值。
结果单元格应为空白。
我怎样才能为此写一个公式?有什么建议么?
TELEPHONE NUMBERS
----------
49 5235102027 <-- Cell has 0 value but shouldn't removed!
35 2578945655
0 <-- Remove this
90 5322720638
48 5396329155
按Control+ H,然后选择Options
并检查Match entire cell contents
和Match case
。在Find what
字段中键入 a 0
,并将Replace with
字段留空。然后全部替换。这将删除所有独立的零。
我选择了要删除 0 个值的列,然后单击 DATA > FILTER。在列的标题中会出现一个过滤器图标。我点击了那个图标,只选择了 0 个值,然后点击了 OK。只有 0 个值被选中。最后清除内容或使用删除按钮。问题解决了!
对我来说,最简单的方法是创建一个带有 if 语句的额外列,基本上用作过去剪贴板的副本。
=IF(所需单元格 = 0, "", 所需单元格)
那应该返回一个更正的列,然后您可以将其复制并粘贴回原始列 AS TEXT - 如果您只是复制粘贴,则会发生循环引用并且所有数据都从两列中“删除”。如果您没有仔细阅读本文,请不要担心 Ctrl+Z 是您最好的朋友...
这不是一个很好的答案,但它应该引导您找到正确的答案。我还没有写过 VBA,所以我不记得确切的语法了,但是这里有一些“伪代码”给你——我知道你可以很容易地在 VBA 宏中实现它
for all worksheet.rows
if cell.value == 0
then cell.value = " "
endif
endfor
基本上,让 VBA 贯穿每一行。如果该行中的单元格是整数且等于零,只需将其替换为“”。它不会是空白的,但它似乎是。我认为还有一个名为cell.value is empty
可以清除单元格内容的属性。在 VBA 中使用该库,我确信其中有一些您可以使用的东西。
或者,如果这是一次性工作,您可以使用特殊过滤器。只需从功能区中选择过滤器,然后将所有 0 逐行替换为空格。
我希望这有助于您入门。
Command + F 解决方案存在问题。如果单击全部替换,它将全部替换为 0。这意味着如果您不检查每个零,那么重要单元格中包含的零也将被删除。例如,如果您的电话号码具有 (420) 区号,它们将全部更改为 (40)。
(Ctrl+F) 解决方案非常接近 - 只是过程中的最后一步没有明确说明。虽然作者对空格 = "0" 的看法是正确的,但这种方法不会有任何区别。您搜索的数据(无论您想删除什么)可以是任何数据。
搜索您要删除的数据(在“查找”字段中)。在“替换”字段中,将其留空。然后替换或全部替换。具有这些特定数据的单元格将被清空。
谢谢你让我走上正轨。
您不应该使用空格“”而不是“0”,因为 excel 将空格作为值处理。
因此,答案是 (Ctrl + F) 选项。然后,单击选项并输入“0”查找。接下来,单击(匹配整个单元格内容。最后,替换或替换全部由您决定。
该解决方案还可以提供更多。您可以在值之前或之后使用 (*) 来删除您想要的任何部分。
谢谢。
我选择了要删除 0 个值的列,然后单击 DATA > FILTER。在列的标题中会出现一个过滤器图标。我点击了那个图标,只选择了 0 个值,然后点击了 OK。只有 0 个值被选中。最后清除内容或使用删除按钮。
然后将删除的空行从已删除的 0 值中删除。我单击 DATA > FILTER 我单击了该过滤器图标,未选中的空白将剩余数据复制并粘贴到新工作表中。
这是自动隐藏零值的正确答案,并且单元格仅显示零值空白:
最简单的方法如下:单击办公室按钮(左上角)单击“Excel选项”单击“高级”向下滚动到“显示此工作表的选项”取消选中“在具有零值的单元格中显示零”框点击“确定”
这里的所有都是它的。
:)
(Ctrl+H) -> 查找和替换窗口打开 -> 查找“0”,替换为“”(留空)-> 单击选项勾选匹配整个单元格内容 -> 单击“全部替换”按钮。
其他一些答案非常适合从现有数据中删除零,但是如果您有一个不断更改的工作表并希望防止零出现,我发现使用条件格式使它们不可见是最简单的。只需选择要应用的单元格范围 > 条件格式 > 新规则。
将规则类型更改为“仅格式化包含”单元格值 > 等于 > 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
当我在 Excel 2010 中使用替换所有 0 并将大小写与空白匹配时,我发现它会将单元格绘制为空白,但数据只是被粉饰了。所以你使用 counta 并且单元格仍然被计算为要计算的东西。除非仅用于展示目的,否则切勿在 2010 年使用该方法。
弄清楚如何在公式中仅使用 1 个单元格引用来执行此操作:
=IFERROR(1/[cell]^-1,"")