从Excel数据表中提取公式(假设分析)

我正面临在R中重写一个Excel项目。我看到一个表格,其中显示了一个单元格{= TABLE(F2,C2)} 。 我明白如何创build这样的表(假设分析,数据表…)。

因为我必须理解这个在R中重写,我怎样才能find站在这个单元之后的原始公式

示例:我已经创build了一个数据表,如下所示,工作表如下所示:

SO32606771问题的例子

就我而言,我不知道表单是如何创build的,我想知道最初的公式。 现在显示为{=TABLE(,C4)} 。 (在这个例子中,我知道答案是在单元格中(D10),但是数据表格中这个单元格的引用在哪里?)

我正在使用Excel 2007,但没有理由相信在其他版本中有所不同。

@斯坦尼斯拉夫是正确的拒绝我的意见build议,表是一个名字; 这是一个EXCEL函数。 但这是一个非常奇怪的function: – }

  • 本地帮助中的TABLE函数没有任何帮助,它没有在“工作表函数列表(按字母sorting)”中列出。
  • 您不能手动input或编辑TABLE函数; 错误“该function无效”。
  • 即使在指定select性粘贴>公式时,包含TABLE函数的复制/粘贴单元也会粘贴其值,而不会粘贴它们的公式
  • 您不能在包含TABLE函数的单元格的上方/左边插入行/列; 错误“无法更改数据表的一部分”。
  • 使用Formulas> Formula的Pace @pnuts包含TABLE函数的Auditing单元格显示没有先例,没有单元格将它们显示为依赖项。 尽pipe在使用Range.DirectDependents属性的VBA工作表审计工具中,发现“公式范围”取决于包含公式的“边距”单元格,而不是包含这些值的那些单元格(请参阅下面的解释这些术语)。

我还没有find任何我认为是TABLE()的体面文件。 我已经find了很多关于如何生成和使用这个函数的例子,但没有明确地说明这个论点和结果。 我find的最好的是https://support.office.com/zh-cn/article/Calculate-multiple-results-by-using-a-data-table-e95e2487-6ca6-4413-ad12-77542a5ea50b 。 如果有人能指出我更好的文档,我会很高兴。

我推断这里描述的bahaviour:

TABLE(Rowinp,Colinp)是一个连续数组单元格中的数组公式。 我将引用该连续数组作为数据表的“公式范围”。 公式范围上方/左边的单元格也是数据表的一部分,即使它们不包含TABLE()函数并且可以编辑。 我将这些单元格称为数据表格的“边距”。

Rowinp和Colinp必须是空白的或引用单个单元格。 Rowinp和Colinp必须不同(或者错误“input单元格引用无效”),它们不能同时为空。

公式范围内的值是通过从边距(s)中取出公式并用边距(s)中的值replace对Rowinp和/或Colinp的引用来计算的。

有三种相互排斥的可能性,对应Rowinp是否空白。

  1. TABLE(Rowinp,)Colinp空白。 该公式是在Rowinp实例的同一行的左边距中,由同一列的上边距中的值replace。
  2. TABLE(,Colinp)Rowinp空白。 公式是在Colinp实例的同一列的顶部空白处,用同一行的左侧空白处的值代替。
  3. TABLE(Rowinp,Colinp)既不是空白。 公式是在Rowinp实例的左边界和上边界的交叉处的单元格中,同一列的上边距中的值replace为Colinp的实例,同一行的左边距中的值replace为Colinp的实例。

我认为应该让你计算出公式范围内每个单元格的有效公式。

但是我不会感到惊讶的是,上述任何一个都是错误的:-0
我欢迎任何更权威的指针。

我认为在你的例子中, F2C2实际上只是一个函数( TABLE )的参数地址,可能位于任何地方,相关公式在表格的左上方。

所以我build议去C2 ,FORMULAS> Formula Auditing,然后点击Trace Dependents,重复F2 ,看看箭头收敛的地方。