excel工作表可以用作UDF吗?

Posted

技术标签:

【中文标题】excel工作表可以用作UDF吗?【英文标题】:Can an excel worksheet be used as UDF? 【发布时间】:2009-05-17 10:22:59 【问题描述】:

我正在用 Excel 构建网络业务模型。类似的模型是 Gawker Media 的模型。

在我的模型中,我有一个数字属性,这些属性具有一些重叠的受众。每个属性都吸引用户,这反过来又提供了交叉促销机会。就 Gawker 而言,他们有一系列博客,其受众可能会在他们的网络中阅读他们的几个博客。

如果 gawker 推出了一个新博客,他们就能够引导来自其博客网络的流量。

为单个博客创建模型相当简单 - 尽管最初的假设更难。下一步是对网络效应进行建模。

Excel 提供了一个场景管理器,允许我改变基本模型中的关键假设。这几乎是完美的,我可以对 10 个属性的发布进行建模,每个属性都有不同的发布假设并查看摘要。

我需要帮助的地方是弄清楚如何改变每个属性的初始用户数量。换句话说,一旦网络建立起来,就有可能将人们带到网络上推出的任何新物业。

我不相信场景经理会做我需要的事情。

那么,我想知道是否可以将模型工作表用作 UDF?考虑到一些输入假设,UDF 需要吐出月收入和唯一用户数。

然后,我可以为 10 个属性创建自己的摘要表,并使用每个属性的总唯一性来获取网络的摘要。该网络摘要将用于确定可以吸引多少人推出新物业。

实际上,与场景管理器的唯一区别是,我需要根据启动时网络中的人数以编程方式生成我的一个输入变量(初始用户)。

我希望它可以在 excel 中实现这些方面的目标。我可以下拉并用 Java 创建整个模型,但与业务同事共享要困难得多!

谢谢 - 马特。

【问题讨论】:

【参考方案1】:

你可以试试数据表。 它只允许您分析变化 2 个输入参数的效果,但您可以创建多个数据表,每个参数可以取数百个不同的值。 从 Excel 3.0 开始,它鲜为人知,但高效且可用。

【讨论】:

【参考方案2】:

有一个我研究过但从未使用过的产品——搜索 calc4web。它需要一张公式并生成可编译为 XLL 加载项的代码 (C++)。然后你可以调用一个函数来完成你的工作表所做的事情。但是当然,您有一个 XLL 要分发,并且每次更改逻辑时都有一个构建步骤,这在很大程度上破坏了使用电子表格的意义。

就我而言,我最终编写了一些非常简单的 VBA 代码来使用场景管理器改变我的工作表“输入”,并捕获我的“输出”。如果您有一批输入,您可以将宏指向并逐步执行,则此方法有效。

编辑:

请参阅此处以获取仅 VBA 的执行此操作的示例:

using a sheet in an excel user defined function

【讨论】:

以上是关于excel工作表可以用作UDF吗?的主要内容,如果未能解决你的问题,请参考以下文章

Excel UDF 对变量工作表的范围求和

在 Excel 中使用 UDF 更新工作表

从工作表将二维数组传递给 VBA/UDF 函数

Excel UDF 在已关闭的工作簿中引用表以进行查找

excel UDF在工作表中使用时不起作用

MS Query 14 将 Excel 工作表中的数据用作查询的一部分