我们的系统使用模板电子表格,每个模板都有两张表格,Data和RawData。 RawData包含excel表,其中包含由应用程序填充的数据。用户负责根据RawData表中的数据创建所需的报表(在数据表上)。现在,表中的数据可能会有所不同,一个表今天可以有5行,第二天它可以有10行。
如果在RawData上我有Table1和column1,那么我如何以一种能够解释Table1中数据增长/收缩的方式在数据表中引用此列中的数据?
我以为我可以使用数组公式和引用并使用数组公式{= Table1 [column1]}但是当我定义它时,我总是必须指定固定数量的行。似乎无法指定数组公式将扩展到的行数/列数,并从公式中获取此数字,类似于动态范围的工作方式。如果我也选择了行,则数组公式将#NA值放在超出可用项的单元格中。
由于
PS。使用VBA不是一种选择。
答案 0 :(得分:1)
目前,除非我使用数据透视表或使用某些假设(使用表不能超过某个已知行数的知识),否则无法按照我的意愿行事。
答案 1 :(得分: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
如果我将此命名区域称为“测试范围”,那么我可以转到一个单元格并说=rows(testrange)
它将返回动态范围的值
*您可以将MAXTA中的COUNTA包装成“MAX(1,COUNTA($ A:$ A))”,以防止表格中没有数据时出现参考错误