非常复杂的Excel公式?
我如何写一个非常复杂的Excel公式?
通常Excel公式如下所示: IF(ISNUMBER(SEARCH(substring,text)), "Yes", "No")
。
我怎么能写一个大约300行的代码有很多:
1) conditional statements 2) loops 3) calling other formulas
有一个可读的代码,而不是一个一团糟是很重要的。 当然excel不是这个工作的写入工具,但我有一个非常古老的应用程序,我不能重写它。
1)有条件的陈述
如果IF嵌套,IF很快就会变得难以阅读和调整。 一个标准的替代scheme是用查找表replace一系列的IF。 虽然对于Google表格来说,这里有一个相当极端的例子(从近500个字符到25个)。
2)循环
除了通过UDF,没有问题。
3)调用其他公式
可能是关键。 打破每个元素,例如:
=SEARCH(substring,text)
在一个单元格(比如B1)中,然后在公式中引用该结果:
=IF(ISNUMBER(B1), "Yes", "No")
这可以在公式复杂的许多单元格中重复。
对于您的具体示例,另一个选项将依赖于默认输出(TRUE / FALSE),而不是“是”/“否”:
=ISNUMBER(B1)
所以从48个字符到23 + 13,更容易跟随。
命名范围也可以是非常有用的。