0x9*_*x90 14 excel vba excel-vba excel-formula
我有这样一个公式的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)))))))
我想简化它们,以便以更易读的方式编写.
Dic*_*ika 10
您可以在公式栏中使用Alt + Enter来使公式成为多行.遗憾的是,没有标签只是空格,因此创建和编辑变得乏味.也可以看看
http://www.dailydoseofexcel.com/archives/2005/04/01/excel-formula-formatter/
小智 4
作为使用辅助列的示例,您可以使用以下内容缩短公式
[A1]=VLOOKUP(F16,$M$36:$N$41,2,FALSE)
[B1]=HEX2DEC(W$10)
[C1]=HEX2DEC(W16)
[D1]=HEX2DEC(W17)
然后大公式被缩短为
=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((B1-C1)/A1<0,0,(B1-C1)/A1), IF((D1-C1)/A1<0,0,(D1-C1)/A1))))))
当使用 DATE 或 NOW 等易失性函数时,当结果相同时,您不想为每个单元格重新计算,这尤其有效。
无论它是否更具可读性,也许不是,但您可以使用适当的注释来标记列标题
| 归档时间: |
|
| 查看次数: |
10395 次 |
| 最近记录: |