如何编写非常复杂的Excel公式?
通常Excel公式如下:IF(ISNUMBER(SEARCH(substring,text)), "Yes", "No")
。
如何编写一个包含300行代码的大型公式:
1) conditional statements
2) loops
3) calling other formulas
拥有可读代码而非一行混乱非常重要。 当然excel不是这个工作的写工具,但我有一个非常古老的应用程序,我不能重写它。
答案 0 :(得分:1)
1)条件陈述
IF但嵌套的IF很快就难以编写,难以阅读/调整。标准替代方案是用查找表替换一系列IF。虽然对于Google表格,恰好有一个相当极端的例子here(即从近500个字符到25个)。
2)循环
除了通过UDF,不可能。
3)调用其他公式
可能是钥匙。为了你的例子,打破每个元素:
=SEARCH(substring,text)
在一个单元格(比如B1)中,然后在公式中引用该结果:
=IF(ISNUMBER(B1), "Yes", "No")
这可以在公式很复杂的许多单元格中重复。
对于您的具体示例,另一种选择是依赖于默认输出(TRUE / FALSE)而不是“是”/“否”:
=ISNUMBER(B1)
所以从48个字符到23 + 13,更容易理解。
命名范围也非常有用。