如果在Excel中不满足条件,是否有办法跳过公式?

我有一个我正在比较的值的列表,如果它导致“是”,该函数返回一个值。

我想跳过这个function,如果这个值是“No”,比如这个function没有执行,那么它就会把这个单元格留空,因为这需要手动input。

有没有办法在Excel中实现这一点?

你可以使用一个IF()并返回一个空string,但它不会像留空单元那样完全一样,因为它实际上将包含一个公式。 但是,如果您可以使用手动input,则可以覆盖该input。

=IF(somecondition = "Yes", somevalue, "") 

你可以在另一个单元格中计算结果。 如同Alexandre Lavasseur所写的那样,
=IF(condition, your_calculation, "")
使单元格隐藏,或只使用白色的文字。
现在添加一个非常简单的macros的button(即调用button“ Calculate! ”),将只复制该单元格的结果(作为值!),并将其粘贴到“官方”的结果单元格。 这样,当button被激活时,如果有任何值存储在单元格中,它将被粘贴。 如果没有,单元格将仍然是空白的,并准备接受“手动”值。

编辑:像这个例子一样:

http://www.sendspace.com/file/eq3vuy

(只有当库数大于0时,button才会在B9中“写入”一个值)。

假设你在B5中有“书籍”的值,B5中的“图书馆”,并且你在H5中隐藏了这个公式: =IF(B5>0;B4/B5;"")

然后macros:Sub Calculate()''Calculate Macro'

 ' Range("H5").Select Selection.Copy Range("B9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False End Sub 

将从H5中获得任何价值,并将特殊(值)粘贴到B9,在那里您将拥有“每个图书馆的书籍”。 将此macros分配给一个button。
如果B5中库的值不是正值,则macros将粘贴空值“”,即清除单元格。 你也可以让macros保持原样,但是我不会推荐它(用户可能会认为这个macros与B9中的值“同意”,而只是把它留在那里)。