将数据透视表中的值复制到特定单元格中的表格

我有一些数据显示在数据透视表中,我从当前的数据透视表中复制并粘贴到当前date的另一个表中,每天完成这个过程需要大约1个小时的操作数,我正在尝试做一个macros观的,这将帮助我在更短的时间内完成这个过程

这是我在其中复制数据的数据透视表

数据透视表

这里是我粘贴的地方(在这张表中我用它来创build一些图)

在这里输入图像说明

两张表都由许多不同的操作数组成,你可以想象这是非常乏味的。

任何帮助或想法,可以帮助我解决这个赞赏,我愿意尝试一些其他的select,如fomulas,VBA (首选) ,甚至closedxml的C#。

我不知道如果我解释我的自我? 这是我的逻辑。

  1. 查找操作号码
  2. 复制“Sx”
  3. 在其他表格中查看相同的操作编号。
  4. 在相应的date粘贴值。
  5. find与下一个“Sx”相同的操作号

  6. 结束

现在我只关注Operation1,因为在Operation2中我使用另外一张表单来做同样的事情。 (可能会使用与Operation1相同的代码)。

为了澄清我并不是要求某人给我解决scheme(虽然这是表示赞赏),但任何指南都是有帮助的。

你不需要VBA来做到这一点。 使用GETPIVOTDATA

考虑下面的复制数据:

在这里输入图像说明

在上面的示例中,我将一些数据复制到了屏幕截图中,并将它们放在同一张表中,并将其放在下面。 然后我使用GETPIVOTDATA 。 我觉得我需要告诉你如何完成,即使在我发布的链接中有很好的解释。

所以我们使用这个公式:

= GETPIVOTDATA(“总和”和$ I18,$ I $ 2,“Date”,J $ 17,“Opt”,$ I $ 16,“Id”,$ J $ 16)

Cell J14 。 请注意,我们使用的是实际的date,而不是在目标表上使用第1天,第2天..等 。 为什么? 因为我们需要在我们的GETPIVOTDATA公式中。 然后将公式复制到其余的单元格中。

结果:

在这里输入图像说明

现在,如果GETPIVOTDATA找不到与您提供的条件相匹配的任何内容,那么您可能需要使用IFERROR语句来合并error handling。

最终公式:

= IFERROR(GETPIVOTDATA(“Sum of”&$ I18,$ I $ 2,“Date”,J $ 17,“Opt”,$ I $ 16,“Id”,$ J $ 16)

虽然你更喜欢VBA,但是我认为比你内置的Excelfunction更好的方法更适合你的情况。