【问题标题】:I need to dynamically reference from one excel workbook to another我需要从一个excel工作簿动态引用到另一个
【发布时间】:2019-09-03 18:10:12
【问题描述】:

我有一个名为“发票”的 Excel 工作簿,其中包含大约 35 名员工的发票模板。从外观上看,所有的工作表都是相同的,除了雇主、工资率、姓名等。每个员工在此工作簿中都有不同的工作表。

此外,我每周都会收到大约 120 名员工的“主考勤卡报告”,我必须每周将其下载为单独的 Excel 工作簿。这些员工中的每一个都有一个单独的工作表。 “主时间卡报告”中的数据必须传输到“发票”工作簿上的模板。我一直在手动执行此操作,并且一直试图在 Excel 中找到一种方法来动态引用“发票”工作簿中“主时间卡报告”工作簿中的工作表。

问题在于“主考勤卡报告”上的单元格地址会发生变化,具体取决于多种因素。一周,任何特定员工的总小时数可能在单元格“T50”中,然后下周他们可能在单元格“T43”中(他们从不更改列)。此外,工作表的名称可能会从“Sheet1”更改为“Sheet3”,因为添加了新员工或下岗。

我已经进行了大量的研究,但似乎无法找到一种方法来做到这一点。

这是我目前使用的公式:

=INDIRECT("'[Mastetimecardreports.xlsx]*'!B"&MATCH($D18,[Mastetimecardreports.xlsx]Sheet1:Sheet129!$B:$B,0)+1)

我的目标是在“发票”工作簿中的各自工作表上输入员工的姓名,并在“主考勤卡报告”工作簿中找到该姓名,并从工作表中为该员工提取数据。我想动态地执行此操作,因为单元格地址和工作表总是会发生变化。

【问题讨论】:

  • PowerQuery 研究。如果您希望人们在这里帮助您,还可以添加一些示例以及您想要的结果

标签: excel vba dynamic reference excel-indirect


【解决方案1】:

您可能会从数据架构重组中受益匪浅。每当我读到像Each employee has a different sheet within this workbook 这样的东西时,我的警钟就会响起。为什么要这么做?为什么要将数据分布在多个工作簿中,并将这些工作簿内的数据分散到多个工作表中?这就是您难以汇总数据的原因。使用一个工作簿和一个工作表来存储数据。如果您的数据收集在不同的文件中,Power Query 可用于创建 ONE 数据文件。然后,您可以轻松地根据该数据文件创建报告。

【讨论】:

  • 我很乐意这样做。但我从外部来源获取每周数据,每个员工必须在不同的工作表上,因为我必须分别制作所有工作表的 PDF。
  • 再一次,没有必要粗鲁和居高临下。我习惯于用 R 和 JavaScript 编程。我不使用 Excel,我正在完成的任务是在 Excel 中。你变得真实。
  • 我不知道你为什么一直说我“粗鲁”。如果您不需要帮助,请不要在提供帮助的网站上发帖。我试图为您提供一些关于经过验证的良好数据架构的建议。使用 Excel 的现代工具(如 Power Query),您可以塑造糟糕的数据源并将其转变为有用的数据源。如果说得罪了你,我真的很抱歉。
猜你喜欢
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 2011-03-14
相关资源
最近更新 更多