我遇到了一个可能无法实现的 Excel 问题。我有一个工作簿,其中包含带有各种项目的工作表列表,例如“项目 1”是一个选项卡,“项目 2”也是一个选项卡等。我现在需要将项目汇总到摘要页面中,如果将另一张工作表添加到工作簿中,该摘要页面可以自动将新行添加到摘要中 - 链接其他数据,例如项目成本等。
假设我有一个列出项目标题和成本的摘要页面,我可以与之链接=但是这个表是为没有太多 Excel 知识的人设计的,因此理想情况下,他们应该能够复制/粘贴模板,填写一些信息并将总数添加到摘要页面,这可以用原始 Excel 来实现吗?
答案1
并不是说这比 Power Query 或 VBA 更适合您的情况(如果您愿意的话,它是“笨拙的”......一种蛮力方法),但是至于每页都有一行与标签格式匹配,并且在它们下面有一个总数,但大概这两者之间没有 300 条空白行,您可以使用一种简单的方法来克服这个问题。
这个想法与旧的“如何搜索一个范围,但允许增加范围大小?”问题有关。假设您目前有 50 个这样的页面,并且每个月将有 5-10-15 个页面添加到列表中。只要选项卡名称必须遵循某种模式和顺序,您只需使用一组公式来构建摘要页面,这些公式会在 400 张表中查找信息,这样就比现在多得多,并且足够在未来一段时间内使用。
为了避免在引用不存在的工作表的行中出现烦人的错误消息,请使用IFERROR
将其清空,这样您将得到一个又大又长的空白部分。不过,这仍然会留下空白。
相反,使用 测试错误IFERROR
。如果该(最终)工作表的摘要行中的第一个单元格出现错误,则使用IF
测试正上方的列单元格。如果该单元格的内容与其查找(此处重复,未引用!)生成的内容匹配,则此行将获取摘要行的公式以获得其 TRUE 输出。如果没有,那么你知道它引用的工作表不存在并且摘要行不应该放在这里,然后清空单元格(例如使用""
)。
右侧一行中的单元格的强度较低,因为它们可以查看第一个单元格以获取指导。
因此,存在的工作表将有一行,其公式显示相应的数字。第一行查找不存在的工作表时,汇总公式将处于活动状态。活动数据下方有漂亮的汇总。其他行中将有空白,看起来很漂亮,很空。
这相当可靠,因为人们可以通过展示他们如何错误地命名工作表来揭露批评者的污点。然后通过简单的重命名来修复它。
但是,如果您可以选择使用 Power Query,那么您不会自豪地指出这个解决方案。而且由于 Power Query 的所有或大部分工作似乎都可以用鼠标而不是键盘完成(无需到处编写 SQL),我建议使用它!启动快速宏录制器宏来更新表格,并按下按钮来触发宏,您看起来会非常聪明。
但是,作为一件快速的事情(改进总是可以稍后进行...除非您的组织不愿意为了寻求更好的结果而“影响成功”)和一件简单的事情,尽管这可能很笨重,但它还是有用的。
可惜他们不想要简单的求和,而是列出所有工作表及其相应信息,然后求和,因为这样你就可以使用一种古老的技术,将一张工作表(可能命名为“开始”)放在所有要求和的页面之前,将一张工作表(可能命名为“结束”)放在所有页面之后,然后写出如下公式:
=SUM( 'Start'!A1:'End'!A1 )
并巧妙地捕捉两者之间的所有内容,无论名称如何。如果可以可靠地将新工作表保留在第一个和最后一个(占位符,本身永远不会包含内容)工作表之间,那么新工作表只是 Excel 将查看的工作表列表中的新添加项,但您永远不需要明确让 Excel 知道这些添加项。小菜一碟。但这不是你的情况,所以……除非它可以变成它?