我很擅长excel,发现它有点棘手,所以任何帮助都会受到赞赏!
我有一张主表,人们会输入数据。在这个主表中,我使用了IF语句将相关列复制到工作簿中的另一个表。 (不确定这是不是最好的方式)。
因此,当一个新的数据行输入到主表时,这会在另一个表中创建一个新行,因为它显示了在主表中输入的内容。这可以说是建立一个子表。从这个子数据(无论是否转向表)我想创建数据透视表。
问题: 如果将子数据转换为表,则在主表中输入新数据时子表不会扩展。 尝试另一种方式,而不创建包含子数据的表我尝试使用OFFSET创建动态范围。但是,当从主工作表中删除条目时,这将在用于创建数据透视表的动态范围中创建一个空行。
任何帮助将不胜感激!我已经研究过OFFSET,MATCH,VLOOKUP,虽然我确实了解了这些功能可以实现的目标,但它有点令人困惑。
提前致谢!
答案 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上的输出,因为间接引用只会从所有位置移动的位置查找新值。
然后,您应该可以非常轻松地转动结果数据集。
那就是说...当你制作一个数据透视表时,你可以选择你所包含的列,这样你就可以从原来的巨型表中转出,并排除你对总结不感兴趣的任何列。