当然,您将使用要=""
在上述单元格中编写的公式来回答这个问题,但这不是我的情况。
实际上,我有一个函数,只有当它的参数等于一个空单元格时才有效,也就是说,一个单元格已经被完全擦除,按下del
它或类似的东西。
显然,我不能简单地删除单元格的内容,因为它从外部源获取数据,有时我需要该单元格的内容出现在我的电子表格中并可见。
当前单元格的公式类似于
=if([condition], "", [formula])
但是如果单元格的值等于""
而不是简单地为空,则该函数不再起作用(相反,如果内容等于 ,则它可以正常工作[formula]
)。
我无法修改函数,但我可以编写额外的 VBA 代码来实现结果。
按照 Daniel Cook 要求发布我的代码,这里是来自QuantLibXL的qlFloatingRateBond函数的公式:
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365",,,"obj_0004#008",,,,,,,)
如果你修改它
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365",0,,"obj_0004#008",,,,,,,)
或者
=qlFloatingRateBond(,,"EUR",3,,,"obj_0005#007",2,,"Actual/365","",,"obj_0004#008",,,,,,,)
由于提供了错误的参数,您会收到对象处理程序错误(修改是关于Floors
参数的,我希望逗号和空默认参数没有犯任何错误......)。
使其管理没有地板的债券的唯一方法是为其提供一个真正的空单元格,但如果您有一个外部数据源,它根据地板的存在或不存在在该单元格中返回一些值,您将不会能够使它工作。