动态查找数据透视表中的相应元素

时间:2016-08-16 17:37:49

标签: excel excel-vba macros vba

目前我有一个表格

的数据透视表
Employee No.   Hours
101010         150
12456          140
 etc           etc

现在我有另一个电子表格,目前看起来像这样

Employee No. Name  Level Organization Code Manager Organization Code etc
101010       Bob    CP3    etc         etc   etc        etc
12456        Jane   CP2    etc         etc   etc        etc

第二张表格会自动从第三方软件中提取。不幸的是,它也没有拉动该员工的工作时间。此报告有时也会每月在不同的订单中混淆员工编号,因此我需要一些动态,同时匹配员工编号,透视表中的员工编号为No。

例如假设我们有

Employee No. Name  Level Organization Code Manager Organization Code etc
101010       Bob    CP3    etc         etc   etc        etc

然后宏应该在数据透视表中查找我们所在行的给定行的员工号。基本上它会将101010保存在内存中,并循环遍历数据透视表。找到匹配的员工编号,并添加另一列标记为小时的列,该列包含该行的相应小时。

所需的电子表格看起来像

Employee No. Name  Level  Hours  Organization Code Manager Organization Code etc
101010       Bob    CP3    150         etc         etc   etc        etc
12456        Jane   CP2    140        etc         etc   etc        etc

我将如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

用“Eno”代替“员工编号”假设我们在第2行,数据透视表位于A列中的AA1和Eno,在“小时”列中插入公式=GETPIVOTDATA("Hours",$AA$1;"Eno",A2)

Formula row shows J6