Excel 如果单元格为',则清除单元格内容;s值为&引用;不使用VBA

Excel 如果单元格为',则清除单元格内容;s值为&引用;不使用VBA,excel,Excel,我有一列带有“空单元格”或“存储为文本的数字”。我需要得到“空单元格”或“数字值”来创建一个图表 我通常使用=IF(A1“;cnum(A1);”)创建第二列。但是图形显示“”为0,因此我需要去掉“”值。复制然后粘贴Excel中的值不起作用 我经常会动态地重新创建一个小的VBA代码来实现这一点(对于范围内的每个单元格(),如果cell.value=“”,那么cell.ClearContents…)。那太好了。。。但是,使用VBA似乎是一种过度使用 有时,我只需复制范围,将其粘贴到文本编辑器中,然后

我有一列带有“空单元格”或“存储为文本的数字”。我需要得到“空单元格”或“数字值”来创建一个图表

我通常使用
=IF(A1“;cnum(A1);”)
创建第二列。但是图形显示“”为0,因此我需要去掉“”值。复制然后粘贴Excel中的值不起作用

我经常会动态地重新创建一个小的VBA代码来实现这一点(
对于范围内的每个单元格(),如果cell.value=“”,那么cell.ClearContents…
)。那太好了。。。但是,使用VBA似乎是一种过度使用

有时,我只需复制范围,将其粘贴到文本编辑器中,然后复制并粘贴到Excel中。这也很有效。。。但我对这种技术也不是很满意

如果不使用VBA,您将如何在Excel中执行此操作


编辑1:我忘了提到我也经常使用
=IF(A1“;cnum(A1);“X”)
然后复制/粘贴值,然后按住Ctrl+F键表示“X”,并将其替换为零。(如果有文本值,我将改为“xyx”以确保)


编辑2:我应该提到我正在寻找的解决方案要么快1秒钟(这意味着不使用鼠标,要么很少使用鼠标),要么快但更好

假设您的值出现在“A”列中,将以下公式放入“B”列:

=IF(A1“”,1“”)
然后复制整个“A”列,并在“B”列上粘贴特殊标记,指定“值”,然后“乘法”作为操作,并选中“跳过空格”

之后,复制整个“B”列,并将其粘贴到“C”列上(假设为空),指定“值”,然后“添加”作为操作,并选中“跳过空格”

因此,在“C”列中有数字数据,其中的单元格为空,没有值

谢谢你的提问

  • 选择整个列(但一次只能选择一列)
  • 运行数据► 数据工具► 文本到列

  • 选择可能的副本,查看抛出错误是否有帮助=如果(A1“;cnum(A1);NA())@GSerg:谢谢你指出这一点。上下文有点不同,因为在另一篇文章中,问题是“有没有办法用VB实现?”但是,我还是要看一看,因为很多建议的答案都跳过了VB。@rwilson:谢谢。GSerg指出的帖子也提到了NA()解决方案。(“#N/A将导致绘图例程在单元格上插值,而真正的空单元格将被视为行中的间隙。”)我没有想到这个简单的技巧,这对于包含的CNUM转换很有趣。我来测试一下。谢谢你保证它会起作用,但我不确定它会比“复制到文本编辑器然后返回excel”的技巧更快(假设文本编辑器立即启动)。不管怎样,我明天会测试的。谢谢
    =IF(A1<>"", 1, "")