我有一个Excel文件,其中的公式如下:
=IF(OR(ISERROR(G16),ISERROR(G17)),X16,IF(OR(G16="xxx",G16="yyy",G16="zzz"),Y16,IF(G16="333","N\A",IF(G17="333",Z16,IF(D17="",IF((HEX2DEC(W$10)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)<0,0,(HEX2DEC(W$10)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)), IF((HEX2DEC(W17)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)<0,0,(HEX2DEC(W17)-HEX2DEC(W16))/VLOOKUP(F16,$M$36:$N$41,2,FALSE)))))))
我想简化它们,使其更易读。
- 我可以以缩进的方式编辑/编写Excel公式吗?
- 我可以进行哪些简化?
- 我应该使用VBA脚本代替Excel的公式吗?
- 是的,您可以使用缩进来编写/编辑Excel公式。这样做可以提高可读性和理解性。
- 您可以使用以下方法简化公式:将长公式分解成几个小公式,使用命名范围代替单元格引用,使用函数和数组公式等。
- 这取决于您的具体需求。如果Excel公式无法满足您的要求,则可以考虑使用VBA脚本来实现更高级的功能。
OR(ISERROR(G16),ISERROR(G17))
改为某个其他单元格的公式=OR(ISERROR(G16),ISERROR(G17))
,然后在您的复杂公式中,它只需读取IF([助手单元格的引用]...
,而不是使用OR(ISERROR(G16),ISERROR(G17))
。 - Daniel我可以以缩进的方式编辑/编写Excel公式吗?
是的。我可以做哪些简化?
分解公式/缩进/编写简短版本/像@ooo建议的使用辅助列。我应该使用VBA脚本而不是Excel的公式吗?
这取决于情况。如果我可以通过公式完成某些操作,我倾向于避免使用VBA。 - Siddharth Rout