首页 文章

如何在Excel 2010中引用动态可扩展/可收缩的Excel表?

提问于
浏览
1

我们的系统使用模板电子表格,每个模板有两个表格,Data和RawData . RawData包含excel表,其中包含由应用程序填充的数据 . 用户负责根据RawData表中的数据创建所需的报表(在数据表上) . 现在,表中的数据可能会有所不同,一个表今天可以有5行,第二天它可以有10行 .

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

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

谢谢

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

2 回答

  • 0

    目前,除非我使用数据透视表或使用某些假设(使用表不能超过某个已知行数的知识),否则不可能按我的意愿行事 .

  • 1

    您是否在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) 它会返回动态范围的值

    *您可以将MAXTA中的COUNTA包装成“MAX(1,COUNTA($ A:$ A))”,以防止表格中没有数据时出现参考错误

相关问题