1

我们的系统使用模板电子表格,每个模板有两张表,Data 和 RawData。RawData 包含由应用程序填充数据的 excel 表。用户负责根据 RawData 表中的数据创建他们想要的报告(在数据表上)。现在,表中的数据可以变化,一个表今天可以有 5 行,第二天可以有 10 行。

如果在 RawData 上我有 Table1 和 column1,我将如何引用数据表上此列中的数据,以说明 Table1 中数据的增长/收缩?

我以为我可以使用数组公式和引用并使用数组公式 {=Table1[column1]} 但是当我定义它时,我总是必须指定固定数量的行。似乎无法指定数组公式将扩展到的行数/列数并从公式中派生该数字,类似于动态范围的工作方式。如果我也选择了可能的行,则数组公式会将 #NA 值放在超出可用项目的单元格中。

谢谢

PS。使用 VBA 不是一种选择。

4

2 回答 2

1

目前,不可能做我想做的事,除非我求助于数据透视表或利用一些假设(使用表不能超过某个已知行数的知识)。

于 2012-08-10T17:22:47.530 回答
0

您是否尝试过 NamedRange 公式条目中的 OFFSET 函数?您可以将表格放在自己的工作表中并使用它。您只需要确保您的高度和宽度参考中始终包含数据*。

=OFFSET(Reference, Rows, Cols, Height, Width)
Reference = Start of your table
Rows = 0 - no offset
Cols = 0 - no offset
Height = COUNTA($A:$A) - counts the number of entries in column A
Width = COUNTA($6:$6) - counts the number of entries in row 6

如果我将此命名范围称为“testrange”,那么我可以去一个单元格并说它=rows(testrange)会返回动态范围的值

*您可以像这样“MAX(1,COUNTA($A:$A))”将您的 COUNTA 包装在 MAX 中,以防止表中没有数据时出现引用错误

于 2013-01-28T16:12:45.827 回答