我需要从Excel公式中返回一个空单元格,但似乎Excel对空字符串或空单元格的引用的处理方式与真正的空单元格不同。 因此,从本质上讲,我需要像这样的东西
=IF(some_condition,EMPTY(),some_value)
我试着做了一些事情,如
=IF(some_condition,"",some_value)
和
=IF(some_condition,,some_value)
并假设B1是一个空单元格
=IF(some_condition,B1,some_value)
但这些都不是真正的空单元格,我猜测是因为它们是公式的结果。 有没有什么方法可以在满足某些条件的情况下填充单元格,否则就保持单元格真正的空?
编辑:根据建议,我试着返回NA(),但对于我的目的,这也不起作用。 有什么方法可以用VB做这个吗?
编辑:我正在建立一个工作表,该工作表从其他工作表拉入数据,这些数据的格式是按照一个应用程序的非常具体的要求,将数据导入到数据库。 我没有权限改变这个应用程序的实现,如果值是""而不是实际的空,就会失败。
Excel没有任何方法可以做到这一点。
在Excel的单元格中,公式的结果必须是一个数字、文本、逻辑(布尔)或错误。不存在"空"或"空白"的公式单元格值类型。
我见过的一种做法是使用NA()和ISNA(),但这不一定能真正解决你的问题,因为其他函数对NA()的处理方式有很大差别(SUM(NA())是#N/A,而SUM(A1)在A1为空时是0)。
那么,你就必须使用VBA。 你将在你的单元格中进行迭代,测试条件,如果匹配则删除内容。
就像这样。
For Each cell in SomeRange
If (cell.value = SomeTest) Then cell.ClearContents
Next