我一直试图解决这个问题,尽管我已经找到了部分答案,但我还没有找到完整的解决方案。
以下是事实:
基本上我想这样做,以便在主列表中手动更新审核,Excel会自动将行复制/粘贴到相应部门表中的下一个空行,具体取决于D列中标识的所有者/部门和即
非常感谢任何帮助!
答案 0 :(得分:0)
数据透视表是此任务的最佳选择。它们允许您使用标签或类别快速汇总数据,并允许使用可以使数据更容易使用的切片器。
有许多方法可以设计数据透视表,但是由您决定什么最适合您的审美。我的建议是首先将您的主人格式化为表格(如果它还没有),然后命名它(All_Audits_Master将是一个好名字)。然后在主列表中添加一个计算两个组的列。例如,公式看起来像:
=If(OR([Primary Department]="Department1", [Secondary Department]="Department1"), "Department1", If(Or([Primary Department]="Department2", [Secondary Department]="Department2"), "Department2", "")
此公式最初可能看起来很复杂,但它所做的只是使用列名[Some Name]
来检查值,并适当地标记计算列。如果记录不属于任何一个部门,则返回一个空白字符串。
一旦你有了这个专栏(一定要把它放在最后,这样就不会干扰你的数据粘贴),你只需要两个数据透视表。第一个将使用Department1
的过滤器,Department2
的第二个过滤器。
从那里开始,我会将您想要的每个列放在Rows
字段中。如果要总结任何内容,也可以使用值。例如,您可以将Count
RecordID
放入Values
以按部门计算记录数。
最终会有一些学习数据透视表的前期时间成本,但我向你保证,如果你还不能使用数据透视表,你不会想要搞乱VBA。我花了几个月的时间在VBA中学习数据透视表可以在几分钟内完成的事情。此外,一旦你更彻底地学习了Pivot,在VBA中有更多的概念是有意义的(并且可供你使用)。
如果您是一位更直观的学习者,请查看本教程以开始使用:https://www.youtube.com/watch?v=peNTp5fuKFg。
编辑:唯一需要注意的是数据透视表不会自动更新。你有两个选择:
让用户在更新主数据库(数据>刷新或全部刷新)后刷新数据透视表,或者编写一个处理它的宏(使用事件,但不建议这样做,除非作为最后的手段)。