Dak*_*taD 10 vba worksheet-function microsoft-excel
是否可以在不使用 VBA 的情况下在 Excel 中创建自定义用户函数?
我的问题是我有一长串标准的 excel 函数串在一起形成一个很长的函数。这个函数在我的工作簿中的 25 个不同的工作表中使用。如果我需要对其进行更改,我只想在一个地方进行更改,并自动将更改传播到所有工作表中。
例如,一个简单而琐碎的情况是将 SUM() 的结果加一,即。SUM(mySeries)+1,并将其称为新函数 MYSUM()。
由于可能出现的潜在错误和增加的复杂性,我对将长公式转换为 VBA 犹豫不决。
小智 11
是的,如果您使用Excel Named Formulas是可能的。
例如,假设您需要计算工作簿中不同位置的两个连续列 ( A5:Ax - B5:Bx )的总和之间的差值(x是每列的最后一行):
因此,您在A11中将一个名为diff(可以使用任何名称)的名称定义为=Sum(A$5:A10)-Sum(B$5:B10),假设数据从第5行开始直到上一行。它可以是任何单元格,而不仅仅是A11,但定义以相同的方式更改。
不幸的是,Excel 2010插入了绝对前缀 ( $ ) 和工作表前缀,因此您需要擦除前缀,但保留感叹号并擦除大多数$字符。
移动公式时,大多数引用都是相对的。所以它总是计算当前列和下一行之间的差异,从第5行开始,直到总行之前的行。
因此,如果您有C5和D100之间的数据,您只需在C101 中放入=Diff并计算Sum(C5:C100) - Sum(D5:D100)。
显然,您可以在命名公式中使用本地或全局名称,就像您在问题中提到的那样。
您可以在命名公式中阅读更多详细信息。
归档时间: |
|
查看次数: |
10891 次 |
最近记录: |