EXCEL HELP(无VBA) - 动态范围和偏移量/ vlookup

时间:2015-05-13 13:27:55

标签: excel

我很擅长excel,发现它有点棘手,所以任何帮助都会受到赞赏!

我有一张主表,人们会输入数据。在这个主表中,我使用了IF语句将相关列复制到工作簿中的另一个表。 (不确定这是不是最好的方式)。

因此,当一个新的数据行输入到主表时,这会在另一个表中创建一个新行,因为它显示了在主表中输入的内容。这可以说是建立一个子表。从这个子数据(无论是否转向表)我想创建数据透视表。

问题: 如果将子数据转换为表,则在主表中输入新数据时子表不会扩展。 尝试另一种方式,而不创建包含子数据的表我尝试使用OFFSET创建动态范围。但是,当从主工作表中删除条目时,这将在用于创建数据透视表的动态范围中创建一个空行。

任何帮助将不胜感激!我已经研究过OFFSET,MATCH,VLOOKUP,虽然我确实了解了这些功能可以实现的目标,但它有点令人困惑。

提前致谢!

2 个答案:

答案 0 :(得分:0)

这个特殊的组合用于摆弄范围,例如验证和复杂的查找 他们会帮助解决您的问题 当新数据输入到相邻单元格时触发范围扩展,而不是在其现有条件变得可识别时触发 =OFFSET()用于摆弄范围 MATCH(...,0)找到字符串的第一个匹配项,在您的情况下缺少字符串 如果您实际上可以将Pivot表设置为间接引用,则此公式将是您的解决方案:

=OFFSET(YourSheet!$A$1,0,0,MATCH("",YourSheet!$A:$A,0)-1,MATCH("",YourSheet!$1:$1,0)-1)

其中A1 YourSheet包含类似

的内容
=IF(IncrementalDataSheet!A1<>"",IncrementalDataSheet!A1,"")

答案 1 :(得分:0)

我想我理解你所遇到的问题。如果您在Sheet1中的A:Z中有数据,并且您只希望在更具视觉吸引力的Sheet2上看到A,T和Y列,那么最初的想法是将=Sheet1!A1放入Sheet2上的A1, =Sheet1!T1进入B1,=Sheet1!Y1进入C1。将范围向下复制到需要的位置以显示Sheet1和Bingo中的数据!一个很好的整洁版本。

但是等等......如果从Sheet1中删除一行,则Sheet2中引用的单元格现在只显示#REF! ...嘘......这没有用。

因此,您可以使用INDIRECT函数来确保生成的值始终相对于目标单元格的地址,而不是使用直接单元格引用。

在Sheet2中你会放:

A1 =INDIRECT("Sheet1!"&(CELL("address",A1)))
B1 =INDIRECT("Sheet1!"&(CELL("address",T1)))
C1 =INDIRECT("Sheet1!"&(CELL("address",Y1)))

然后复制下来。乍一看它看起来就像原始结果一样,不同之处在于您现在可以从Sheet1中删除行而不会损害Sheet2上的输出,因为间接引用只会从所有位置移动的位置查找新值。

然后,您应该可以非常轻松地转动结果数据集。

那就是说...当你制作一个数据透视表时,你可以选择你所包含的列,这样你就可以从原来的巨型表中转出,并排除你对总结不感兴趣的任何列。