非常复杂的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,更容易跟随。

命名范围也可以是非常有用的。